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

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

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

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

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

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

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

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

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

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

Комментарии

  • MariNew 20.06.2018 15:36
    Отлично!!! У меня получилось!!!! СПАСИБО!

    Подробнее...

     
  • Ирина 09.06.2018 13:05
    Спасибо большое! Пригодилось.

    Подробнее...

     
  • Ненавижу1С 19.05.2018 18:16
    Благодарю. Помогло данное решение.

    Подробнее...