![]() |
Нужна помощь с группировкой строк в запросе Делаю пробный технологический отчет по справочнику, у него поле Статус - иерархический справочник. Вывод отчета через макет. Отчет должен вывести 3 уровня группировок Группы статуса - статус - элементы исходного справочника. Отчет работает но полностью отказывается группировать строки, хотя должен. Глюк или я косячу? Текст модуля ниже &НаСервере Функция СформироватьНаСервере() ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); Макет = ОтчетОбъект.ПолучитьМакет("МакетЛидов"); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьСтрока = Макет.ПолучитьОбласть("Строка"); ОбластьСтатусГруппа = Макет.ПолучитьОбласть("СтатусГруппа"); ОбластьСтатус = Макет.ПолучитьОбласть("Статус"); ТабДок=Новый ТабличныйДокумент; ТабДок.Очистить(); ОбластьЗаголовок.Параметры.Заголовок = "Состояние лидов по событиям"+Символы.ПС+ "За период "+ПредставлениеПериода(НачалоДня(Период.ДатаНачала), КонецДня(Период.ДатаОкончания)); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.НачатьАвтогруппировкуСтрок(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Лиды.Ссылка КАК Лид, | Лиды.СтатусЛида КАК Статус, | КОЛИЧЕСТВО(Лиды.Ссылка) КАК КолЛидов |ИЗ | Справочник.Лиды КАК Лиды | |СГРУППИРОВАТЬ ПО | Лиды.СтатусЛида, | Лиды.Ссылка |ИТОГИ | КОЛИЧЕСТВО(КолЛидов) |ПО | Статус ИЕРАРХИЯ, | Лид"; Выборка1 = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока Выборка1.Следующий() Цикл Если ЗначениеЗаполнено(Выборка1.Статус) Тогда Если Выборка1.Статус.ЭтоГруппа Тогда ОбластьСтатусГруппа.Параметры.СтатусЛида = Выборка1.Статус; ОбластьСтатусГруппа.Параметры.КолЛидов = Выборка1.КолЛидов; ТабДок.Вывести(ОбластьСтатусГруппа); Иначе ОбластьСтатус.Параметры.СтатусЛида = Выборка1.Статус; ОбластьСтатус.Параметры.КолЛидов = Выборка1.КолЛидов; ТабДок.Вывести(ОбластьСтатус); КонецЕсли; Иначе ОбластьСтатус.Параметры.КолЛидов = Выборка1.КолЛидов; ТабДок.Вывести(ОбластьСтатус); КонецЕсли; Выборка2 = Выборка1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока Выборка2.Следующий() Цикл ОбластьСтрока.Параметры.НаименованиеЛида = Выборка2.Лид; ТабДок.Вывести(ОбластьСтрока); КонецЦикла; КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.ТолькоПросмотр=Истина; ТабДок.ФиксацияСверху=5; ТабДок.ФиксацияСлева=2; Возврат ТабДок; КонецФункции |
Если я правильно понимаю проблему - второй параметр метода табличного документа Вывести |
То есть указав уровень Группировка заработает? Попробую. Спасибо за идею. |
И чем всё закончилось? |
Текущее время: 04:01. Часовой пояс GMT +3. |