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

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

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

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

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

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

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

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

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

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

Комментарии

  • pavlo 18.09.2018 13:59
    У меня по второму варианту не получилось. При такой настройке появилась колонка построчно со словами названия колонки ресурса.

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

     
  • Altavista- 17.09.2018 20:51
    Не бесспорное решение: 1. В регистр логичнее добавить 2й ресурс ("вТрансфертныхЦенах"); 2. РС "Наценки"? Однозначно, нет. Это реквизит справочника; 3. Реквизита "Контрагент" в условии задачи тоже нет и ...

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

     
  • Андрей 02.08.2018 09:55
    Большое спасибо! По "Варианту 2": в выбранных полях группировки колонок (у меня их несколько) кроме поля самой колонки пришлось добавить и ресурс.

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