1C-Code → Как сделать → Как свернуть таблицу значений
Методом Свернуть: первым параметром колонки группировки, вторым — те, что надо просуммировать. Метод меняет саму таблицу, а не возвращает новую.
// было: по строке на каждую продажу
ТЗ.Свернуть("Номенклатура, Склад", "Количество, Сумма");
// стало: по строке на пару «номенклатура + склад», числа сложены
Это главное и самое неожиданное. Если в таблице была колонка «Комментарий», а вы её не назвали ни в группировках, ни в суммах, после свёртки её не будет вовсе. Не станет пустой — исчезнет.
Метод ничего не возвращает. Если исходная таблица нужна дальше — сделайте копию: Копия = ТЗ.Скопировать(); и сворачивайте её.
Колонку без типа или со строковым типом во второй список класть нельзя. Строки не складываются, и вы получите ошибку.
Свёртка в памяти — не всегда правильный инструмент. Если данные пришли запросом, группировать надо было в запросе: СГРУППИРОВАТЬ ПО сделает то же самое на стороне базы, не таща лишние строки в память. Свёртка уместна, когда таблица собрана из нескольких источников и запросом её уже не сгруппировать.
Задача на это. Прочитать приём и применить его — разные умения. В тренажёре есть задача «Чистый расход по товарам»: свернуть движения склада со знаком — приход в минус, расход в плюс — и оставить только то, что действительно ушло. Решение проверяется скрытыми тестами, в том числе на краевых случаях, о которых в условии не сказано.