0
Deon
26.08.22
✎
11:00
|
Есть у меня отчет на СКД, в котором я хочу сгрупировать колонки после его вывода в ТабличныйДокумент.
Вот таким методом:
ТабДок.Область(, НомерПервойКолонки, , НомерПоследнейКолонки).Сгруппировать();
Но, СКД-шные отчеты выводят заголовок, параметры, отборы и саму таблицу с данными разными областями, у которых везде своя ширина колонок. И моя группировка колонок группирует колонки основного ТабличногоДокумента, а не нужной мне области отчета.
Как указать 1С-ке, что я хочу сгруппировать колонки именно в нужной области?
|
|
3
lodger
26.08.22
✎
14:27
|
//пишем где то после
ПроцессорВывода.ЗакончитьВывод();
ЗаголовокСредних = Результат.НайтиТекст("Строкове имя твоего заголовка",Результат.получитьобласть("R1C1"));
Если ЗаголовокСредних <> Неопределено Тогда
ОбластьПоиска = Результат.Область(ЗаголовокСредних.Верх,ЗаголовокСредних.Лево,ЗаголовокСредних.Верх+5,ЗаголовокСредних.Лево+8);
// у меня подзаголовок сворачиваемых колонок всегда был +- 5 вниз и до 8 вправо от основного
ОбластьКолонки = Результат.НайтиТекст("ДельтаВсеСуммаСр",Результат.ПолучитьОбласть(ЗаголовокСредних.Верх,ЗаголовокСредних.Лево),ОбластьПоиска);
// ищу целевые колонки
Пока ОбластьКолонки <> Неопределено Цикл // пока есть колонки с дельтами продолжаю поиск от последней найденной
ОбластьДляГруппировки = Результат.Область(, ОбластьКолонки.Лево+1, ОбластьКолонки.Верх, ОбластьКолонки.Лево+2);
ОбластьДляГруппировки.Сгруппировать("Дельта",РасположениеЗаголовкаГруппировкиТабличногоДокумента.Начало);
ОбластьКолонки = Результат.НайтиТекст("Дельта",ОбластьКолонки,ОбластьПоиска);
// повторно ищу целевые колонки, когда кончится область поиска даст Неопределено
КонецЦикла;
КонецЕсли;
|
|