При формировании печатных форм и отчетов в платформе 1С:Предприятие разработчики и пользователи нередко сталкиваются с ситуацией, когда весь табличный документ пересекают горизонтальные и вертикальные пунктирные линии. Разберем детально, чем вызваны эти линии, влияют ли они на физическую печать документа и как правильно отключить их отображение через пользовательский интерфейс или с помощью встроенного языка 1С.
Прежде чем отключать линии, проанализируем природу их возникновения в табличном документе. В платформе 1С пунктир может обозначать разные сущности:
КоличествоСтраниц() или выполняется предварительный просмотр.Важный нюанс платформы: служебная разметка (разделители страниц и сетка таблицы) предназначена исключительно для экрана. При выводе документа на физический принтер или сохранении в формат PDF эти линии не печатаются. Если же пунктир виден на бумаге, значит, оформление задано явно в свойствах границ самих ячеек макета.
Рассмотрим по шагам, как убрать отображение линий в уже открытом отчете или печатной форме.
Рассмотрим подробнее, как разработчик может заранее настроить объект ТабличныйДокумент при формировании печатной формы, чтобы пользователю не выводились лишние разделители и сетка.
Для управления служебными линиями и подгонкой документа используются следующие свойства табличного документа:
ОтображатьСетку — свойство типа Булево. Значение Ложь полностью скрывает сетку ячеек на форме.ОтображатьРазделителиСтраниц — свойство типа Булево. Значение Ложь выключает показ пунктирных линий разбиения на страницы.АвтоМасштаб — при установке в Истина автоматически масштабирует ширину отчета под печатный лист, предотвращая появление вертикального пунктирного переноса.ОриентацияСтраницы — позволяет задать альбомное расположение листа через системное перечисление ОриентацияСтраницы.Ландшафт.ОбластьПечати — очищается значением Неопределено, если требуется снять выделенную область.Посмотрим на пример комплексной настройки табличного документа в модуле формирования отчета:
ТабличныйДокумент.ОтображатьСетку = Ложь;
ТабличныйДокумент.ОтображатьРазделителиСтраниц = Ложь;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабличныйДокумент.ОбластьПечати = Неопределено;
Разберем важную особенность поведения платформы 1С: если установить свойство ОтображатьРазделителиСтраниц = Ложь; в начале процедуры, а затем выполнить вызов метода КоличествоСтраниц() или запустить механизм постраничного вывода для подсчета высоты, платформа может повторно активировать отображение разделителей. Поэтому сброс свойства ОтображатьРазделителиСтраниц всегда следует выполнять в самом конце формирования документа, непосредственно перед передачей результата в интерфейс.
Также учтем свойство ИмяПараметровПечати: если у документа заполнено это имя, платформа считывает сохраненные пользовательские настройки (масштаб, поля, ориентацию). При необходимости принудительного применения программных параметров следует очищать сохраненные параметры печати или задавать их явно перед открытием формы.