1С. Как вынести в общий модуль процедуры для формы документа

Часто при разработке на платформе 1С Предприятие приходится организовывать однотипные процедуры в форме различных документов. Например, умножение значений полей «Цена» на «Качество» для получения значения в поле «Сумма».

Чтобы не повторять много раз одно и то же, можно вынести процедуру в общий модуль, сделать её экспортной, и затем её можно будет вызывать из любой формы, где это требуется.

Создадим общий модуль и назовём его РаботаСДокументами. В свойствах модуля поставим галочки в полях «Глобальный» и «Клиент (управляемое приложение).

Создадим экспортную процедуру РассчитатьСумму. В её параметре укажем СтрокаТабличнойЧасти. В теле процедуры разместим необходимую арифметическую операцию.

Процедура РассчитатьСумму(СтрокаТабличнойЧасти)Экспорт
	
СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;

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

В форме документа, где необходим расчёт, добавим обработчик «При изменении». В данном примере он вызывается при изменении поля строки табличной части «Цена». Табличная часть называется СписокНоменклатуры.

&НаКлиенте
Процедура СписокНоменклатурыЦенаПриИзменении(Элемент)
	
	РассчитатьСумму(Элементы.СписокНоменклатуры.ТекущиеДанные);	
	
КонецПроцедуры

При создании обработчика можно проверить, доступна ли процедура из общего модуля. Для этого необходимо вызвать контекстную подсказку нажав клавиши «Ctrl» и «Space». Процедура должна быть видна в подсказке.

Вот, собственно, и всё.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *