К статье
Практический материал

Документы и Печать · 11 мин

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

Как сделать страницы в 1С: добавить номера страниц в печатную форму, настроить колонтитулы, разрывы страниц и поля. Пошаговая инструкция для типовых конфигураций.

Под вопросом «как сделать страницы в 1С» обычно скрывается одна из трёх задач: пронумеровать страницы в печатной форме документа, настроить разбиение длинного документа на страницы при печати или вывести номер страницы и общее количество страниц в колонтитуле. Все три решаются штатными средствами платформы — либо через настройки печати, либо через макет табличного документа.

Способ зависит от того, где вы работаете. В пользовательском режиме (печать готового документа) доступны настройки колонтитулов и параметров страницы без изменения конфигурации. Если нужно изменить сам макет — например, добавить номер страницы в подвал каждого листа счёта или ТОРГ-12, — потребуется режим конфигуратора или внешняя печатная форма.

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

Определите, какая именно задача перед вами

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

  • Пронумеровать страницы при разовой печати — решается в окне предварительного просмотра через колонтитулы, ничего менять в конфигурации не нужно.
  • Добавить номер страницы в макет печатной формы постоянно — потребуется правка макета или подключение внешней печатной формы.
  • Управлять разрывами страниц — чтобы таблица не «рвалась» посередине строки или новый раздел начинался с нового листа.
  • Настроить поля, ориентацию и масштаб — чтобы документ помещался на лист нужного формата.
Маршрут решения

Как выбрать действие

Нужно пронумеровать страницы один раз при печатиИспользуйте колонтитулы в настройках печати — конфигурацию менять не нужно
Номер страницы должен быть всегда у всех пользователейДоработайте макет печатной формы или подключите внешнюю печатную форму
Документ печатается с обрезанными краямиНастройте поля и масштаб в параметрах страницы
Таблица разрывается в неудобном местеНастройте разрывы страниц в макете или свойство автомасштаба

Нумерация страниц через колонтитулы при печати

Самый быстрый способ — добавить номер страницы через колонтитул в момент печати. Откройте документ, сформируйте печатную форму и перейдите в предварительный просмотр. В зависимости от версии платформы и конфигурации настройка находится в меню «Ещё» → «Параметры страницы», либо вызывается через «Файл» → «Параметры страницы» в окне табличного документа.

В диалоге параметров есть поля верхнего и нижнего колонтитула (слева, по центру, справа). В нужное поле вставьте служебное выражение [&НомерСтраницы] — при печати оно заменится на номер текущей страницы. Для вывода общего количества используется [&СтраницВсего]. Типовая комбинация для нижнего колонтитула по центру: Страница [&НомерСтраницы] из [&СтраницВсего].

Порядок действий
  1. 1
    Откройте документ и нажмите «Печать», выберите нужную форму
  2. 2
    В окне предварительного просмотра откройте «Параметры страницы» (меню «Ещё» или «Файл»)
  3. 3
    В поле нижнего колонтитула введите: Страница [&НомерСтраницы] из [&СтраницВсего]
  4. 4
    Нажмите «ОК» и проверьте результат в предварительном просмотре
  5. 5
    Отправьте документ на печать или сохраните в PDF

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

Номер страницы в макете печатной формы

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

В ячейке, где должен быть номер, установите тип заполнения «Параметр» и задайте имя, например НомерСтраницы. Затем в модуле менеджера печати (или в процедуре формирования печатной формы) при выводе области подвала заполните параметр значением номера страницы табличного документа.

bsl
// Пример: вывод номера страницы в подвале при постраничной печати
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьПодвал.Параметры.НомерСтраницы = ТабличныйДокумент.ВысотаТаблицы; // либо номер из логики разбиения
ТабличныйДокумент.Вывести(ОбластьПодвал);

На практике чаще используют другой подход: макет формируется целиком, а нумерация «Страница N из M» выводится через колонтитулы самого табличного документа — у него есть свойства НижнийКолонтитул и ВерхнийКолонтитул, где можно программно задать текст с полями [&НомерСтраницы] и [&СтраницВсего]. Тогда колонтитул сохраняется вместе с формой и не требует ручной настройки при каждой печати.

Разрывы страниц и повторение шапки таблицы

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

Чтобы строка не разрывалась посередине, проверьте высоту строк в макете и избегайте объединённых ячеек большой высоты — они плохо переносятся. Если нужен принудительный переход на новый лист (например, каждое приложение к договору с новой страницы), в коде формирования используется проверка помещаемости области и вывод разрыва страницы.

