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

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

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

Понимаем природу пунктирных линий

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

  1. Сетка (разделители страниц): Это вспомогательные линии, которые 1С выводит на экран, чтобы показать, где закончатся поля текущего листа при печати на принтере. Они не выводятся на печать и служат только для удобства верстки.
  2. Линии макета: Это элементы оформления (рамки ячеек, границы областей), которые были созданы в конфигураторе или программно. Эти линии будут видны на распечатанном документе.

Метод 1: Отключение визуальной сетки в обычных формах

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

Чтобы отключить сетку через меню или настроить пользовательское редактирование макетов отчетов (поможет инструмент редактирования макетов в пользовательском режиме), выполните следующие действия:

  1. Откройте отчет или печатную форму.
  2. В верхней панели инструментов выберите пункт Таблица.
  3. Перейдите в подпункт Вид.
  4. Снимите флажок с пункта Отображать сетку.

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

ТабДок.ОтображатьСетку = Ложь;

Метод 2: Работа с линиями в программно формируемых макетах

В современных конфигурациях, таких как 1С:Розница или 1С:УНФ, пунктирные линии часто не являются системной сеткой, а являются частью оформления макета этикеток или ценников. В таких случаях отключение системной сетки не даст результата, так как границы нарисованы программно. Для алгоритмов программной работы с линиями можно использовать материал по рисованию линий в табличном документе.

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


// Пример программного обвода области рамкой
МакетЭтикетки.Область(1, 1, Высота, Ширина).Обвести(Линия, Линия, Линия, Линия);

Если вы видите, что линии разделяют области (например, между двумя этикетками), вам необходимо:

  1. Открыть конфигуратор и найти соответствующий макет обработки.
  2. Проанализировать код формирования табличного документа на наличие методов Обвести() или установки свойств Граница у областей ячеек.
  3. Если линии заданы программно, их можно либо удалить из кода, либо изменить параметры линии (например, задать стиль линии Пустая), чтобы она перестала отображаться.

Важные советы по настройке печати

Помните, что отображение пунктирных линий разрывов страниц напрямую зависит от настроек принтера по умолчанию, установленного в операционной системе. 1С автоматически подстраивает размеры табличного документа под поля и ориентацию (книжная/альбомная), заданные драйвером принтера.

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


ТабДок.АвтоМасштаб = Истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

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

← На главную