Доработка документа ПриходнаяНакладная
Последнее, что нам осталось – доработать документ "ПриходнаяНакладная". Для того чтобы при приходовании товаров пользователь мог указывать набор свойств для каждого приходуемого материала, добавим в табличную [271] часть документа новый реквизит "НаборСвойств" с типом СправочникСсылка.ВариантыНоменклатуры:
После этого расположим этот реквизит в табличном поле формы документа (правая кнопка мыши– Размещение данных):
Для поля ввода, расположенного в колонке "НаборСвойств" снова воспользуемся свойством "Связь по владельцу" ЭлементыФормы.Материалы.ТекущиеДанные.Материал. Теперь при выборе в этом поле ввода будет всегда открываться список [272] элементов справочника "ВариантыНоменклатуры", подчиненных материалу, выбранному в колонке "Материал".
В заключение откроем процедуру обработки проведения в модуле документа и добавим к формируемым движениям присвоение значения измерению "НаборСвойств":
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
// регистр ОстаткиМатериалов Приход
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаМатериалы.Материал;
Движение.НаборСвойств = ТекСтрокаМатериалы.НаборСвойств;
Движение.Склад = Склад;
Движение.Количество = ТекСтрокаМатериалы.Количество;
//КонецЦикла;
//Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
// регистр СтоимостьМатериалов Приход
Движение = Движения.СтоимостьМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаМатериалы.Материал;
Движение.Стоимость = ТекСтрокаМатериалы.Сумма;
КонецЦикла;
// записываем движения регистров
Движения.ОстаткиМатериалов.Записать();
Движения.СтоимостьМатериалов.Записать();
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры