20.10. Создание процедуры обработки события в общем модуле

52 . Создадим объект конфигурации Общий модуль: выберите Общие | Общие модули, МП, Добавить, в поле Имя введите РаботаСДокументами.

53. Введите код:

Пример 20.2. Процедуры обработки события в общем модуле

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


54. Затем в модуле нашей формы изменим текст нашего обработчика: выберите Документы | ПриходнаяНакладная, выберите Формы | ФормаДокумента, М2, выберите Модуль, измените код так:

Пример 20.3.

Процедура МатериалыКоличествоПриИзменении(Элемент)
СтрокаТабличнойЧасти = ЭлементыФормы=Материалы.ТекущиеДанные; 
РассчитатьСумму(СтрокаТабличнойЧасти); 
КонецПроцедуры


55. Теперь осталось и для поля «Цена» установить такой же обработчик. Поэтому мы создадим обработчик события «При изменении» для поля ввода, которое расположено в колонке «Цена» и повторим в нем вызов процедуры «РассчитатьСумму» из общего модуля: выберите Диалог, выберите Поле ввода в колонке Цена, МП, Свойства, должна появиться Палитра свой тв, прокрутите список до конца, выберите группу События, в поле При изменении нажмите Лупа, система создаст заготовку процедуры обработчика этого события в модуле нашей формы.

56. Введите код:

Пример 20.4.

Процедура МатериалыЦенаПриИзменении(Элемент)
СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные; 
РассчитатьСумму(СтрокаТабличнойЧасти);
КонецПроцедуры


57 . Теперь посмотрим, как это работает: выберите Операции | Документы, выберите любой документ ПриходнаяНакладная, поменяйте количество в любой строке документа, сумма в строке должна будет пересчитана, теперь поменяйте цена в любой строке документа, сумма в строке должна будет пересчитана.