Удаление пустых группировок в СКД
Отчет имеет структуру группировок:
Показатель
— Группа статей
—- Статья
Иногда показатель идет без статьи и получаются пустые строки. Нужно их удалять.
Отчет в СКД формируется из таблицы значений. Поэтому я просто заменяю в таблице значений пустые статьи и группы статей неким уникальным GUID:
ПометитьПустыеСтрокиТаблицыОтчета(ТЗРез); Процедура ПометитьПустыеСтрокиТаблицыОтчета(ТЗРез) ПустаяГруппировка = ПустаяГруппировка(); Для Каждого Строка ИЗ ТЗРез Цикл Если НЕ ЗначениеЗаполнено(Строка.Статья) Тогда Строка.Статья = ПустаяГруппировка; Конецесли; Если НЕ ЗначениеЗаполнено(Строка.РодительСтатьи) Тогда Строка.РодительСтатьи = ПустаяГруппировка; Конецесли; КонецЦикла; КонецПроцедуры Функция ПустаяГруппировка() Возврат "2dd35862-c6a9-471d-b31e-1db461e21a23"; КонецФункции
Отчет после этого выглядит так:

После чего специальным кодом обрабатываю готовый отчет и вырезаю строки, содержащие этот GUID:
ОчиститьСтрокиТабличногоДокументаСодержащиеМаркер(ДокументРезультат, ПустаяГруппировка()); Процедура ОчиститьСтрокиТабличногоДокументаСодержащиеМаркер(ДокументРезультат, Маркер, ЯчейкаЦеликом = истина) Экспорт Пока Истина Цикл Область = ДокументРезультат.НайтиТекст(Маркер,,,, ЯчейкаЦеликом); Если Область = Неопределено Тогда Возврат; КонецЕсли; ОбластьСтрока = ДокументРезультат.Область(Область.Верх, Область.Лево, Область.Верх ,ДокументРезультат.ШиринаТаблицы); ДокументРезультат.УдалитьОбласть(ОбластьСтрока, ТипСмещенияТабличногоДокумента.ПоВертикали); КонецЦикла; КонецПроцедуры
Мало того, ненужные мне строки в заголовке я тоже удаляю этим же методом, указывая для полей Статья и Группа статей синонимы в виде этого GUID:

Отчет получается компактным и не мозолит глаза ненужными строками. Рекомендую способ!

А где итоговый результат табличного документа?
он не требуется.
Все это делается отборами. В пользовательском режиме даже можно
не делается отборами.
Вот пример:
Показатель, Статья, Сумма
Выручка, , 1000
Оборот,Пиво,300
Оборот,Водка,200
Выведет так:
Выручка 1000
— 1000
Оборот 500
— Пиво,300
— Водка,200
Если отключить отбором пустую статью, выведет так:
Оборот 500
— Пиво,300
— Водка,200
Однако в итоге так
https://dropmefiles.com/mcbaF
не уверен, вышли тестовую обработку на fixin@mail.ru
Я предлагаю вариант лучше. Изучить скд и не изобретать велосипед
Не знаю, СКД надо еще проверять.
Мне мой метод больше нравится.