Форум Чистова. Подготовка к экзаменам 1С

О форуме => Конфигурирование => Тема начата: Сергей_ от Октябрь 04, 2018, 11:00:06 am

Название: Какое событие динамического списка лучше использовать для получения итога?
Отправлено: Сергей_ от Октябрь 04, 2018, 11:00:06 am
Добрый день!
Подскажите, кто знает как лучше
Есть добавленный документ в типовую БП 3.0 в форме списка этого документа  на клиенте есть необходимость считать сумму по выделенным строкам списка и выводить ее в подвал. Соответственно написана такая процедура, добавлена переменная ИтогиВыделено.
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
Если Элементы.Список.ВыделенныеСтроки.Количество() > 1 Тогда
ИтогиВыделено=0;
Для каждого Эл из Элементы.Список.ВыделенныеСтроки Цикл
ИтогиВыделено=ИтогиВыделено+Элементы.Список.ДанныеСтроки(Эл).СуммаДокумента;
КонецЦикла;
Иначе
ИтогиВыделено=0;
КонецЕсли;
КонецПроцедуры
Использовано событие формы "При активизации строки". Это вроде бы работает, но "чудеса" происходят когда из выделенных строк начинают снимать выделение итог пересчитывается не всегда, а только когда убирается две строки, а добавляется одна.
Вопрос: Правильно ли это сделано? Какое событие лучше использовать, чтобы не было "чудес"?
Название: Re: Какое событие динамического списка лучше использовать для получения итога?
Отправлено: Trevis от Октябрь 05, 2018, 11:36:29 am
Это нормальное поведение. Событие "При активизации строки" отрабатывает раньше чем происходит снятие выделения, так как вы сначала выбираете строку (активируете её), а только потом происходит отмена выделения