Как сделать колонтитулы в печатных формах и отчётах 1С

· 9 мин

Содержание

Колонтитулы в 1С — это верхняя и нижняя строки, которые повторяются на каждой печатной странице табличного документа: отчёта, счёта, акта, ТОРГ-12 или любой другой печатной формы. Чтобы их добавить, программист не нужен — текст, дату и номер страницы задают прямо перед печатью в окне Параметры страницы.

Если колонтитул должен подставляться автоматически в типовой форме (например, название организации и период в каждом отчёте), это настраивают через встроенный язык — свойствами ВерхнийКолонтитул и НижнийКолонтитул табличного документа. Ниже разберём оба пути: ручной для разовой печати и программный для постоянного вывода.

Где в 1С находятся колонтитулы

Колонтитул — это не свойство документа или справочника. Это свойство табличного документа (ТабличныйДокумент) — того объекта, в который 1С выводит любую печатную форму и любой отчёт. Поэтому настройка колонтитулов живёт не в карточке счёта, а в окне, которое открывается при печати.

Важная деталь: в обычном режиме редактирования и на экране колонтитулы по умолчанию не отображаются. Их видно в предпросмотре печати, на бумаге и в сохранённом PDF. Если вы ищете колонтитул в открытом табличном документе и не находите — это нормально, он появится при печати.

Поэтому проверять колонтитул нужно именно в предпросмотре печати, а не в окне редактирования. Предпросмотр открывается из главного меню табличного документа (раздел Файл → предварительный просмотр) либо кнопкой на панели печати. Он показывает страницы так, как они уйдут на принтер, с разбивкой по листам — сразу видно, на какой строке начинается вторая страница и как лёг колонтитул.

В 1С есть только два колонтитула — верхний и нижний. Боковых колонтитулов в платформе нет. Если нужно, чтобы шапка таблицы повторялась на каждом листе сбоку или сверху области данных, это делается не колонтитулом, а повторяющимися строками — об этом в отдельном разделе ниже.

Верхний и нижний колонтитул: что в них обычно помещают

Каждый колонтитул — это одна текстовая строка, которую можно выровнять по левому краю, по центру или по правому краю и оформить своим шрифтом. В неё помещают служебную информацию, которая должна быть на каждом листе.

КолонтитулЧто помещаютПример
🔝 ВерхнийНазвание организации, период, дата формированияООО «Ромашка» — отчёт за октябрь
🔻 НижнийНомер страницы, исполнитель, строка для подписиСтраница [&Страница] из [&Страниц]

Для разных документов наполнение отличается:

  • 📄 Счёт, акт, накладная — в нижний колонтитул часто ставят номер страницы и ФИО ответственного, чтобы при печати на нескольких листах не перепутать комплект.
  • 📊 Длинный отчёт (ОСВ, анализ счёта) — в верхний колонтитул выносят название отчёта и период, чтобы на любой странице было понятно, что это за документ.
  • 🗂 Реестр документов — верхний колонтитул с названием организации, нижний со сквозной нумерацией.
  • 📑 Договор или многостраничное положение — нижний колонтитул с номером листа и общим числом листов, чтобы комплект нельзя было пересобрать в неверном порядке.

Чем длиннее документ, тем важнее колонтитул: на одностраничном счёте он почти не нужен, а в отчёте на 15 листов нумерация и название на каждой странице экономят время при сверке и подшивке.

Текст колонтитула можно оформить: выбрать шрифт, размер и начертание, задать выравнивание по левому краю, по центру или по правому. Высота поля под колонтитул берётся из полей страницы — если место мало, строка обрежется, поэтому под нужный колонтитул оставляют соответствующее верхнее или нижнее поле.

В 1С колонтитул хранит только текст. Вставить логотип картинкой прямо в колонтитул нельзя — для этого изображение размещают в самой печатной форме как рисунок в повторяющейся области.

Как добавить колонтитул вручную перед печатью

