Автор Тема: Какое событие динамического списка лучше использовать для получения итога?  (Прочитано 3314 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Сергей_

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Матюшин Сергей
Добрый день!
Подскажите, кто знает как лучше
Есть добавленный документ в типовую БП 3.0 в форме списка этого документа  на клиенте есть необходимость считать сумму по выделенным строкам списка и выводить ее в подвал. Соответственно написана такая процедура, добавлена переменная ИтогиВыделено.
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
Если Элементы.Список.ВыделенныеСтроки.Количество() > 1 Тогда
ИтогиВыделено=0;
Для каждого Эл из Элементы.Список.ВыделенныеСтроки Цикл
ИтогиВыделено=ИтогиВыделено+Элементы.Список.ДанныеСтроки(Эл).СуммаДокумента;
КонецЦикла;
Иначе
ИтогиВыделено=0;
КонецЕсли;
КонецПроцедуры
Использовано событие формы "При активизации строки". Это вроде бы работает, но "чудеса" происходят когда из выделенных строк начинают снимать выделение итог пересчитывается не всегда, а только когда убирается две строки, а добавляется одна.
Вопрос: Правильно ли это сделано? Какое событие лучше использовать, чтобы не было "чудес"?

Trevis

  • Пользователь
  • **
  • Сообщений: 18
Это нормальное поведение. Событие "При активизации строки" отрабатывает раньше чем происходит снятие выделения, так как вы сначала выбираете строку (активируете её), а только потом происходит отмена выделения