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

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

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

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

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

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

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

Откройте печатную форму и включите режим просмотра «Разметка страниц» (кнопка на панели табличного документа или меню «Таблица — Вид»). Синие пунктирные линии покажут автоматические разрывы, а сплошные — принудительные, заданные вручную или программно. Это главный диагностический признак.

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

На листе много пустого места, а таблица ушла на следующую страницуПринудительный разрыв

Ищите свойство разрыва в макете или вызовы в коде печати

Таблица обрезана справа, часть колонок на другом листеДокумент шире печатной области

Проверьте масштаб, ориентацию и ширину колонок

Последняя страница содержит только подписиСекция подвала не помещается

Сократите содержимое или включите уменьшение масштаба

Разрыв появляется только у одного пользователяЛокальные настройки печати

Сравните параметры страницы и принтер по умолчанию

Убираем принудительный разрыв в режиме предприятия

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

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

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

Как убрать разрыв в пользовательском режиме
  1. 1
    Откройте печатную форму и включите режим «Разметка страниц»
  2. 2
    Переведите табличный документ в режим редактирования
  3. 3
    Поставьте курсор в первую строку под разрывом
  4. 4
    Выполните «Таблица — Разрывы страниц — Убрать разрыв страницы»
  5. 5
    Отправьте документ на предварительный просмотр и проверьте, что содержимое не обрезано

Отключаем разрыв в макете печатной формы

Постоянное решение делается в конфигураторе. Откройте макет печатной формы (общий макет или макет объекта), выделите область, которая выводится первой на новой странице, и откройте палитру свойств. Нас интересуют свойства, связанные с разрывом: у строк макета проверьте «НоваяСтраница» / «РазрывСтраницы», у именованных областей — аналогичные признаки начала новой страницы.

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

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

Убираем разрыв, заданный программно в коде

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

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

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

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

Если разрыв автоматический: масштаб, поля и ориентация

Когда документ просто не помещается на лист, разрыв убирается настройками страницы. Откройте «Файл — Параметры страницы» в окне печатной формы и проверьте: масштаб (поставьте, например, 90% или режим «Поместить на странице»), ориентацию (широкие таблицы лучше печатать в альбомной), а также поля — уменьшение полей с 20 мм до 10 мм часто освобождает место для ещё одной-двух строк.

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

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

Способы убрать разрыв

Ручное удаление в режиме предприятия

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

Правка макета в конфигураторе

Постоянное решение для всех пользователей; требует прав разработчика и аккуратности с поддержкой конфигурации

Изменение кода печати

Нужно, когда разрыв ставится программно; даёт полный контроль, но требует проверки, чтобы содержимое не обрезалось

Настройка масштаба и полей

Подходит для автоматических разрывов; не поможет против принудительного разрыва, заданного в макете

Проверяем результат и типичные ошибки

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

Отдельно проверьте печать на физическом принтере или в PDF: экранная разметка иногда отличается от реальной из-за драйвера принтера и размера бумаги по умолчанию (A4 против Letter). Если у пользователей разные принтеры, зафиксируйте размер бумаги в настройках макета.

Типичные ошибки
01
Удаление разрыва только в текущей форме — при повторной печати он возвращается, потому что не изменён макет или код
02
Отключение проверки ПроверитьВывод без замены — подвал документа начинает обрываться посередине таблицы
03
Правка типового макета на поддержке — изменения теряются при обновлении конфигурации
04
Уменьшение масштаба ниже читаемого уровня — разрыв убран, но печатать документ стало бессмысленно
05
Игнорирование размера бумаги — на компьютере разработчика всё помещается, у пользователя с другим принтером снова появляется разрыв
Контрольные точки

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

Разметка страниц после изменений
Норма

Содержимое идёт подряд, лишних пустых листов нет

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

Появился пустой лист или таблица обрезана посередине строки

Документ с большим числом строк
Норма

Переносы происходят по границам строк, итоги на своём месте

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

Итоги уехали на отдельный лист без необходимости

Печать в PDF и на принтере
Норма

Разметка совпадает с экранным предпросмотром

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

На бумаге появляются разрывы, которых не было на экране

Повторное формирование формы
Норма

Изменения сохраняются при каждой печати

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

Разрыв вернулся — правили только экземпляр, а не источник

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

Почему разрыв появляется только у одного пользователя?

Чаще всего дело в локальных настройках: другой принтер по умолчанию, другой размер бумаги (Letter вместо A4) или индивидуально сохранённые параметры страницы. Сравните настройки печати у пользователей и зафиксируйте размер бумаги и поля в макете, чтобы результат не зависел от рабочего места.

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

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

Убрал разрыв, а последняя страница всё равно почти пустая. Что не так?

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

Как запретить разрыв внутри строки таблицы?

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

Влияет ли драйвер принтера на разрывы страниц?

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

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

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

Итог

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

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