Почему 1С обрезает колонки таблицы при печати и как это исправить?

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

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

Причина 1: Печать только выделенного фрагмента и индивидуальный формат строк

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

Ситуация усугубляется, если в макете для секции отборов или шапки задан индивидуальный формат строк (собственная сетка колонок). В 1С разные строки табличного документа могут иметь независимую разметку колонок. Если выделить строку с индивидуальной разметкой, где ширина первой или второй колонки занимает всю ширину листа, остальные колонки таблицы с данными просто не попадут в область печати.

Чтобы решить эту проблему со стороны пользователя:

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

Причина 2: Программная настройка автомасштабирования и ориентации

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

  1. Свойство АвтоМасштаб — при значении Истина платформа автоматически пропорционально уменьшает масштаб документа так, чтобы он уложился в заданное количество страниц по ширине.
  2. Свойство ОриентацияСтраницы — переключает лист в альбомную или книжную ориентацию.
  3. Свойство КоличествоСтраницПоШирине — указывает, в сколько листов по горизонтали должен поместиться документ.

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


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

ТабличныйДокумент.ПолеСлева = 5;
ТабличныйДокумент.ПолеСправа = 5;
ТабличныйДокумент.ПолеСверху = 5;
ТабличныйДокумент.ПолеСнизу = 5;

Уменьшение полей страницы позволяет освободить дополнительное пространство для широких таблиц и избежать лишнего уменьшения шрифта при автомасштабировании.

Причина 3: Ограничение области печати в коде макета

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

Чтобы документ печатался целиком, очистим это свойство в коде:

ТабличныйДокумент.ОбластьПечати = Неопределено;

Причина 4: Корректное проектирование макета без лишних форматов строк

Разберем рекомендации по созданию макетов табличных документов, чтобы избежать сбоев при печати:

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

Причина 5: Сброс сохраненных настроек печати пользователя

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

Чтобы сбросить кэш параметров:

  1. Откроем предварительный просмотр документа и нажмем Параметры страницы.
  2. Установим флаг По ширине листа или сбросим параметры по умолчанию.
  3. При необходимости администратор может очистить сохраненные настройки пользователя для проблемного отчета через стандартное меню администрирования настроек.
← На главную