Удаление пустых группировок в СКД

Отчет имеет структуру группировок:
Показатель
— Группа статей
—- Статья

Иногда показатель идет без статьи и получаются пустые строки. Нужно их удалять.

Отчет в СКД формируется из таблицы значений. Поэтому я просто заменяю в таблице значений пустые статьи и группы статей неким уникальным GUID:

ПометитьПустыеСтрокиТаблицыОтчета(ТЗРез);


Процедура ПометитьПустыеСтрокиТаблицыОтчета(ТЗРез)
	ПустаяГруппировка = ПустаяГруппировка();
	Для Каждого Строка ИЗ ТЗРез Цикл
		Если НЕ ЗначениеЗаполнено(Строка.Статья) Тогда
			Строка.Статья = ПустаяГруппировка;
		Конецесли;
		Если НЕ ЗначениеЗаполнено(Строка.РодительСтатьи) Тогда
			Строка.РодительСтатьи = ПустаяГруппировка;
		Конецесли;
	КонецЦикла;
КонецПроцедуры

Функция ПустаяГруппировка()
	Возврат "2dd35862-c6a9-471d-b31e-1db461e21a23";	
КонецФункции

Отчет после этого выглядит так:

После чего специальным кодом обрабатываю готовый отчет и вырезаю строки, содержащие этот GUID:

ОчиститьСтрокиТабличногоДокументаСодержащиеМаркер(ДокументРезультат, ПустаяГруппировка());

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

Мало того, ненужные мне строки в заголовке я тоже удаляю этим же методом, указывая для полей Статья и Группа статей синонимы в виде этого GUID:

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