1C-CodeКак сделать → Как свернуть таблицу значений

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

Методом Свернуть: первым параметром колонки группировки, вторым — те, что надо просуммировать. Метод меняет саму таблицу, а не возвращает новую.

Код

// было: по строке на каждую продажу
ТЗ.Свернуть("Номенклатура, Склад", "Количество, Сумма");
// стало: по строке на пару «номенклатура + склад», числа сложены

Что здесь важно

1. Колонки, не попавшие ни в один список, ИСЧЕЗАЮТ

Это главное и самое неожиданное. Если в таблице была колонка «Комментарий», а вы её не назвали ни в группировках, ни в суммах, после свёртки её не будет вовсе. Не станет пустой — исчезнет.

2. Свернуть меняет таблицу на месте

Метод ничего не возвращает. Если исходная таблица нужна дальше — сделайте копию: Копия = ТЗ.Скопировать(); и сворачивайте её.

3. Суммируются только числовые колонки

Колонку без типа или со строковым типом во второй список класть нельзя. Строки не складываются, и вы получите ошибку.

Где обычно спотыкаются

Свёртка в памяти — не всегда правильный инструмент. Если данные пришли запросом, группировать надо было в запросе: СГРУППИРОВАТЬ ПО сделает то же самое на стороне базы, не таща лишние строки в память. Свёртка уместна, когда таблица собрана из нескольких источников и запросом её уже не сгруппировать.

Задача на это. Прочитать приём и применить его — разные умения. В тренажёре есть задача «Чистый расход по товарам»: свернуть движения склада со знаком — приход в минус, расход в плюс — и оставить только то, что действительно ушло. Решение проверяется скрытыми тестами, в том числе на краевых случаях, о которых в условии не сказано.

Решить задачу

Разобраться глубже

Другие вопросы

Как получить остатки на дату запросом в 1С Как программно провести документ в 1С Как избавиться от запроса в цикле в 1С Как добавить колонку в таблицу значений программно Как найти строку в таблице значений Как выгрузить колонку таблицы значений в массив Как превратить массив в таблицу значений Как передать таблицу значений с сервера на клиент Как отобрать строки в таблице значений Как отсортировать таблицу значений Как записать движения регистра накопления программно Чем регистр остатков отличается от регистра оборотов Как контролировать остатки при проведении документа Как добавить реквизит расширением конфигурации Как сравнить две таблицы значений Какие бывают соединения в запросе 1С и чем отличаются Как выгрузить таблицу значений в Excel Чем дерево значений отличается от таблицы значений Как задать условное оформление таблицы на форме