Это самый быстрый способ для разовой печати любого отчёта или формы. Программировать ничего не нужно.

  1. Сформируйте нужную печатную форму или отчёт — откроется окно табличного документа.
  2. Откройте Параметры страницы. Команда находится в главном меню табличного документа, в разделе Таблица (в части версий платформы — в разделе Файл).
  3. Найдите блок настроек колонтитулов. Включите вывод верхнего и/или нижнего колонтитула соответствующим флажком.
  4. Впишите текст. Там же есть кнопки для вставки готовых полей — номера страницы, даты, времени (они вставляются как служебные макросы, см. следующий раздел).
  5. При необходимости задайте шрифт и выравнивание текста — по левому краю, по центру или по правому.
  6. Нажмите ОК и отправьте документ на печать или откройте предпросмотр, чтобы проверить результат.

Настройка колонтитула, заданная таким способом, живёт в этом конкретном табличном документе. Если закрыть его и сформировать печатную форму заново, колонтитул придётся задать снова. Чтобы он появлялся всегда, нужен программный способ.

Дата, время и номер страницы: встроенные поля

В тексте колонтитула нельзя написать «страница 1» руками — номер должен меняться автоматически. Для этого 1С понимает специальные макросы в квадратных скобках со знаком &:

МакросЧто подставляет
[&Страница]Номер текущей страницы
[&Страниц]Общее число страниц в документе
[&Дата]Дата печати
[&Время]Время печати

Пишете их прямо в тексте колонтитула, вперемешку с обычными словами. Например, строка нижнего колонтитула:

Лист [&Страница] из [&Страниц]          Дата печати: [&Дата]

На печати это превратится в «Лист 1 из 4 … Дата печати: 07.10.2026» и так далее на каждом листе. Числа подставятся сами: на первом листе — 1, на последнем — столько, сколько страниц реально получилось после разбивки.

Макросы можно комбинировать с обычным текстом в любом порядке, а также разносить по верхнему и нижнему колонтитулу. Частый вариант — дату вынести в верхний колонтитул, а нумерацию оставить в нижнем.

Нумерация страниц. Сквозная нумерация — это как раз пара [&Страница] и [&Страниц]. Если нужно, чтобы отсчёт начинался не с единицы (например, документ — продолжение другого), начальный номер страницы задают в том же окне Параметры страницы — ищите поле начального номера рядом с настройками колонтитулов.

Если в колонтитуле вместо номера печатается буквально текст [&Страница], значит, макрос введён с опечаткой. Проверьте квадратные скобки и знак & — без них 1С воспринимает это как обычный текст.

Подставить в колонтитул произвольные данные из базы — конкретного контрагента, сумму, выбранный период — макросами нельзя. Для этого нужен встроенный язык.

Динамические колонтитулы через встроенный язык

Если колонтитул должен формироваться сам — с данными из базы и на каждой печати, — его задают в коде, который строит табличный документ. Это делает разработчик в модуле печатной формы или отчёта.

У табличного документа есть свойства ВерхнийКолонтитул и НижнийКолонтитул. У каждого — свой текст, флаг вывода и шрифт:

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

// ... здесь вывод областей макета в ТабДок ...

ТабДок.ВерхнийКолонтитул.Выводить = Истина;
ТабДок.ВерхнийКолонтитул.Текст =
    "ООО «Ромашка» — отчёт за " + Формат(ПериодОтчета, "ДФ=MMMM yyyy");

ТабДок.НижнийКолонтитул.Выводить = Истина;
ТабДок.НижнийКолонтитул.Текст = "Страница [&Страница] из [&Страниц]";
ТабДок.НижнийКолонтитул.Шрифт = Новый Шрифт("Arial", 8);

ТабДок.Напечатать();

Здесь данные из базы (переменная ПериодОтчета) подставляются в текст обычным сложением строк, а служебные макросы вроде [&Страница] работают так же, как при ручной настройке.

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

