1С: Динамическое количество колонок в макете

Задача: создать отчет с динамическим количеством колонок (за ранее не известным). Обычно подобные задачи решаются при помощи СКД, но я его традиционно недолюбливаю и использовать избегаю, по причине того, что спустя пару месяцев боле-менее сложны отчет превращается в абракадабру, которую чтобы понять приходится тратить очень много времени. Потому так.

Решение:

В макете поименовать не только как обычно горизонтальные области, но и вертикальные. Примерно так:

И области тогда получаем соответственно через тег |, примерно так (как в морском бое):

ОбластьШапка=Макет.ПолучитьОбласть("Шапка | Общая");		

Ну и сам код в конечном итоге сводится к такому:

	МесяцГод1=Макет.ПолучитьОбласть("Шапка | МесяцГод");	
	МесяцГод1.Параметры.ном=7;
		
	МесяцГод2=Макет.ПолучитьОбласть("Шапка | МесяцГод");	
	МесяцГод2.Параметры.ном=8;
	
	ТабДок.Вывести(ОбластьШапка);
	ТабДок.Присоединить(МесяцГод1);
	ТабДок.Присоединить(МесяцГод2);
	
	// заполняем тушку
	Тушка=Макет.ПолучитьОбласть("Тушка | Общая");				
	ТабДок.Вывести(Тушка);                              
	
		месгод=Макет.ПолучитьОбласть("Тушка | МесГод");				
		месгод.Параметры.месгод="Январь";
		ТабДок.Присоединить(месгод);
	
		месгод=Макет.ПолучитьОбласть("Тушка | МесГод");				
		месгод.Параметры.месгод="Февраль";
		ТабДок.Присоединить(месгод);
	
	возврат ТабДок;

Получаем: