Документ «Приходная»
В рамках нашей задачи создадим документ «Приходная». Он будет являться электронной копией расходной накладной поставщика. Для простоты будем полагать, что у него четыре реквизита:
• «Контрагент» (тип «СправочникСсылка. Контрагенты»)
• «Контакт» (тип «СправочникСсылка. КонтактныеЛица»)
• «Сотрудник» (тип «СправочникСсылка. ФизическиеЛица»)
• «СуммаДокумента» (тип «Число») Определим одну табличную часть «Товары», ее состав:
• Номенклатура (тип СправочникСсылка. Номенклатура)
• Количество (тип «Число» длина 10, точность 0)
• Цена (тип «Число» длина 10, точность 2)
• Сумма (тип «Число» длина 10, точность 2)
На закладке движения в свойство «Проведение» выберем значение «Запретить» (проведение документов будем рассматривать позже).
Определите форму документа, форму списка документа. При формировании формы документа реквизит «СуммаДокумента» «вставьте как надпись», в свойстве «Связь по владельцу» для элемента диалога «Контакт» установите значение «Контрагент».
В результате форма документа будет выглядеть следующим образом:
Получившийся документ будет заполняться, сохранять данные, но он мало кого устроит. Считается стандартом, чтобы при выборе из справочника номенклатурной позиции автоматически в документ переносилась цена, после проставления количества рассчитывалась общая сумма за позицию.
Для реализации вышеизложенных механизмов понадобится написание процедур на встроенном языке. Их текст представлен далее.
Процедура ТоварыНоменклатураПриИзменении (Элемент)
СтрокаТЧ = ЭлементыФормы. Товары. ТекущиеДанные;
СтрокаТЧ. ЕдИзмерения=СтрокаТЧ. Номенклатура. ОснЕдиницаИзмерения;
СтрокаТЧ. Цена=СтрокаТЧ. Номенклатура. ЦенаПокупки;
ТоварыКоличествоПриИзменении (Элемент);
КонецПроцедуры Процедура ТоварыКоличествоПриИзменении (Элемент) _____________________________
СтрокаТЧ = ЭлементыФормы. Товары. ТекуншеДанные;
СтрокаТЧ. Сумма=СтрокаТЧ. Цена*СтрокаТЧ. Количество;
КонецПроцедуры Процедура ПередЗаписью (Отказ)
СуммаДокумента= Товары. Итог ("Сумма");
КонецПроцедуры
Указанные процедуры необходимо привязать к соответствующим объектам в диалоге формы.
Общая сумма в данном случае считается только после нажатия кнопки «Записать» в форме документа. Если необходимо видеть сумму табличной части, то в свойствах табличного поля «Товары» отметьте флажок «Подвал», в свойствах колонки «Сумма» отметьте «Показывать итог в подвале», выравнивание подвала по правому краю.