1С 8.3 Свернуть таблицу значений на клиенте - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Свернуть таблицу значений на клиенте

Данные > Примеры кода 1С > 1С 8.3 Таблица значений
Перейти в раздел примеры кода 1С 8.3:
Сворачивает реквизит формы типа "ТаблицаЗначений" на клиенте. Процедуру можно вставить в клиентский общий модуль и использовать для сворачивания таблицы значений (ДанныеФормыКоллекция) без серверного вызова.
Свернуть таблицу значений на форме (от Little Friend) в 1С 8.3:
// Сворачивает ДанныеФормыКоллекция по указанным колонкам группировки. Элементы коллекции,
// указанной в первом параметре, у которых совпадают значения в колонках, указанных во
// втором параметре, сворачиваются в один элемент. Значения этих элементов,
// хранящиеся в колонках, указанных в третьем параметре, сворачиваются.
// Важно! Значения колонок, не вошедших ни в один из списков принимают значения первого элемента коллекции.
//
// Параметры:
//  Коллекция - ДанныеФормыКоллекция - коллекция, которую необходимо свернуть.
//
//  КолонкиГруппировок - Строка - имена колонок, разделенные запятыми,
//  по которым необходимо группировать элементы коллекции.
//
//  КолонкиСуммирования - Строка - имена колонок, разделенные запятыми,
//  по которым необходимо суммировать значения в элементах коллекции.
//
&НаКлиенте
Процедура СвернутьДанныеФормыКоллекция(Коллекция, КолонкиГруппировок, КолонкиСуммирования)
   СтруктураКолонокСуммирования = Новый Структура(КолонкиСуммирования);
   Отбор = Новый Структура(КолонкиГруппировок);
   СвернутыеСтроки = Новый Соответствие;

   Для Каждого ЭлементКоллекции Из Коллекция Цикл
       Если СвернутыеСтроки[ЭлементКоллекции] <> Неопределено Тогда
           Продолжить;
       КонецЕсли;

       ЗаполнитьЗначенияСвойств(Отбор, ЭлементКоллекции, КолонкиГруппировок);
       СтрокиПоОтбору = Коллекция.НайтиСтроки(Отбор);

       Для Индекс = 1 По СтрокиПоОтбору.ВГраница() Цикл
           Для Каждого ОписаниеКолонки Из СтруктураКолонокСуммирования Цикл
               ЭлементКоллекции[ОписаниеКолонки.Ключ] = ЭлементКоллекции[ОписаниеКолонки.Ключ]
               + СтрокиПоОтбору[Индекс][ОписаниеКолонки.Ключ];
               СвернутыеСтроки.Вставить(СтрокиПоОтбору[Индекс], Истина);
           КонецЦикла;
       КонецЦикла;
   КонецЦикла;

   Для Каждого СвернутаяСтрока Из СвернутыеСтроки Цикл
       Коллекция.Удалить(СвернутаяСтрока.Ключ);
   КонецЦикла;
КонецПроцедуры
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 19.01.2025
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому