Создаем макет, где вставляем тег, который далее заместим на сгенерированную xml разметку с таблицей.
Далее после кода, где определяется область с таблицей
Область = УправлениеПечатью.ОбластьМакета(Макет, Области[ИмяМакета].Документ);
Добавляем следующий код.
ТекстОбласти = Область.Текст;
ИмяТаблицы = "Таблица";
НомерТаблицы = 1;
Таблица = ЗначениеИзСтрокиВнутр(ТаблицаСтрока);
НомерТаблицы = НомерТаблицы + 1;
СтрокаПоиска = "{v8 " + ИмяТаблицы + "}";
НачалоТаблицы = СтрНайти(ТекстОбласти, СтрокаПоиска);
Если НачалоТаблицы = 0 Тогда
Возврат "";
КонецЕсли;
КонецПараграфа = СтрНайти(ТекстОбласти, "</w:p>",, НачалоТаблицы);
НачалоПараграфа = СтрНайти(ТекстОбласти, "<w:p ", НаправлениеПоиска.СКонца, НачалоТаблицы);
СтрокаЗамены = Сред(ТекстОбласти, НачалоПараграфа, КонецПараграфа - НачалоПараграфа +6 );
//СтрокаБезТегаТаблица = СтрЗаменить(СтрокаЗамены, СтрокаПоиска, "");
ТабДокумент = Таблица;
ПоследняяСтрока = ТабДокумент.ВысотаТаблицы;
ПоследняяКолонка = ТабДокумент.ШиринаТаблицы;
ТаблицаХМЛ = "";
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, ("<w:tbl>")); // начало таблицы
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, ("<w:tblPr>")); // начало свойств
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, ("<w:tblW w:w=""0"" w:type=""auto""/>")); // начало свойств
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, ("<w:tblBorders>")); // Границы
ТекстГраница = "<w:%1 w:val=""single"" w:sz=""4"" w:space=""0"" w:color=""auto""/>";
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, СтрШаблон(ТекстГраница, "top"));
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, СтрШаблон(ТекстГраница, "left"));
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, СтрШаблон(ТекстГраница, "bottom"));
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, СтрШаблон(ТекстГраница, "right"));
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, СтрШаблон(ТекстГраница, "insideH"));
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, СтрШаблон(ТекстГраница, "insideV"));
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, ("</w:tblBorders>"));
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, ("</w:tblPr>"));
// перебор столбцов
НомерСтолбца = 1;
Пока НомерСтолбца <= ПоследняяКолонка Цикл
Ячейка = ТабДокумент.Область("R1C" + НомерСтолбца);
НомерСтолбца = НомерСтолбца + 1;
КонецЦикла;
НомерСтр = 1;
Пока НомерСтр <= ПоследняяСтрока Цикл
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, "<w:tr>"); //начало описание строки
Для Счетчик = 1 По НомерСтолбца - 1 Цикл
Ячейка = ТабДокумент.Область("R" + Строка(НомерСтр) + "C"+Счетчик);
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, "<w:tc>"); //начало ячейки
Если НомерСтр = 1 Тогда
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, "<w:tcPr><w:tcW w:w=""0"" w:type=""auto""/><w:shd w:val=""clear"" w:color=""auto"" w:fill=""366091""/></w:tcPr>");
Иначе
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, "<w:tcPr><w:tcW w:w=""0"" w:type=""auto""/></w:tcPr>");
КонецЕсли;
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, "<w:p>");
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, "<w:r>");
Если НомерСтр = 1 Тогда
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, "<w:rPr><w:color w:val=""#FFFFFF"" /></w:rPr>)");
КонецЕсли;
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, "<w:t>");
ТекстЯчейки = Ячейка.Текст;
Если СтрНайти(ТекстЯчейки, ">") > 0 Тогда
ТекстЯчейки = СтрЗаменить(ТекстЯчейки, ">", ">")
КонецЕсли;
Если СтрНайти(ТекстЯчейки, "<") > 0 Тогда
ТекстЯчейки = СтрЗаменить(ТекстЯчейки, "<", "<")
КонецЕсли;
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, ТекстЯчейки);
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, "</w:t>");
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, "</w:r>");
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, "</w:p>");
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, "</w:tc>"); //
КонецЦикла;
НомерСтр = НомерСтр + 1;
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, "</w:tr>");
КонецЦикла;
ТаблицаХМЛ = ДобавитьТекст(ТаблицаХМЛ, ("</w:tbl>"));
ТекстОбласти = СтрЗаменить(ТекстОбласти, СтрокаЗамены, ТаблицаХМЛ);
Область.Текст = ТекстОбласти;
УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеОбъекта);
В коде идет раскрашивание первой строки таблицы, в итоге получаем на печать следующее.
Если надо что-то новое добавить в таблицу, пользуемся разметкой Office Open xml тут - http://datypic.com/sc/ooxml/ss.html
А вот тут есть подробнее про таблицы - http://officeopenxml.com/WPtable.php
Тестировалось на "Библиотека стандартных подсистем", редакция 3.1 (3.1.9.104).
Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.5.14.74