Шаг 359 - Вот оно, группировка в таблице значений

Ради чего мы все поместили в таблицу значений ? Ради того, чтобы одним заходом сгруппировать по полю ГруппыОС, что нам и нужно было.

Процедура Сформировать()         

	Результат = СоздатьОбъект("ТаблицаЗначений"); 
	Результат.НоваяКолонка("ГруппыОС","Перечисление.ГруппыОС");
	Результат.НоваяКолонка("начБаланс");
              
	Т = СоздатьОбъект("Таблица");

	БИ = СоздатьОбъект("БухгалтерскиеИтоги");
	БИ.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства);
	БИ.ВыполнитьЗапрос(ДатаНач,ДатаКон,"01.1");
	БИ.ВыбратьСубконто(1,0,0,0,0,"Группа",0);

	Пока БИ.ПолучитьСубконто() = 1 Цикл 
		Результат.НоваяСтрока();     
		Результат.ГруппыОС = БИ.Субконто().Группа;
		Результат.начБаланс=БИ.СНД();     
	КонецЦикла;      
                                       
	Результат.Свернуть("1","2");         
     
	Т.ТолькоПросмотр(1);
	Т.Показать();      
КонецПроцедуры

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

Свернуть
Свернуть таблицу значений но соответствующим значениям колонок.

Синтаксис:

Свернуть(<ГруппКолонки>,<СуммКолонки>)

Англоязычный синоним:

GroupBy

Параметры:
<ГруппКолонки> - Группировочные колонки (номера или идентификаторы колонок через запятую), по которым группировать данные.
<СуммКолонки> - Суммируемые колонки (номера или идентификаторы колонок через запятую), по которым суммировать данные.

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


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 25.11.2002