52 . Создадим объект конфигурации Общий модуль: выберите Общие | Общие модули, МП, Добавить, в поле Имя введите РаботаСДокументами.
53. Введите код:
Пример 20.2. Процедуры обработки события в общем модуле
Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена; КонецПроцедуры
54. Затем в модуле нашей формы изменим текст нашего обработчика: выберите Документы | ПриходнаяНакладная, выберите Формы | ФормаДокумента, М2, выберите Модуль, измените код так:
Пример 20.3.
Процедура МатериалыКоличествоПриИзменении(Элемент) СтрокаТабличнойЧасти = ЭлементыФормы=Материалы.ТекущиеДанные; РассчитатьСумму(СтрокаТабличнойЧасти); КонецПроцедуры
55. Теперь осталось и для поля «Цена» установить такой же обработчик. Поэтому мы создадим обработчик события «При изменении» для поля ввода, которое расположено в колонке «Цена» и повторим в нем вызов процедуры «РассчитатьСумму» из общего модуля: выберите Диалог, выберите Поле ввода в колонке Цена, МП, Свойства, должна появиться Палитра свой тв, прокрутите список до конца, выберите группу События, в поле При изменении нажмите Лупа, система создаст заготовку процедуры обработчика этого события в модуле нашей формы.
56. Введите код:
Пример 20.4.
Процедура МатериалыЦенаПриИзменении(Элемент) СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные; РассчитатьСумму(СтрокаТабличнойЧасти); КонецПроцедуры
57 . Теперь посмотрим, как это работает: выберите Операции | Документы, выберите любой документ ПриходнаяНакладная, поменяйте количество в любой строке документа, сумма в строке должна будет пересчитана, теперь поменяйте цена в любой строке документа, сумма в строке должна будет пересчитана.