База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как свернуть таблицу значений по колонке в 1С? › RE: Как свернуть таблицу значений по колонке в 1С?

Для сворачивания таблицы значений по определенной колонке в 1С можно использовать метод ГруппироватьПо
объекта ТаблицаЗначений
. Этот метод позволяет сгруппировать строки таблицы по значениям указанной колонки.
Вот пример кода, который демонстрирует, как это сделать:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | 1C // Создаем таблицу значений Таблица = Новый ТаблицаЗначений; Таблица.Колонки.Добавить("Категория"); Таблица.Колонки.Добавить("Сумма"); // Добавляем данные Строка = Таблица.Добавить(); Строка.Категория = "A"; Строка.Сумма = 100; Строка = Таблица.Добавить(); Строка.Категория = "B"; Строка.Сумма = 200; Строка = Таблица.Добавить(); Строка.Категория = "A"; Строка.Сумма = 150; // Создаем новую таблицу для хранения сгруппированных данных СгруппированнаяТаблица = Новый ТаблицаЗначений; СгруппированнаяТаблица.Колонки.Добавить("Категория"); СгруппированнаяТаблица.Колонки.Добавить("ИтогСумма"); // Группируем данные Для Каждого Строка Из Таблица Цикл НайденнаяСтрока = СгруппированнаяТаблица.Найти(Строка.Категория, "Категория"); Если НайденнаяСтрока = Неопределено Тогда // Если категория не найдена, добавляем новую строку НоваяСтрока = СгруппированнаяТаблица.Добавить(); НоваяСтрока.Категория = Строка.Категория; НоваяСтрока.ИтогСумма = Строка.Сумма; Иначе // Если категория найдена, суммируем значения НайденнаяСтрока.ИтогСумма = НайденнаяСтрока.ИтогСумма + Строка.Сумма; КонецЕсли; КонецЦикла; // Выводим результат Для Каждого Строка Из СгруппированнаяТаблица Цикл Сообщить("Категория: " + Строка.Категория + ", Итоговая сумма: " + Строка.ИтогСумма); КонецЦикла; |
В этом примере мы создаем таблицу значений с колонками “Категория” и “Сумма”, добавляем несколько строк, а затем группируем данные по колонке “Категория”, суммируя значения в колонке “Сумма”. Результат выводится в сообщениях.
Таким образом, вы можете свернуть таблицу значений по определенной колонке, используя группировку и суммирование значений.