База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как свернуть таблицу значений по колонке в 1С? › RE: Как свернуть таблицу значений по колонке в 1С?
Для сворачивания таблицы значений по определенной колонке в 1С можно использовать метод `ГруппироватьПо` объекта `ТаблицаЗначений`. Этот метод позволяет сгруппировать строки таблицы по значениям указанной колонки.
Вот пример кода, который демонстрирует, как это сделать:
1C
// Создаем таблицу значений
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("Категория");
Таблица.Колонки.Добавить("Сумма");
// Добавляем данные
Строка = Таблица.Добавить();
Строка.Категория = "A";
Строка.Сумма = 100;
Строка = Таблица.Добавить();
Строка.Категория = "B";
Строка.Сумма = 200;
Строка = Таблица.Добавить();
Строка.Категория = "A";
Строка.Сумма = 150;
// Создаем новую таблицу для хранения сгруппированных данных
СгруппированнаяТаблица = Новый ТаблицаЗначений;
СгруппированнаяТаблица.Колонки.Добавить("Категория");
СгруппированнаяТаблица.Колонки.Добавить("ИтогСумма");
// Группируем данные
Для Каждого Строка Из Таблица Цикл
НайденнаяСтрока = СгруппированнаяТаблица.Найти(Строка.Категория, "Категория");
Если НайденнаяСтрока = Неопределено Тогда
// Если категория не найдена, добавляем новую строку
НоваяСтрока = СгруппированнаяТаблица.Добавить();
НоваяСтрока.Категория = Строка.Категория;
НоваяСтрока.ИтогСумма = Строка.Сумма;
Иначе
// Если категория найдена, суммируем значения
НайденнаяСтрока.ИтогСумма = НайденнаяСтрока.ИтогСумма + Строка.Сумма;
КонецЕсли;
КонецЦикла;
// Выводим результат
Для Каждого Строка Из СгруппированнаяТаблица Цикл
Сообщить("Категория: " + Строка.Категория + ", Итоговая сумма: " + Строка.ИтогСумма);
КонецЦикла;
В этом примере мы создаем таблицу значений с колонками «Категория» и «Сумма», добавляем несколько строк, а затем группируем данные по колонке «Категория», суммируя значения в колонке «Сумма». Результат выводится в сообщениях.
Таким образом, вы можете свернуть таблицу значений по определенной колонке, используя группировку и суммирование значений.