Нужно использовать функцию после формирования табличного документа
Функция ОбработатьЗаголовки(ТабДок)
ВысотаФ = ТабДок.ФиксацияСверху;
ШиринаФ = ТабДок.ФиксацияСлева;
ШиринаТаблицы = ТабДок.ШиринаТаблицы;
МассивМассивовОбъединяемыхОбластей = Новый Массив;
МассивОбъединяемыхОбластей = Новый Массив;
НачальнаяКолонка = ШиринаФ + 1;
КонечнаяКолонка = ШиринаТаблицы;
МассивОбъединяемыхОбластей.Добавить(Новый Структура("НачальнаяКолонка, КонечнаяКолонка", НачальнаяКолонка, КонечнаяКолонка));
МассивМассивовОбъединяемыхОбластей.Добавить(МассивОбъединяемыхОбластей);
Строка = 1;
Пока Строка <= ВысотаФ Цикл
Если Строка = МассивМассивовОбъединяемыхОбластей.Количество() Тогда
Для Каждого ОбъединяемаяОбласть Из МассивМассивовОбъединяемыхОбластей[Строка-1] Цикл
НачальнаяКолонка = ОбъединяемаяОбласть.НачальнаяКолонка;
КонечнаяКолонка = ОбъединяемаяОбласть.КонечнаяКолонка;
Колонка = НачальнаяКолонка;
Пока Колонка <= КонечнаяКолонка Цикл
Если НЕ ОбъединятьЯчейки(ТабДок, Строка, Колонка) ИЛИ Колонка = КонечнаяКолонка Тогда
Если Колонка <> НачальнаяКолонка Тогда
МассивОбъединяемыхОбластей.Добавить(Новый Структура("НачальнаяКолонка, КонечнаяКолонка", НачальнаяКолонка, Колонка));
КонецЕсли;
НачальнаяКолонка = Колонка + 1;
КонецЕсли;
Колонка = Колонка + 1;
КонецЦикла;
КонецЦикла;
Если МассивОбъединяемыхОбластей.Количество() = 0 И ОбъединяемаяОбласть.НачальнаяКолонка = ШиринаФ + 1 И ОбъединяемаяОбласть.КонечнаяКолонка = ШиринаТаблицы Тогда
МассивОбъединяемыхОбластей.Добавить(Новый Структура("НачальнаяКолонка, КонечнаяКолонка", ОбъединяемаяОбласть.НачальнаяКолонка, ОбъединяемаяОбласть.КонечнаяКолонка));
КонецЕсли;
МассивМассивовОбъединяемыхОбластей.Добавить(МассивОбъединяемыхОбластей);
МассивОбъединяемыхОбластей = Новый Массив;
КонецЕсли;
Строка = Строка + 1;
КонецЦикла;
Строка = 1;
Пока Строка < МассивМассивовОбъединяемыхОбластей.Количество() Цикл
Для Каждого ОбъединяемаяОбласть Из МассивМассивовОбъединяемыхОбластей[Строка] Цикл
ТекстЗаголовка = ТабДок.Область(Строка, ОбъединяемаяОбласть.НачальнаяКолонка).Текст;
ОбъединяемаяОбласть = ТабДок.Область(Строка, ОбъединяемаяОбласть.НачальнаяКолонка, Строка, ОбъединяемаяОбласть.КонечнаяКолонка);
ОбъединяемаяОбласть.Объединить();
ОбъединяемаяОбласть.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
ОбъединяемаяОбласть.Текст = ТекстЗаголовка;
КонецЦикла;
Строка = Строка + 1;
КонецЦикла;
Возврат ТабДок;
КонецФункции
Функция ОбъединятьЯчейки(ТабДок, Строка, НачальнаяКолонка)
Ячейка = ТабДок.Область(Строка, НачальнаяКолонка);
ЯчейкаСлед = ТабДок.Область(Строка, НачальнаяКолонка+1);
Если ПустаяСтрока(Ячейка.Текст) Тогда
Возврат ложь
ИначеЕсли
Ячейка.Текст = ЯчейкаСлед.Текст
И Ячейка.Верх = Ячейка.Низ И ЯчейкаСлед.Верх = ЯчейкаСлед.Низ Тогда
Возврат Истина;
Иначе
Возврат ложь;
КонецЕсли;
КонецФункции
Заполнение табличного документа
ТабличныйДокументПоДвоичнымДанным (БСП)
РаспечататьТабличныеДокументы (БСП)
Объединение табличных документов
Как загрузить в табличную часть одного документа табличную часть другого документа?
КопируемыеСвойстваТабличногоДокумента (БСП)
Печать БСП по табличному документу
#1, 09 июня 2020 14:34
Вот бы еще написать для чего это нужно и в каких случаях может пригодиться.
#2, 21 ноября 2020 20:16
(1) Константин Аванесов,
Привет! Это нужно, чтобы не склеивались колонки с одинаковым названием, но подчиненные разным верхним группам)