Добрый день.
Необходимо получать итог по колонке динамического списка. Пользователь использует отборы и поиск.
Какое событие будет отражать изменение динамического списка?
Сейчас использую обработчик ожидания.
Код итогов ДС
//Получаем схема компоновки данных (здесь хранится текст запроса)
Схема = Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
//Получаем настройки пользователя (отборы, сортировки и т.п.)
Настройки = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
//Выводим динамический список в таблицу значений
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных();
МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, , ,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ТаблицаЗначений = ПроцессорВывода.Вывести(ПроцессорКомпоновки);
(1) еще можно глянуть в конфигурации БП 3.0 Журналдокументов-Деньги форму БанковскиеВыписки и как там реализовано суммирование итогов НаДату по выбранному р.счету
При активизации строки считываем флаг изменения, выполняем необходимые действия, затем сбрасываем флаг. Можно дополнительно настроить ПодключитьОбработчикОжидания() для формы
Процедура СписокПриАктивизацииСтроки(Элемент)
Изменение = ВосстановитьЗначениеСервер("Документ.ФормаСписка", "Изменение");
Если Изменение Тогда
// Необходимые вычисления, например получаем количество записей
//в динамическом списке и подставляем его в итоги
ПоместитьВХранилище("Документ.ФормаСписка", "Изменение", Ложь);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПоместитьВХранилище(ИмяОбъект, ИмяПараметр, Значение)
ХранилищеСистемныхНастроек.Сохранить(ИмяОбъект, ИмяПараметр, Значение);
КонецПроцедуры
(7) вы код из шапки читали? Именно так я и получаю данные.
Вопрос в том, в какое событие поместить этот код, чтобы при любом изменении динамического списка он отработал.
Разрабы платформы законченные люди - мало того что не дали нормального механизма получения итогов, так еще и событие обновления динамического списка не сделали. Я так понимаю решение так и не найдено?
Не дали, потому что динамический список это тебе не таблица значений.
Итоги могут поменяться в момент прокрутки (один скроллит, другой добавляет запись). На то он и динамический.
А запрашивать итоги в момент скроллинга по всей таблице, да еще и с наложенными отборами - это не комильфо. Совершенно.
Текущий итог можешь получить сам, используя СКД, на который натягивается запрос динамического списка с установленными отборами.
И да, прежде чем обвинять разрабов, изучи лучше детальнее что к чему.