Вывожу с помощью конструктура зарпроса с выводом результат. Получается раскрываю группу и как бы она в наименование дублируются. Как убрать эти строки(удалить)
Макет = ПолучениеМакета();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Спр.Артикул КАК Артикул,
| Спр.Код КАК Код,
| Спр.Ссылка КАК Ссылка,
| Спр.Наименование КАК Наименование,
| СУММА(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)) КАК Остаток,
| СУММА(ЦеныНоменклатурыСрезПоследних.Цена) КАК Цена
|ИЗ
| Справочник.Номенклатура КАК Спр
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
| ПО Спр.Ссылка = ТоварыНаСкладахОстатки.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦен) КАК ЦеныНоменклатурыСрезПоследних
| ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = Спр.Ссылка)
|ГДЕ
| Спр.ПометкаУдаления = ЛОЖЬ
|
|СГРУППИРОВАТЬ ПО
| Спр.Артикул,
| Спр.Код,
| Спр.Ссылка,
| Спр.Наименование
|
|УПОРЯДОЧИТЬ ПО
| Спр.ЭтоГруппа УБЫВ,
| Спр.Наименование
|ИТОГИ ПО
| Ссылка ИЕРАРХИЯ
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("Период", ТекущаяДата());
Запрос.УстановитьПараметр("ВидЦен", ВидЦены);
Р = Запрос.Выполнить().Выгрузить();
РезультатЗапроса = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьСсылкаИерархия = Макет.ПолучитьОбласть("СсылкаИерархия");
ОбластьСсылка = Макет.ПолучитьОбласть("Ссылка");
УровеньГруппировки = 0;
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаСсылка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаСсылка.Следующий() Цикл
Если ВыборкаСсылка.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда
Область = ОбластьСсылкаИерархия;
Иначе
Область = ОбластьСсылка;
КонецЕсли;
Область.Параметры.Заполнить(ВыборкаСсылка);
ТабДок.Вывести(Область, ВыборкаСсылка.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
КоличествоУровней = ТабДок.КоличествоУровнейГруппировокСтрок();
Для Уровень = 1 По КоличествоУровней - 1 Цикл
ТабДок.ПоказатьУровеньГруппировокСтрок(КоличествоУровней - Уровень);
КонецЦикла;
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
ТабДок.ПоказатьУровеньГруппировокСтрок(УровеньГруппировки);
ПоказатьПрикрепленные файлы:
![](/upload/forum/upload/43c/43cf6e3575c3f59d0b92c6eef64acc0b.jpg)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) котлеты отдельно - мухи отдельно
....
ВЫБРАТЬ
| Спр.Ссылка КАК Ссылка,
| СУММА(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)) КАК Остаток,
| 0 КАК Цена
|ИЗ
| Справочник.Номенклатура КАК Спр
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
|СГРУППИРОВАТЬ ПО
| Спр.Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
Показать....
Запрос можно сделать так
или (28)
ВЫБРАТЬ
Спр.Родитель КАК Родитель,
Спр.Артикул КАК Артикул,
Спр.Код КАК Код,
Спр.Наименование КАК Наименование,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
Справочник.Номенклатура КАК Спр
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
ПО (Спр.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
ПО (Спр.Ссылка = ТоварыНаСкладахОстатки.Номенклатура)
ГДЕ
Спр.ПометкаУдаления = ЛОЖЬ
И Спр.ЭтоГруппа = ЛОЖЬ
ИТОГИ ПО
Родитель
Показатьили (28)
Короче подумал, поиграл, вот вам "заплаточный" рабочий вариант.
Это ответ на вопрос темы "Как убрать эти строки"))))
Измените цикл вывода следующим образом:
Это ответ на вопрос темы "Как убрать эти строки"))))
Измените цикл вывода следующим образом:
Пока ВыборкаСсылка.Следующий() Цикл
Если ВыборкаСсылка.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда
// Группу номенклатуры выводим только в иерархии
Область = ОбластьСсылкаИерархия;
Иначе
// При выводе элемента справочника "НеГруппа" не выводим группу номенклатуры
Если ВыборкаСсылка.Ссылка.ЭтоГруппа Тогда
Продолжить;
КонецЕсли;
Область = ОбластьСсылка;
КонецЕсли;
Область.Параметры.Заполнить(ВыборкаСсылка);
ТабДок.Вывести(Область, ВыборкаСсылка.Уровень());
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот