Табличные документы в 1С обычно используются для вывода отчетов и печатных форм. Его структура на внешний вид напоминает Excel и доступны похожие средства форматирования и оформления. Следует отметить, что хорошим в 1С считается построение отчетов в системе СКД, а вывод данных напрямую в табличный документ, оставлен для печатных форм.
Макет – описание полей или областей табличного документа, которые будут выведены пользователю. Другими словами это каркас или схема итогового табличного документа.

Области в отчете выводятся сверху вниз и слева направо. Область может иметь имя, через которое к ней можно обращаться. Имя области задается следующим образом: нужно выделить область которой вы хотите задать имя (можно выделить целиком строку\строки или колонку\колонки) и после этого выбрать меню Таблица - Имена - Назначить имя.
Макеты используются не только для хранения заранее заготовленного оформления отчета, но и к примеру для настройки авторегистрации отчета(так сделано в большинстве типовых конфигураций построенных на обычном приложении), там могут быть какие то бинарные данные или отчет СКД. Макеты могут быть у документов, справочников или у большинства других типов метаданных. Предусмотрены помощники создания печатных форм, которые на основании реквизитов выбранного объекта строят макет, генерируют процедуру и установку кнопки на форму по его заполнению и выводу на печать готового табличного документа.(
Куда нить приляпать замечание о том что можно сделать у одной строки свою ширину колонок)
Ячейки в макете могут иметь следующий тип:
Заполнение макета конструктором печати документа реализация товаров и услуг
//{{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(Печать1)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = Новый ТабличныйДокумент;
Макет = Документы.РеализацияТоваровУслуг.ПолучитьМакет("Печать");
// Заголовок
Область = Макет.ПолучитьОбласть("Заголовок");
ТабДок.Вывести(Область);
// Шапка
Шапка = Макет.ПолучитьОбласть("Шапка");
Шапка.Параметры.Заполнить(ЭтотОбъект);
ТабДок.Вывести(Шапка);
// Товары
Область = Макет.ПолучитьОбласть("ТоварыШапка");
ТабДок.Вывести(Область);
ОбластьТовары = Макет.ПолучитьОбласть("Товары");
Для Каждого ТекСтрокаТовары Из Товары Цикл
ОбластьТовары.Параметры.Заполнить(ТекСтрокаТовары);
ТабДок.Вывести(ОбластьТовары);
КонецЦикла;
// Подвал
Подвал = Макет.ПолучитьОбласть("Подвал");
Подвал.Параметры.Заполнить(ЭтотОбъект);
ТабДок.Вывести(Подвал);
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать();
//}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ
Вкратце, схема следующая:
Теперь подробно. Создаем табличный документ, куда будет выводиться макет
ТабДок = Новый ТабличныйДокумент;
Получаем нужный нам макет:
Макет = Документы.РеализацияТоваровУслуг.ПолучитьМакет("Печать");
Получаем область из этого макета
Шапка = Макет.ПолучитьОбласть("Шапка");
Устанавливаем значения параметров существующих в этой области
Шапка.Параметры.Заполнить(ЭтотОбъект); //если есть коллекция откуда заполнять данные //или Шапка.Параметры. Номер = ЭтотОбъект.Номер;
Выводим эту область в табличном документе
ТабДок.Вывести(Шапка);
Показываем табличный документ
ТабДок.Показать();
Табличный документ можно вывести не только на экран пользователю, но и например в эксель, этот метод бывает чрезвычайно полезным, так как бывает гораздо удобнее сделать печатную форму, и сохранить ее средствами платформы в эксель, чем самому его «мастерить» с помощью com. Делается это следующим образом:
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLS);