Как изменить шрифт и исправить мелкий текст при печати универсального отчета в 1С?

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

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

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

Выясним причины мелкого шрифта при печати

Проанализируем основные факторы, из-за которых данные в отчете сжимаются и становятся трудночитаемыми:

  1. Автомасштабирование платформы: Если у табличного документа включен режим Автомасштаб = Истина или в параметрах печати задана опция «По ширине страницы», 1С сжимает весь документ под размер листа. Если отчет содержит много колонок, шрифт автоматически уменьшается пропорционально ширине.
  2. Сохраненные параметры печати: Платформа 1С запоминает настройки печати для конкретного пользователя по ключу параметров. Если ранее был случайно сохранен уменьшенный масштаб, документ будет печататься мелким шрифтом при каждом формировании.
  3. Перезапись свойств в дизайнере: Изменение свойства Шрифт у элемента формы ПолеТабличногоДокумента не влияет на итоговый отчет. При вызове вывода построитель отчета полностью перезаписывает структуру ячеек на основе собственных макетов и оформления.

Решение 1. Изменение шрифта через пользовательские настройки отчета (без доработки кода)

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

Разберем по шагам, как изменить шрифт через пользовательский интерфейс:

  1. Откроем нужный универсальный отчет в режиме «1С:Предприятие».
  2. Нажмем кнопку Настройка... на панели действий отчета для открытия формы настроек.
  3. Перейдем на закладку расширенных настроек (или закладку Оформление).
  4. В дереве оформления добавим элемент условного оформления или выберем нужное поле (шапка, группировки или детальные записи).
  5. В колонке Шрифт укажем желаемый гарнитур (например, Arial) и установим его размер (например, 10 или 12 pt).
  6. Нажмем кнопку Сформировать. Построитель отчета применит установленные настройки шрифта ко всем ячейкам выбранной области.

Решение 2. Программирование вывода отчета через ПостроительОтчета

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

Рассмотрим пример добавления шрифта через коллекцию УсловноеОформление объекта ПостроительОтчета в модуле отчета или формы:


// В процедуре подготовки или формирования отчета
ЭлементОформления = ПостроительОтчета.УсловноеОформление.Добавить("ОформлениеСтрок");
ЭлементОформления.Использование = Истина;
ЭлементОформления.Значение.Шрифт = Новый Шрифт("Arial", 10, Истина); // Задаем шрифт Arial 10pt (Bold)
ЭлементОформления.ОформляемыеПоля.Добавить("ВсеПоля", "Все поля", Истина);

Также мы можем программно изменить шрифт в макете построителя до момента его вывода на экран:


// Изменение шрифта для конкретных секций макета построителя
МакетПостроителя = ПостроительОтчета.Макет;
МакетПостроителя.Области.Детали.Шрифт = Новый Шрифт("Arial", 9);
МакетПостроителя.Области.Шапка.Шрифт = Новый Шрифт("Arial", 10, Истина);

Решение 3. Управление масштабом и параметрами печати Табличного Документа

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

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


// Обращаемся к полю табличного документа на форме
ТабДок = ЭлементыФормы.ПолеТабличногоДокументаРезультат;

// Отключаем автоматический подгон по ширине страницы
ТабДок.Автомасштаб = Ложь;

// Устанавливаем принудительный масштаб 100%
ТабДок.Масштаб = 100;

// При необходимости задаем ландшафтную ориентацию
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;

Для разового исправления параметров печати на стороне пользователя достаточно открыть меню Файл → Параметры страницы в режиме Предприятия, снять флаг «По ширине страницы» и явно установить масштаб 100%.

← На главную