Часто при разработке на платформе 1С Предприятие приходится организовывать однотипные процедуры в форме различных документов. Например, умножение значений полей «Цена» на «Качество» для получения значения в поле «Сумма».
Чтобы не повторять много раз одно и то же, можно вынести процедуру в общий модуль, сделать её экспортной, и затем её можно будет вызывать из любой формы, где это требуется.
Создадим общий модуль и назовём его РаботаСДокументами. В свойствах модуля поставим галочки в полях «Глобальный» и «Клиент (управляемое приложение).
Создадим экспортную процедуру РассчитатьСумму. В её параметре укажем СтрокаТабличнойЧасти. В теле процедуры разместим необходимую арифметическую операцию.
Процедура РассчитатьСумму(СтрокаТабличнойЧасти)Экспорт СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена; КонецПроцедуры
В форме документа, где необходим расчёт, добавим обработчик «При изменении». В данном примере он вызывается при изменении поля строки табличной части «Цена». Табличная часть называется СписокНоменклатуры.
&НаКлиенте Процедура СписокНоменклатурыЦенаПриИзменении(Элемент) РассчитатьСумму(Элементы.СписокНоменклатуры.ТекущиеДанные); КонецПроцедуры
При создании обработчика можно проверить, доступна ли процедура из общего модуля. Для этого необходимо вызвать контекстную подсказку нажав клавиши «Ctrl» и «Space». Процедура должна быть видна в подсказке.
Вот, собственно, и всё.
Добавить комментарий