Ради чего мы все поместили в таблицу значений ? Ради того, чтобы одним заходом сгруппировать по полю ГруппыОС, что нам и нужно было.
Процедура Сформировать() Результат = СоздатьОбъект("ТаблицаЗначений"); Результат.НоваяКолонка("ГруппыОС","Перечисление.ГруппыОС"); Результат.НоваяКолонка("начБаланс"); Т = СоздатьОбъект("Таблица"); БИ = СоздатьОбъект("БухгалтерскиеИтоги"); БИ.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства); БИ.ВыполнитьЗапрос(ДатаНач,ДатаКон,"01.1"); БИ.ВыбратьСубконто(1,0,0,0,0,"Группа",0); Пока БИ.ПолучитьСубконто() = 1 Цикл Результат.НоваяСтрока(); Результат.ГруппыОС = БИ.Субконто().Группа; Результат.начБаланс=БИ.СНД(); КонецЦикла; Результат.Свернуть("1","2"); Т.ТолькоПросмотр(1); Т.Показать(); КонецПроцедуры
Как видите я указал, что группировать по первому полю, а суммировать по второму. Круто. Смотрим описание.
Свернуть
Свернуть таблицу значений но соответствующим значениям колонок.
Синтаксис:
Свернуть(<ГруппКолонки>,<СуммКолонки>)
Англоязычный синоним:
GroupBy
Параметры:
<ГруппКолонки> - Группировочные колонки (номера или идентификаторы колонок через запятую), по которым группировать данные.
<СуммКолонки> - Суммируемые колонки (номера или идентификаторы колонок через запятую), по которым суммировать данные.
Описание:
Метод Свернуть позволяет свернуть таблицу значений по соответствующим значениям колонок, т. е. заменяет на одну строку все дублирующие (по значениям группировочных колонок) строки, суммируя значения но суммируемым колонкам.