Введение в конфигурирование 1Cv8 - Основные объекты


Документ «Приходная»


В рамках нашей задачи создадим документ «Приходная». Он будет являться электронной копией расходной накладной поставщика. Для простоты будем полагать, что у него четыре реквизита:

•    «Контрагент» (тип «СправочникСсылка. Контрагенты»)

•    «Контакт» (тип «СправочникСсылка. КонтактныеЛица»)

•    «Сотрудник» (тип «СправочникСсылка. ФизическиеЛица»)

•    «СуммаДокумента» (тип «Число») Определим одну табличную часть «Товары», ее состав:

•    Номенклатура (тип СправочникСсылка. Номенклатура)

•    Количество (тип «Число» длина 10, точность 0)

•    Цена (тип «Число» длина 10, точность 2)

•    Сумма (тип «Число» длина 10, точность 2)

На закладке движения в свойство «Проведение» выберем значение «Запретить» (проведение документов будем рассматривать позже).

Определите форму документа, форму списка документа. При формировании формы документа реквизит «СуммаДокумента» «вставьте как надпись», в свойстве «Связь по владельцу» для элемента диалога «Контакт» установите значение «Контрагент».

В результате форма документа будет выглядеть следующим образом:

Получившийся документ будет заполняться, сохранять данные, но он мало кого устроит. Считается стандартом, чтобы при выборе из справочника номенклатурной позиции автоматически в документ переносилась цена, после проставления количества рассчитывалась общая сумма за позицию.



Для реализации вышеизложенных механизмов понадобится написание процедур на встроенном языке. Их текст представлен далее.

Процедура ТоварыНоменклатураПриИзменении (Элемент)

СтрокаТЧ = ЭлементыФормы. Товары. ТекущиеДанные;

СтрокаТЧ. ЕдИзмерения=СтрокаТЧ. Номенклатура. ОснЕдиницаИзмерения;

СтрокаТЧ. Цена=СтрокаТЧ. Номенклатура. ЦенаПокупки;

ТоварыКоличествоПриИзменении (Элемент);

 

КонецПроцедуры Процедура ТоварыКоличествоПриИзменении (Элемент)   _____________________________

СтрокаТЧ = ЭлементыФормы. Товары. ТекуншеДанные;

СтрокаТЧ. Сумма=СтрокаТЧ. Цена*СтрокаТЧ. Количество;

 

КонецПроцедуры Процедура ПередЗаписью (Отказ)

СуммаДокумента= Товары. Итог ("Сумма");

 

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

Указанные процедуры необходимо привязать к соответствующим объектам в диалоге формы.

Общая сумма в данном случае считается только после нажатия кнопки «Записать» в форме документа. Если необходимо видеть сумму табличной части, то в свойствах табличного поля «Товары» отметьте флажок «Подвал», в свойствах колонки «Сумма» отметьте «Показывать итог в подвале», выравнивание подвала по правому краю.



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