profile="http://gmpg.org/xfn/11"> Итоги в запросе 1с 8.2 по иерархии в справочнике. | Разработчику о работе с 1С:Предприятие, Pascal, Паскаль

Итоги в запросе 1с 8.2 по иерархии в справочнике.

Итоги в запросе 1с 8.2 по иерархии в справочнике.

Процедура КакПолучитьИтогиПоГруппеВСправочнике()
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ЗаказыПокупателейОстатки.КоличествоОстаток КАК КоличествоОстаток,
	|	ЗаказыПокупателейОстатки.СуммаУпрОстаток КАК СуммаУпрОстаток,
	|	ЗаказыПокупателейОстатки.Номенклатура КАК Номенклатура
	|ИЗ
	|	РегистрНакопления.ЗаказыПокупателей.Остатки КАК ЗаказыПокупателейОстатки
	|ИТОГИ
	|	СУММА(КоличествоОстаток),
	|	СУММА(СуммаУпрОстаток)
	|ПО
	|	Номенклатура ИЕРАРХИЯ";

	РезультатЗапроса = Запрос.Выполнить();
	ТЗЕ=РезультатЗапроса.Выгрузить();
	ЭлементыФормы.ТЗЕ.СоздатьКолонки();
	ВыборкаНоменклатура = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

	Пока ВыборкаНоменклатура.Следующий() Цикл
		// Вставить обработку выборки ВыборкаНоменклатура
	КонецЦикла;
КонецПроцедуры

Ключевое слово ИТОГИ указывает на получение итогов по определенному полю для каждого элемента справочника.
Ключевое слово ИЕРАРХИЯ указывается после названия поля. По этому полю мы получим итоги и по группам.
В указанном примере по полю Номенклатура. Иначе говоря у нас будут итоги по каждой номенклатуре и каждой группе, которая содержит номенклатуру с итогами.
При ключевом слове ТОЛЬКО ИЕРАРХИЯ, итоги будут получены только для групп.
Код:

	Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| ЗаказыПокупателейОстатки.КоличествоОстаток КАК КоличествоОстаток,
| ЗаказыПокупателейОстатки.СуммаУпрОстаток КАК СуммаУпрОстаток,
| ЗаказыПокупателейОстатки.Номенклатура КАК Номенклатура
|ИЗ
| РегистрНакопления.ЗаказыПокупателей.Остатки КАК ЗаказыПокупателейОстатки
|ИТОГИ
| СУММА(КоличествоОстаток)
|ПО
| Номенклатура ТОЛЬКО ИЕРАРХИЯ»;

РезультатЗапроса = Запрос.Выполнить();

Комментарии запрещены.