Такой код задаёт колонтитул для одного конкретного табличного документа перед его показом или печатью. В типовой конфигурации место для него — процедура, которая собирает печатную форму (её удобнее дорабатывать расширением конфигурации, не меняя типовой код).

Кроме текста и шрифта у колонтитула есть высота — её задают, когда стандартного места под строку не хватает или, наоборот, нужно поджать поле. Если высоту не трогать, платформа подбирает её под размер шрифта. Текст и флаг вывода задают для верхнего и нижнего колонтитула независимо: можно вывести только нижний с нумерацией, оставив верхний пустым.

Колонтитулы в отчётах на системе компоновки данных

Отчёт на СКД тоже выводит результат в табличный документ, поэтому колонтитулы к нему применяются по тем же правилам. В самой схеме компоновки отдельной настройки колонтитулов нет.

Есть два пути:

  • Разово. Сформируйте отчёт, откройте Параметры страницы у готового табличного документа и задайте колонтитул вручную — как для любой печати. Подходит, когда колонтитул нужен один раз.
  • Постоянно. Разработчик обрабатывает результат компоновки в модуле отчёта: после того как результат выведен в табличный документ, выставляет ему свойства ВерхнийКолонтитул и НижнийКолонтитул тем же кодом, что и выше. Тогда колонтитул будет в каждом экземпляре отчёта.

Для стандартного вывода СКД, который формируется автоматически, удобнее именно второй путь — иначе настройку придётся повторять при каждом запуске.

Повтор шапки таблицы на каждой странице

Это частая задача, которую ошибочно ищут среди колонтитулов: сделать так, чтобы шапка большой таблицы (названия колонок) повторялась на каждом листе. Колонтитул для этого не подходит — он выводит только текст, а не строки таблицы.

Нужный инструмент — повторяющиеся строки и колонки:

  • В окне Параметры страницы есть настройка повтора — указываете, какие строки печатать на каждой странице сверху, а какие колонки — слева.
  • Программно у табличного документа за это отвечают свойства ПовторятьПриПечатиСтроки и ПовторятьПриПечатиКолонки — в них задают диапазон строк или колонок, которые дублируются на каждом листе.

Так шапка отчёта из нескольких строк окажется наверху каждой страницы, а колонтитул останется для служебной информации — названия и нумерации.

На практике эти два механизма работают вместе: повторяющиеся строки держат «настоящую» шапку таблицы с названиями колонок, а верхний колонтитул поверх неё выводит название отчёта и период. Разделять их стоит именно так — колонтитул не умеет показывать данные ячеек, а повторяющиеся строки не умеют автоматически нумеровать страницы.

Типичные ошибки при настройке колонтитулов

Большинство проблем сводится к тому, что колонтитул «не печатается» или выглядит не так, как в окне настройки.

Диагностика: выберите симптом

Частые вопросы

Можно ли вставить логотип или картинку в колонтитул 1С?
Нет. Колонтитул хранит только текст. Логотип размещают как рисунок в самой печатной форме — например, в повторяющейся верхней области макета, тогда он будет на каждом листе.
Как убрать колонтитул с первой (титульной) страницы?
Штатной настройки «не выводить на первой странице» в колонтитуле нет. Обычно титульный лист печатают отдельным табличным документом без колонтитула, а основную часть — с колонтитулом, и соединяют при печати.
Попадёт ли колонтитул в PDF и Excel при сохранении?
При сохранении в PDF колонтитулы попадают в файл — это печатное представление документа. При выгрузке в формат Excel поведение зависит от версии платформы, поэтому результат лучше проверить предпросмотром.
Можно ли сделать разные колонтитулы на чётных и нечётных страницах?
Нет, платформа такого не поддерживает. Колонтитул одинаков для всех страниц документа; меняется только автоматический номер страницы через макрос [&Страница].
Почему номер страницы начинается не с единицы?
В Параметры страницы задан начальный номер страницы, отличный от 1, либо документ печатается как продолжение другого. Проверьте поле начального номера рядом с настройками колонтитулов.