Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > >
Восстановить пароль Регистрация
 
KM-CI
Новичок
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 6
25.07.2012, 16:54     Создание отчета в 1С Предприятие 8.2   #1
Вообщем нужно выполнить такой отчет: Дан справочник Спецификация, в нем есть раздел входные изделия и табличная часть исходные комплектующие. Из основной части я выбираю наименование спецификации в форме, по ней из раздела входные изделия выбираю наименование номенклатуры в форму вывожу (это получилось). Теперь мне необходимо в форме выбрать характеристику к номенклатуре. Есть справочник Номенклатура в ней табличная часть состоит из 14 вкладок одна из которых характеристика, вот из нее я уже не знаю как выбрать... Это первое. Второе: На основании выбранных в форме спецификации, номенклатуре и характеристики я должна выбрать из справочника Спецификация из табличной части Исходные комплектующие необходимые позиции.. Как это сделать ума вообще не приложу... Модуль форма по выбору спецификации, номенклатуры и характеристики что есть:
Код 1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Процедура ПолеВвода1ПриИзменении(Элемент)
     Запрос = Новый Запрос;
     Запрос.УстановитьПараметр("Спецификация",Справочники.СпецификацииНоменклатуры.НайтиПоНаименованию(ПолеВвода1));
     Запрос.Текст = 
"ВЫБРАТЬ
|     СпецификацииНоменклатурыВыходныеИзделия.Номенклатура КАК Номенклатура,
|ИЗ
|     Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК СпецификацииНоменклатурыВыходныеИзделия
|ГДЕ
|     СпецификацииНоменклатурыВыходныеИзделия.Ссылка = &Спецификация";
 
Результат = Запрос.Выполнить();     
Выборка = Результат.Выбрать();
 
Пока Выборка.Следующий()цикл 
     ПолеВвода2 = Выборка.Номенклатура;
 КонецЦикла;
КонецПроцедуры
 
Процедура ПолеВвода2ПриИзменении(Элемент)
     Запрос = Новый Запрос;
     Запрос.УстановитьПараметр("Номенклатура",Справочники.Номенклатура.НайтиПоНаименованию(ПолеВвода2));
     Запрос.Текст =
 "ВЫБРАТЬ
 |     СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Наименование КАК Спецификация,
 |     СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Активная,
 |ИЗ
 |     Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК СпецификацииНоменклатурыВыходныеИзделия
 |ГДЕ
 |     СпецификацииНоменклатурыВыходныеИзделия.Номенклатура.Ссылка = &Номенклатура";
 
РезультатЗапроса = Запрос.Выполнить();     
Выборка = РезультатЗапроса.Выбрать();     
Пока Выборка.Следующий()Цикл
     Если Выборка.Активная = Истина Тогда
          Сообщить("Активная спецификация для данной номенклатуры " + Выборка.Спецификация);
     КонецЕсли;
КонецЦикла;
КонецПроцедуры
Во втором случае, когда я выбираю Спецификацию при изменении номенклатуры я вывожу сообщение по тому что в форму в объект ПолеВвода1 данные не берутся по активной спецификации.
AdAgent
Объявления
25.07.2012, 16:54    Создание отчета в 1С Предприятие 8.2
Fenomen
Форумчанин
894 / 871 / 8
Регистрация: 15.03.2012
Сообщений: 2,681
25.07.2012, 18:25     Создание отчета в 1С Предприятие 8.2   #2
1. Какая конфигурация?
2. Объясните нормально что Вам нужно вывести в отчет, или пример отчета покажите.
KM-CI
Новичок
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 6
26.07.2012, 10:00  [ТС]     Создание отчета в 1С Предприятие 8.2   #3
1. 1С:Предприятие 8.2 (8.2.15.318)
2. Создана форму, на ней три поля выбора: спецификация, номенклатура и характеристика. Необходимо что бы при выборе спецификации выходила номенклатура (это я сделала). При выборе номенклатуры выходила активная спецификация (это у меня тоже получилось, правда, выводит не в форму, а в виде сообщения). Теперь стоит такая задача, при выборе характеристики, должны открываться данные в зависимости от выбранной номенклатуры. Они находятся на вкладке в справочнике Номенклатура. В справочники Характеристики перечислены все возможные, но не все есть у каждой номенклатуры. Т.е. должна открываться форма характеристик данной номенклатуры. Как я понимаю нужно прописать код при изменении, но какой, прочитала учебники, ответа не нашла.
Fenomen
Форумчанин
894 / 871 / 8
Регистрация: 15.03.2012
Сообщений: 2,681
26.07.2012, 10:50     Создание отчета в 1С Предприятие 8.2   #4
Цитата Сообщение от KM-CI Посмотреть сообщение
1. 1С:Предприятие 8.2 (8.2.15.318)
Это платформа, а не конфигурация.

