2. Перерасчет в табличной части документа
Примечание
Пример обработки события ПриИзменении
.
Описание примера
Расширение исправляет ошибку Конфигурации в документе "Поступление товаров", где в табличной части не пересчитывается сумма при изменении цены или количества. Форма документа не заимствуется.
Состав Расширения
Объекты
Примечание
Ниже приведены полные тексты модулей Расширения. Код, связанный с обработкой событий, выделен отдельным цветом.
Модуль менеджера обработки
| #Область СлужебныйПрограммныйИнтерфейс
#Область ЕХТ
Функция ПолноеИмя() Экспорт
Возврат Создать().Метаданные().ПолноеИмя();
КонецФункции
Функция Идентификатор() Экспорт
Возврат "9bea308a-4581-4767-99ed-92e99416d8ba";
КонецФункции
Функция Сведения(Сведения) Экспорт
Сведения.Версия = "17.09.09.1";
Сведения.Подписки = Истина;
Возврат Истина;
КонецФункции
Функция ОбработкаОбновления(ТекущаяВерсия, НоваяВерсия, НастройкиОбъекта) Экспорт
Возврат Истина;
КонецФункции
#КонецОбласти
Функция Подписки(Подписки) Экспорт
Подписка = Подписки.Добавить();
Подписка.Событие = "ПослеПриИзменении";
Подписка.Издатель = "Документ.ПоступлениеТоваров.Форма.ФормаДокумента";
// Обработка событий двух элементов.
Подписка.Элемент = "ТоварыЦена, ТоварыКоличество";
// Вместо стандартного обработчика ЕХТ_ПослеПриИзменении() вызывается ПерерасчетСуммы().
Подписка.Обработчик = "ПерерасчетСуммы";
Подписка.Описание = "Перерасчет суммы при изменении цены или количества.";
Возврат Истина;
КонецФункции
#КонецОбласти
|
Модуль формы Подписки
| &НаКлиенте
Функция ПерерасчетСуммы(Элемент, СвойстваСобытия) Экспорт
ТекущаяСтрока = Элемент.Родитель.ТекущиеДанные;
ТекущаяСтрока.Сумма = Окр(ТекущаяСтрока.Цена * ТекущаяСтрока.Количество, 2, 1);
КонецФункции
|