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

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

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

Выясним причину появления пунктирных линий

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

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

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

Решение через пользовательский интерфейс

Рассмотрим по шагам, как убрать отображение линий в уже открытом отчете или печатной форме.

  1. Отключение сетки таблицы. Если пунктир разделяет все ячейки документа, перейдем в главное меню: пункт Таблица → Вид и снимем флажок Отображать сетку.
  2. Отключение разделителей страниц. Чтобы убрать одиночные пересекающиеся линии разбиения на листы, в главном меню откроем Таблица → Вид и снимем флажок Отображать разделители страниц.
  3. Устранение вертикального разрыва подгонкой масштаба. Если вертикальный пунктир мешает визуально и требуется корректно уместить документ по ширине страницы, откроем меню Файл → Параметры страницы.... В открывшемся окне переключим масштаб в режим По ширине листа либо изменим ориентацию на Ландшафт. После этого вертикальная линия исчезнет, так как колонки перестанут выходить за пределы страницы.
  4. Сброс пользовательской области печати. Если документ ограничен рамкой области печати, перейдем в меню Таблица → Настройки печати и нажмем команду Убрать область печати.

Программное отключение линий в коде 1С

Рассмотрим подробнее, как разработчик может заранее настроить объект ТабличныйДокумент при формировании печатной формы, чтобы пользователю не выводились лишние разделители и сетка.

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

  1. ОтображатьСетку — свойство типа Булево. Значение Ложь полностью скрывает сетку ячеек на форме.
  2. ОтображатьРазделителиСтраниц — свойство типа Булево. Значение Ложь выключает показ пунктирных линий разбиения на страницы.
  3. АвтоМасштаб — при установке в Истина автоматически масштабирует ширину отчета под печатный лист, предотвращая появление вертикального пунктирного переноса.
  4. ОриентацияСтраницы — позволяет задать альбомное расположение листа через системное перечисление ОриентацияСтраницы.Ландшафт.
  5. ОбластьПечати — очищается значением Неопределено, если требуется снять выделенную область.

Посмотрим на пример комплексной настройки табличного документа в модуле формирования отчета:


ТабличныйДокумент.ОтображатьСетку = Ложь;
ТабличныйДокумент.ОтображатьРазделителиСтраниц = Ложь;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабличныйДокумент.ОбластьПечати = Неопределено;

Тонкости и порядок выполнения кода

Разберем важную особенность поведения платформы 1С: если установить свойство ОтображатьРазделителиСтраниц = Ложь; в начале процедуры, а затем выполнить вызов метода КоличествоСтраниц() или запустить механизм постраничного вывода для подсчета высоты, платформа может повторно активировать отображение разделителей. Поэтому сброс свойства ОтображатьРазделителиСтраниц всегда следует выполнять в самом конце формирования документа, непосредственно перед передачей результата в интерфейс.

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

← На главную