Цитата Сообщение от KM-CI Посмотреть сообщение
Т.е. должна открываться форма характеристик данной номенклатуры.
Установить для поля связь по владельцу (Правой кнопкой на поле - свойства).
KM-CI
Новичок
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 6
26.07.2012, 11:09  [ТС]     Создание отчета в 1С Предприятие 8.2   #5
Управление производственным предприятием, редакция 1.3 (1.3.24.2)
Да, спасибо, работает.
Еще вопрос по этой же программе (модуль приведен выше): Две процедуры при изменении, в первой данные номенклатуры выводятся в поле ввода при изменении спецификации, во втором случае могу вывести только сообщение, так как строка ПолеВвода1 = Выборка.Спецификация; не дает нужного результата. В чем может быть ошибка?
AdAgent
Объявления
26.07.2012, 11:09    Создание отчета в 1С Предприятие 8.2
Fenomen
Форумчанин
894 / 871 / 8
Регистрация: 15.03.2012
Сообщений: 2,681
26.07.2012, 11:49     Создание отчета в 1С Предприятие 8.2   #6
Судя вот по этому:
Код 1C
1
Запрос.УстановитьПараметр("Спецификация",Справочники.СпецификацииНоменклатуры.На йтиПоНаименованию(ПолеВвода1));
У вас ПолеВвода1 - текстовое, а должно быть СправочникСсылка.Спецификации.
KM-CI
Новичок
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 6
26.07.2012, 13:06  [ТС]     Создание отчета в 1С Предприятие 8.2   #7
ПолеВвода1 – в свойствах тип справочник.ссылка.спецификация
ПолеВвода2 – так же справочник.ссылка, но номенклатура.
При изменении ПолеВвода1 в ПолеВвода2 выводится соответствующая номенклатура. При изменении ПолеВвода2 в ПолеВвода1 должна выводится соответствующая спецификация, но этого не происходит, по этому я вывела виде сообщения. Возможно ли сделать так что бы выводилось в поле ПолеВвода1 данные, вместо сообщения?
Fenomen
Форумчанин
894 / 871 / 8
Регистрация: 15.03.2012
Сообщений: 2,681
26.07.2012, 14:48     Создание отчета в 1С Предприятие 8.2   #8
Цитата Сообщение от KM-CI Посмотреть сообщение
ПолеВвода1 – в свойствах тип справочник.ссылка.спецификация
Если это так, то это
Запрос.УстановитьПараметр("Спецификация",Справочники.СпецификацииНоменклатуры.На йтиПоНаименованию(ПолеВвода1));
нужно заменить на:
Код 1C
1
Запрос.УстановитьПараметр("Спецификация",ПолеВвода1);
СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Наименование КАК Спецификация,
Выбираете наименование и пытаетесь поместить его в значение типа СправочникСсылка. Уберите ".Наименование" и будет Вам счастье.
KM-CI
Новичок
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 6
26.07.2012, 14:57  [ТС]     Создание отчета в 1С Предприятие 8.2   #9
Эта часть у меня работает, все нормально. У меня вторая часть не работает:
Процедура ПолеВвода2ПриИзменении(Элемент)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Номенклатура",Справочники.Номенклатура.НайтиПоНаименованию(ПолеВвода2));
Запрос.Текст =
"ВЫБРАТЬ
| СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Наименование КАК Спецификация,
| СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Активная,
|ИЗ
| Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК СпецификацииНоменклатурыВыходныеИзделия
|ГДЕ
| СпецификацииНоменклатурыВыходныеИзделия.Номенклатура.Ссылка = &Номенклатура";

РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий()Цикл
Если Выборка.Активная = Истина Тогда
ПолеВвода1 = Выборка.Спецификация;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
В этом случае поле ввода остается пустым
Fenomen
Форумчанин
894 / 871 / 8
Регистрация: 15.03.2012
Сообщений: 2,681
26.07.2012, 15:10     Создание отчета в 1С Предприятие 8.2   #10
Цитата Сообщение от KM-CI Посмотреть сообщение
Эта часть у меня работает, все нормально
Это не значит, что код должен быть не правильный.


Цитата Сообщение от KM-CI Посмотреть сообщение
У меня вторая часть не работает:
Я уже ответил. Вы выбираете наименование спецификации:
ВЫБРАТЬ
| СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Наименование КАК Спецификация,
А должны выбирать ссылку!
Цитата Сообщение от Fenomen Посмотреть сообщение
Уберите ".Наименование" и будет Вам счастье.
Добавлено через 42 секунды
Цитата Сообщение от KM-CI Посмотреть сообщение
Запрос.УстановитьПараметр("Номенклатура",Справочники.Номенклатура.НайтиПоНаимено ванию(ПолеВвода2));
И вот это тоже исправьте!
KM-CI
Новичок
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 6
27.07.2012, 15:15  [ТС]     Создание отчета в 1С Предприятие 8.2   #11
Спасибо, работает!!!

Добавлено через 52 секунды
Спасибо, работает!

Добавлено через 23 часа 40 минут
Еще вопрос, по этому же отчету. Дело в том, что когда выбирается характеристика, она получается составная из значения свойства и характеристики, мне необходимо по значению свойства отобрать данные. Возможно ли, вытащить наименование свойства их характеристики? Т.е. например идет свойство КОМ и характеристика белая, в форме они пишутся через запятую.
Yandex
Объявления
27.07.2012, 15:15    Создание отчета в 1С Предприятие 8.2
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему
Опции темы

Текущее время: 17:03. Часовой пояс GMT +4.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.