Как изменить размер шрифта в печатных формах отчетов 1С на постоянной основе

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

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

Метод 1. Использование условного оформления в СКД

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

  1. Откроем настройки отчета (кнопка Настройки... в форме отчета).
  2. Перейдем на вкладку Условное оформление. Если вкладка не видна, необходимо переключить вид настроек в режим Расширенный.
  3. Нажмем кнопку Добавить.
  4. В появившемся окне в поле Оформление нажмем на гиперссылку или кнопку выбора. Найдем параметр Шрифт.
  5. Установим нужный шрифт (например, Arial) и увеличим его размер (например, до 11 или 12). Нажмем "ОК".
  6. Поле Условие оставляем пустым, если хотим применить шрифт ко всему отчету.
  7. В поле Оформляемые поля также можно ничего не выбирать — тогда оформление применится ко всем полям отчета.
  8. Нажмем "ОК" и сформируем отчет.

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

Метод 2. Изменение масштаба страницы

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

Выполним следующие действия:

  1. Сформируем нужный отчет.
  2. Перейдем в главное меню: Файл — Параметры страницы....
  3. В разделе Масштаб вместо значения "По ширине страницы" установим переключатель в положение "Установить" и введем значение в процентах (например, 115% или 120%).
  4. Нажмем "ОК" и отправим документ на печать.

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

Метод 3. Программная установка масштаба печати

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


// Устанавливаем масштаб просмотра и печати в 120%
ТабДок.МасштабПечати = 120;
ТабДок.МасштабПросмотра = 120;

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

Метод 4. Глобальный перебор ячеек (циклом)

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


ТабДок = ЭлементыФормы.ПолеТабличногоДокумента; 
Для Строка = 1 по ТабДок.ВысотаТаблицы Цикл 
    Для Колонка = 1 по ТабДок.ШиринаТаблицы Цикл 
        Область = ТабДок.Область("R" + Строка + "C" + Колонка); 
        // Создаем новый шрифт на основе текущего, увеличивая размер на 3 пункта
        Область.Шрифт = Новый Шрифт(Область.Шрифт, , Область.Шрифт.Размер + 3); 
    КонецЦикла; 
КонецЦикла;

Чтобы ускорить этот процесс, рекомендуем использовать метод Область() не для каждой ячейки, а для целых диапазонов строк или всей таблицы сразу, если это возможно. Например, можно получить область всего отчета через ТабДок.Область(1, 1, ТабДок.ВысотаТаблицы, ТабДок.ШиринаТаблицы) и установить шрифт один раз для всей области.

Метод 5. Использование внешних отчетов и макетов

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

  1. В конфигураторе найдем нужный отчет и сохраним его на диск как файл .erf.
  2. Откроем макет отчета.
  3. Выделим все ячейки макета (Ctrl+A) и через свойства установим требуемый шрифт и его размер.
  4. Сохраним изменения.
  5. Подключим этот отчет пользователю как внешний.

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

Метод 6. Системное масштабирование Windows (DPI)

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

Посмотрим, как это настроить в Windows:

Подведение итогов

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

← На главную