Сворачивает реквизит формы типа "ТаблицаЗначений" на клиенте.
Процедуру можно вставить в клиентский общий модуль и использовать для сворачивания таблицы значений (ДанныеФормыКоллекция) без серверного вызова.
// Сворачивает ДанныеФормыКоллекция по указанным колонкам группировки. Элементы коллекции, указанной в первом параметре,
// у которых совпадают значения в колонках, указанных во втором параметре, сворачиваются в один элемент. Значения этих
// элементов, хранящиеся в колонках, указанных в третьем параметре, сворачиваются. Важно! Значения колонок, не вошедших
// ни в один из списков принимают значения первого элемента коллекции.
//
// Параметры:
// Коллекция - ДанныеФормыКоллекция - коллекция, которую необходимо свернуть.
// КолонкиГруппировок - Строка - имена колонок, разделенные запятыми, по которым необходимо группировать элементы
// коллекции.
// КолонкиСуммирования - Строка - имена колонок, разделенные запятыми, по которым необходимо суммировать значения в
// элементах коллекции.
//
&НаКлиенте
Процедура СвернутьДанныеФормыКоллекция(Коллекция, КолонкиГруппировок, КолонкиСуммирования)
СтруктураКолонокСуммирования = Новый Структура(КолонкиСуммирования);
Отбор = Новый Структура(КолонкиГруппировок);
СвернутыеСтроки = Новый Соответствие;
Для каждого ЭлементКоллекции Из Коллекция Цикл
Если СвернутыеСтроки[ЭлементКоллекции] <> Неопределено Тогда
Продолжить;
КонецЕсли;
ЗаполнитьЗначенияСвойств(Отбор, ЭлементКоллекции, КолонкиГруппировок);
СтрокиПоОтбору = Коллекция.НайтиСтроки(Отбор);
Для Индекс = 1 По СтрокиПоОтбору.ВГраница() Цикл
Для каждого ОписаниеКолонки Из СтруктураКолонокСуммирования Цикл
ЭлементКоллекции[ОписаниеКолонки.Ключ] = ЭлементКоллекции[ОписаниеКолонки.Ключ]
+ СтрокиПоОтбору[Индекс][ОписаниеКолонки.Ключ];
СвернутыеСтроки.Вставить(СтрокиПоОтбору[Индекс], Истина);
КонецЦикла;
КонецЦикла;
КонецЦикла;
Для каждого СвернутаяСтрока Из СвернутыеСтроки Цикл
Коллекция.Удалить(СвернутаяСтрока.Ключ);
КонецЦикла;
КонецПроцедуры
Программное перемещение строк ДанныхФормКоллекции(Таблица значений) на Клиенте
Как свернуть таблицу значений в коде, но получить не сумму, а максимум
Свернуть строки в таблице значений конкатенацией
Заполнение "пустых" строк табличной части
Дополнить таблицу значений - приемника данными из таблицы значений - источника
#1, 23 января 2025 13:47
тут бы неплохо задуматься над тем, что при обходе на клиенте могут происходить неявные серверные вызовы. https://its.1c.ru/db/v8std#content:628:hdoc