Функция 99999(Таблица,H1,H2) Экспорт
Перем R1,C1,R2,C2;
ТаблицаБуфер=СоздатьОбъект("Таблица");
ТаблицаБуфер.ПараметрыСтраницы(2,,,5,5,20,5,0,0,,1,);
// перебор ячеек исходной таблицы
Для R1=1 По Таблица.ВысотаТаблицы() Цикл
Для C1=1 По Таблица.ШиринаТаблицы() Цикл
Если(R1<=H2)Тогда
// объединение областей
Если(ПустаяСтрока(Таблица.Область(R1,C1).Текст)=0)Тогда
Для C2=C1+1 По Таблица.ШиринаТаблицы() Цикл
Если(СокрЛП(Таблица.Область(R1,C1).Текст)<>СокрЛП(Таблица.Область(R1,C2).Текст))Тогда
C2=C2-1;
ТаблицаБуфер.Область(R1,C1,R1,C2).Объединить();
ТаблицаБуфер.Область(R1,C1,R1,C2).Текст=Таблица.Область(R1,C1).Текст;
C1=C2;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
q=Таблица.Область(R1,C1).ГоризонтальноеПоложение();
// выравнивание по столбцам
Если(q>31)Тогда
Для C2=C1+1 По Таблица.ШиринаТаблицы() Цикл
Если(ПустаяСтрока(Таблица.Область(R1,C2).Текст)=0)или
(Таблица.Область(R1,C1).ГоризонтальноеПоложение()<>Таблица.Область(R1,C2).ГоризонтальноеПоложение())Тогда
Если (q=32)Тогда q=5;
ИначеЕсли(q=34)Тогда q=6
ИначеЕсли(q=36)Тогда q=8;
ИначеЕсли(q=38)Тогда q=7;
КонецЕсли;
C2=C2-1;
ТаблицаБуфер.Область(R1,C1).Текст=Таблица.Область(R1,C1).Текст;
ТаблицаБуфер.Область(R1,C1,R1,C2).ГоризонтальноеПоложение(q);
C1=C2;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
// чтение рисунков
//
//
//
//
//
//
КонецЕсли;
КонецЦикла;
КонецЦикла;
ТаблицаБуфер.Показать("Буфер");
//результат выполнения
Сообщить("Разбиение выполнено!");
КонецФункции
******************************************************
Подробнее: как получить доступ к рисункам в Таблица и их же вставить в ТаблицаБуфер?