Как правильно реализовать вывод табличной формы с фиксированной структурой для печати в 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При разработке обработок, в которых требуется вывод табличных данных для последующей печати, разработчики часто задаются вопросом: какой инструмент выбрать для отображения структуры? Часто возникает соблазн использовать Табличное поле, однако такой подход не является оптимальным для задач, где основной целью является вывод документа на принтер.

Почему не стоит использовать Табличное поле для печатных форм?

Табличное поле — это элемент управления интерфейсом формы. Оно создано для того, чтобы пользователь мог взаимодействовать с данными непосредственно в окне программы: редактировать их, просматривать списки, выделять строки. Когда же задача состоит в том, чтобы сформировать «бумажный» документ, Табличное поле становится избыточным и неудобным инструментом. В его арсенале нет полноценных средств для настройки печатных полей, управления разрывами страниц или точного позиционирования элементов.

Использование Табличного документа как стандарта

Для создания профессиональных печатных форм в 1С стандартом является использование объекта ТабличныйДокумент. Этот объект представляет собой полноценный редактор документов, который позволяет гибко работать с макетами. Рассмотрим по шагам, как реализовать вывод таблицы с 4 столбцами и 4 строками.

Шаг 1: Создание макета

В конфигураторе, в ветке вашей обработки, добавьте новый Макет. Выберите тип Табличный документ. В этом редакторе нарисуйте таблицу, которая будет соответствовать вашим требованиям. Сразу задайте границы ячеек, шрифты и заголовки.

Важно правильно выделить области в макете:

  1. Выделите область для заголовков таблицы — назовите её Шапка.
  2. Выделите одну строку данных с ячейками под ваши 4 столбца — назовите её Строка.

Шаг 2: Программная реализация вывода

Теперь перейдем к коду. Чтобы вывести таблицу на печать или в форму просмотра, необходимо программно объединить области макета в объекте ТабличныйДокумент.

Рассмотрим пример кода, который формирует таблицу из 4 строк:


// Получаем макет обработки
Макет = ПолучитьМакет("МакетПечатнойФормы");

// Создаем новый табличный документ
ТабДок = Новый ТабличныйДокумент;

// Выводим шапку
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ТабДок.Вывести(ОбластьШапка);

// Выводим 4 строки
Для Сч = 1 По 4 Цикл
    ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
    
    // Если есть данные, заполняем параметры
    // ОбластьСтрока.Параметры.Колонка1 = ...
    
    ТабДок.Вывести(ОбластьСтрока);
КонецЦикла;

// Показываем результат пользователю
ТабДок.Показать("Печатная форма");

Преимущества описанного подхода

Разберем, почему данный метод является наиболее предпочтительным для решения вашей задачи:

Таким образом, использование макетов с ТабличнымДокументом позволяет отделить логику интерфейса (то, что видит пользователь на форме) от логики печатной формы (то, что идет на принтер). Это делает код программы чище, а возможности по доработке печатных форм — практически безграничными.

← На главную