1С-Предприятие 8.0. Практическое пособие разработчика

Доработка документа ПриходнаяНакладная


Последнее, что нам осталось – доработать документ "ПриходнаяНакладная". Для того чтобы при приходовании товаров пользователь мог указывать набор свойств для каждого приходуемого материала, добавим в табличную [271] часть документа новый реквизит "НаборСвойств" с типом СправочникСсылка.ВариантыНоменклатуры:

После этого расположим этот реквизит в табличном поле формы документа (правая кнопка мыши– Размещение данных):

Для поля ввода, расположенного в колонке "НаборСвойств" снова воспользуемся свойством "Связь по владельцу" ЭлементыФормы.Материалы.ТекущиеДанные.Материал. Теперь при выборе в этом поле ввода будет всегда открываться список [272] элементов справочника "ВариантыНоменклатуры", подчиненных материалу, выбранному в колонке "Материал".

В заключение откроем процедуру обработки проведения в модуле документа и добавим к формируемым движениям присвоение значения измерению "НаборСвойств":

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ



   // Данный фрагмент построен конструктором.

   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

   Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

       // регистр ОстаткиМатериалов Приход

       Движение = Движения.ОстаткиМатериалов.Добавить();

       Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

       Движение.Период = Дата;

       Движение.Материал = ТекСтрокаМатериалы.Материал;

       Движение.НаборСвойств = ТекСтрокаМатериалы.НаборСвойств;

       Движение.Склад = Склад;

       Движение.Количество = ТекСтрокаМатериалы.Количество;

   //КонецЦикла;

   //Для Каждого ТекСтрокаМатериалы Из Материалы Цикл




       // регистр СтоимостьМатериалов Приход

       Движение = Движения.СтоимостьМатериалов.Добавить();

       Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

       Движение.Период = Дата;

       Движение.Материал = ТекСтрокаМатериалы.Материал;

       Движение.Стоимость = ТекСтрокаМатериалы.Сумма;

   КонецЦикла;

   // записываем движения регистров

   Движения.ОстаткиМатериалов.Записать();

   Движения.СтоимостьМатериалов.Записать();

   //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

Теперь запустим 1С:Предприятие в режиме отладки и создадим несколько наборов свойств для наших материалов.


Содержание раздела