bsl
// Проверка: поместится ли область на текущей странице
МассивОбластей = Новый Массив;
МассивОбластей.Добавить(ОбластьСтрока);
МассивОбластей.Добавить(ОбластьПодвал);
Если НЕ ТабличныйДокумент.ПроверитьВывод(МассивОбластей) Тогда
    ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;

Метод ПроверитьВывод — стандартный способ избежать «висячих» строк и подписей, оторванных от таблицы. Логика проста: перед выводом очередной строки проверяется, поместится ли она вместе с подвалом на текущей странице; если нет — вставляется разрыв, и строка уходит на новый лист.

Поля, ориентация и масштаб страницы

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

ПараметрЧто даётГде настраивается
Ориентация (книжная/альбомная)Широкие таблицы помещаются на листПараметры страницы или свойство макета
Поля (верхнее, нижнее, левое, правое)Убирает обрезание текста принтеромПараметры страницы при печати
Масштаб / автомасштабВписывает документ в ширину листаПараметры страницы, свойство АвтоМасштаб
Размер бумаги (A4, A5)Соответствие реальному формату листаПараметры страницы

Практический совет: для широких печатных форм (ТОРГ-12, оборотные ведомости) сначала попробуйте альбомную ориентацию, и только потом уменьшайте масштаб. Слишком мелкий масштаб делает документ нечитаемым, а альбомная ориентация сохраняет нормальный размер шрифта.

Проверка результата перед печатью

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

Контрольные точки

Как проверить результат

Номер страницы в колонтитуле
Норма

На каждой странице виден корректный номер, общее количество совпадает с реальным

Тревожный признак

Вместо номера виден текст [&НомерСтраницы] — значит, поле введено с ошибкой или не там

Шапка таблицы
Норма

Повторяется на каждой странице многостраничного документа

Тревожный признак

На второй и следующих страницах таблица без заголовков колонок

Границы страниц
Норма

Весь текст внутри полей, ничего не обрезано

Тревожный признак

Правая колонка уходит за край листа

Разрывы
Норма

Строки таблицы не разорваны, подписи не оторваны от таблицы

Тревожный признак

Подпись руководителя одиноко висит на отдельном листе

Если документ уходит в PDF для контрагента, откройте сохранённый файл и пролистайте его целиком — иногда при экспорте проявляются проблемы, незаметные в предпросмотре, например съехавшие границы ячеек.

Типичные ошибки и ограничения

Типичные ошибки
01
Ввод [&НомерСтраницы] в обычную ячейку макета без параметра — текст так и останется текстом, потому что поля колонтитулов работают только в колонтитулах
02
Правка типового макета напрямую — после обновления конфигурации изменения теряются; используйте внешнюю печатную форму
03
Настройка колонтитула только у себя — другие пользователи печатают без нумерации, потому что настройка локальная
04
Игнорирование ПроверитьВывод — подвал документа отрывается от таблицы и уходит на отдельный лист
05
Слишком маленький масштаб ради «влезло на одну страницу» — документ становится нечитаемым

Ещё одно ограничение: в web-клиенте часть настроек параметров страницы зависит от браузера и может отличаться от тонкого клиента. Если печать ведётся через браузер, проверяйте результат именно в том окружении, в котором работают пользователи.

Итог

Что важно запомнить

Разовая нумерация делается через колонтитулы с полями [&НомерСтраницы] и [&СтраницВсего], постоянная — через макет или внешнюю печатную форму. Разрывами управляют через ПроверитьВывод, а проблемы с обрезанием — через поля, ориентацию и масштаб. Результат всегда проверяйте в предварительном просмотре.

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

Как сделать, чтобы нумерация начиналась со второй страницы?

Штатных настроек «начать с номера N» в колонтитулах нет. Варианты: выводить номер программно со смещением (номер страницы минус один) при формировании макета, либо разбить документ на части и печатать титульный лист отдельно без колонтитула.

Почему вместо номера страницы печатается текст [&НомерСтраницы]?

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

Можно ли пронумеровать страницы без доступа к конфигуратору?

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

Как повторить шапку таблицы на каждой странице?

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

Что делать, если документ обрезается при печати справа?

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

Сохранятся ли настройки колонтитулов при выгрузке в PDF?

Да, колонтитулы выводятся вместе с табличным документом и попадают в PDF при сохранении. Если колонтитул задан программно в макете, он будет и в печатной копии, и в файле. Настройки, заданные вручную в параметрах страницы, применяются к текущему выводу на печать.