Документы и Печать · 10 мин
Как удалить разрыв страницы в макете 1С
Как удалить разрыв страницы в макете 1С: ручное удаление, программный способ через ПоместитьРазрывСтраниц, настройка авторазрывов и проверка результата.
Разрыв страницы в макете 1С — это служебная строка, которая заставляет табличный документ начать печать следующей области с нового листа. Такие разрывы появляются в макетах печатных форм документов, отчётов и этикеток: либо их сознательно вставил разработчик, либо они добавились автоматически при объединении областей или копировании макета. Когда разрыв стоит не на месте, печатная форма «разваливается»: появляются пустые листы, шапка таблицы уезжает на отдельную страницу, подписи отрываются от таблицы.
Удалить разрыв можно двумя путями: вручную в конфигураторе через редактор макета или программно — при формировании табличного документа. Выбор зависит от того, где именно стоит разрыв и кто вносит изменение. Ручное удаление подходит для типовых и собственных макетов, когда нужно поправить один-два разрыва. Программный способ нужен, если разрывы формируются динамически или макет закрыт для редактирования расширением.
Где в макете 1С находятся разрывы страниц
В конфигураторе макет открывается как табличный документ с областями. Разрыв страницы отображается как отдельная строка, в левой части которой (в области именованных областей и служебных пометок) стоит признак разрыва. Чтобы увидеть служебную информацию, включите отображение имен областей и разрывов: в редакторе макета откройте свойства строки или используйте подсветку границ областей.
Разрыв может быть привязан к конкретной строке макета — тогда он срабатывает каждый раз при выводе этой области. Второй вариант — разрыв добавляется в результирующий табличный документ уже после вывода, например через параметры метода вывода области. В этом случае в самом макете разрыва не видно, и искать нужно в коде формирования печатной формы.
Отличить два случая просто: откройте макет в конфигураторе и пролистайте его целиком. Если строки с признаком разрыва видны — править нужно макет. Если макет чистый, а на печати листы всё равно разрываются в одном и том же месте — разрыв ставится программно или срабатывает автоматический разрыв по высоте страницы.
Как удалить разрыв вручную в конфигураторе
Откройте конфигуратор, найдите нужный макет: у документов и отчётов макеты лежат в ветке «Макеты» соответствующего объекта, общие печатные формы — в «Общие макеты». Дважды щёлкните по макету типа «Табличный документ», чтобы открыть редактор.
Пролистайте макет и найдите строки с разрывом. Выделите строку, откройте палитру свойств (правый клик — «Свойства») и проверьте свойство, отвечающее за разрыв страницы. Если разрыв задан как отдельная служебная строка, её можно удалить целиком через «Удалить строки». Если разрыв является свойством строки — снимите соответствующий флажок в свойствах.
После правки сохраните макет и обновите конфигурацию базы данных (F7), иначе изменения не попадут в рабочую базу. Затем сформируйте печатную форму заново и проверьте результат в предварительном просмотре.
- 1Откройте конфигуратор и найдите макет в ветке «Макеты» документа, отчёта или в «Общие макеты»
- 2Откройте макет и включите отображение областей, чтобы увидеть служебные строки
- 3Найдите строку с разрывом страницы и выделите её
- 4Удалите строку разрыва или снимите признак разрыва в свойствах строки
- 5Сохраните макет и обновите конфигурацию базы данных (F7)
- 6Сформируйте печатную форму и проверьте предварительный просмотр
Как убрать разрыв, который добавляется программно
Если в макете разрыва нет, откройте модуль менеджера или модуль объекта, где формируется печатная форма, и найдите процедуру вывода табличного документа. Разрывы часто ставятся при выводе областей в цикле: например, после каждого документа в пакетной печати вызывается вывод разрыва, чтобы каждый документ начинался с нового листа.
Найдите строки кода, где выводится область-разделитель или явно вставляется разрыв между документами. Если нужно убрать разрыв полностью — удалите или закомментируйте этот вызов. Если разрыв нужен только между документами, но не после последнего, добавьте проверку: выводить разрыв, только если текущий документ не последний в выборке. Это устранит типовую проблему пустого последнего листа.
Для уже сформированного табличного документа разрывы можно убрать перед выводом на печать, пройдя по строкам и сняв признак разрыва. Это приемлемо как временная мера, но правильнее исправить сам код формирования, чтобы не обрабатывать документ дважды.
// Убираем разрыв после последнего документа
Пока Выборка.Следующий() Цикл
ТабДок.Вывести(ОбластьДокумент);
Если Не Выборка.Количество() = Выборка.Индекс() + 1 Тогда
// вывод разрыва только между документами
КонецЕсли;
КонецЦикла;Автоматические разрывы и настройки страницы
Не всякий переход на новый лист — это явный разрыв в макете. Табличный документ автоматически разбивается на страницы, когда содержимое не помещается по высоте листа. Если после удаления явного разрыва форма всё равно печатается на двух листах, проверьте параметры страницы макета: размер полей, масштаб, ориентацию и высоту областей.
В свойствах макета и в параметрах страницы табличного документа можно задать масштаб «Поместить на странице» или подобрать высоту строк. Также проверьте свойства областей: у областей есть настройки, управляющие поведением при переносе, — например, защита от разрыва области между страницами. Если таблица с подписью разрывается посередине, объедините таблицу и подписи в одну область и задайте ей свойство не разрываться.
Как выбрать способ исправления
Как изменить типовой макет без снятия конфигурации с поддержки
Прямая правка типового макета снимает объект с поддержки и усложняет обновления. Безопасные альтернативы: расширение конфигурации, в котором переопределяется макет или процедура печати, либо внешняя печатная форма, подключаемая через механизм дополнительных отчётов и обработок. Оба способа позволяют убрать разрыв, не трогая типовой код.
Во многих конфигурациях есть пользовательский макет: кнопка «Изменить макет» в форме настройки печатной формы открывает копию макета, сохраняемую в информационной базе. Такой макет можно править прямо в режиме предприятия без конфигуратора: найдите строку разрыва, удалите её и сохраните. Учтите, что пользовательский макет имеет приоритет над типовым — после обновления конфигурации правки сохранятся, но и изменения поставщика в этом макете применяться не будут.
Проверка результата и типичные ошибки
После правки сформируйте печатную форму и откройте предварительный просмотр, а не только экранную форму табличного документа: именно предпросмотр показывает реальную разбивку по листам. Проверьте печать одного документа и пакетную печать нескольких — разрывы часто проявляются только между документами или на последнем листе.
Как проверить результат
Документ занимает ожидаемое число листов без пустых страниц
Появился пустой лист или таблица разорвана посередине
Каждый документ начинается корректно, после последнего нет пустого листа
В конце пакета печатается пустая страница
Макет работает как после правки
Типовой макет перезаписал изменения
Частые вопросы
Почему после удаления разрыва печатается пустой лист?
Пустой лист обычно остаётся, когда разрыв выводится после последнего документа в цикле пакетной печати. Нужно исправить код: выводить разрыв только между документами, а не после каждого. Также проверьте, нет ли в конце макета пустой области с большой высотой строк.
Можно ли удалить разрыв без конфигуратора?
Да, если в конфигурации доступен механизм пользовательских макетов: откройте настройку печатной формы, перейдите к редактированию макета и удалите строку разрыва. Изменённый макет сохранится в базе и будет использоваться вместо типового.
Разрыв появляется только при печати на принтере, а в предпросмотре всё нормально. Что делать?
Проверьте настройки принтера и размер бумаги: при несовпадении формата (A4/Letter) драйвер может переносить часть содержимого на новый лист. Задайте в параметрах страницы табличного документа точный формат и поля, совпадающие с настройками принтера.
Как вернуть типовой макет, если правка всё испортила?
Если правился пользовательский макет, удалите его в настройке печатных форм — конфигурация вернётся к типовому. Если правился макет в конфигураторе, восстановите его из копии базы или загрузите конфигурацию поставщика для этого объекта.
Разрыв стоит в середине именованной области — его можно убрать отдельно?
Да. Разрыв привязан к конкретной строке, а не к области целиком. Выделите строку с разрывом внутри области и снимите признак разрыва в свойствах или удалите строку — границы области при этом сохранятся.
Влияет ли удаление разрыва на уже распечатанные или сохранённые документы?
Нет. Макет влияет только на новое формирование печатной формы. Ранее сохранённые файлы и распечатки не изменятся; чтобы получить форму без разрыва, документ нужно вывести на печать заново.
Что важно запомнить
Сначала определите, где стоит разрыв: в самом макете, в коде формирования или это авторазрыв по высоте страницы. Явный разрыв удаляется в редакторе макета, программный — правкой кода вывода областей. Типовые макеты правьте через расширение или пользовательский макет, а результат проверяйте в предварительном просмотре, включая пакетную печать.