К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Нужна помощь с группировкой строк в запросе

Гость
0 - 17.09.2020 - 08:26
Делаю пробный технологический отчет по справочнику, у него поле Статус - иерархический справочник. Вывод отчета через макет. Отчет должен вывести 3 уровня группировок Группы статуса - статус - элементы исходного справочника. Отчет работает но полностью отказывается группировать строки, хотя должен. Глюк или я косячу? Текст модуля ниже

&НаСервере
Функция СформироватьНаСервере()

ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
Макет = ОтчетОбъект.ПолучитьМакет("МакетЛидов");

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьСтатусГруппа = Макет.ПолучитьОбласть("СтатусГруппа");
ОбластьСтатус = Макет.ПолучитьОбласть("Статус");

ТабДок=Новый ТабличныйДокумент;
ТабДок.Очистить();
ОбластьЗаголовок.Параметры.Заголовок = "Состояние лидов по событиям"+Символы.ПС+
"За период "+ПредставлениеПериода(НачалоДня(Период.ДатаНачала ), КонецДня(Период.ДатаОкончания));
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.НачатьАвтогруппировкуСтрок();

Запрос = Новый Запрос;
Запрос.Текст =

"ВЫБРАТЬ
| Лиды.Ссылка КАК Лид,
| Лиды.СтатусЛида КАК Статус,
| КОЛИЧЕСТВО(Лиды.Ссылка) КАК КолЛидов
|ИЗ
| Справочник.Лиды КАК Лиды
|
|СГРУППИРОВАТЬ ПО
| Лиды.СтатусЛида,
| Лиды.Ссылка
|ИТОГИ
| КОЛИЧЕСТВО(КолЛидов)
|ПО
| Статус ИЕРАРХИЯ,
| Лид";

Выборка1 = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса. ПоГруппировкам);
Пока Выборка1.Следующий() Цикл
Если ЗначениеЗаполнено(Выборка1.Статус) Тогда
Если Выборка1.Статус.ЭтоГруппа Тогда
ОбластьСтатусГруппа.Параметры.СтатусЛида = Выборка1.Статус;
ОбластьСтатусГруппа.Параметры.КолЛидов = Выборка1.КолЛидов;
ТабДок.Вывести(ОбластьСтатусГруппа);
Иначе
ОбластьСтатус.Параметры.СтатусЛида = Выборка1.Статус;
ОбластьСтатус.Параметры.КолЛидов = Выборка1.КолЛидов;
ТабДок.Вывести(ОбластьСтатус);
КонецЕсли;
Иначе
ОбластьСтатус.Параметры.КолЛидов = Выборка1.КолЛидов;
ТабДок.Вывести(ОбластьСтатус);
КонецЕсли;
Выборка2 = Выборка1.Выбрать(ОбходРезультатаЗапроса.ПоГруппиро вкам);
Пока Выборка2.Следующий() Цикл
ОбластьСтрока.Параметры.НаименованиеЛида = Выборка2.Лид;


ТабДок.Вывести(ОбластьСтрока);
КонецЦикла;
КонецЦикла;


ТабДок.ЗакончитьАвтогруппировкуСтрок();


ТабДок.ТолькоПросмотр=Истина;
ТабДок.ФиксацияСверху=5;
ТабДок.ФиксацияСлева=2;


Возврат ТабДок;

КонецФункции



Гость
1 - 17.09.2020 - 13:29
Если я правильно понимаю проблему - второй параметр метода табличного документа Вывести
Гость
2 - 17.09.2020 - 14:57
То есть указав уровень Группировка заработает? Попробую. Спасибо за идею.
3 - 18.09.2020 - 06:00
И чем всё закончилось?


К списку вопросов






Copyright ©, Все права защищены