Часто пользователи сталкиваются с тем, что стандартный шрифт в отчетах 1С (обычно Arial размером 9) кажется слишком мелким для комфортной работы или печати. Ручное форматирование каждой сформированной таблицы отнимает много времени, поэтому важно найти способы автоматического или постоянного изменения оформления. В данной статье мы подробно разберем несколько методов решения этой задачи: от настроек системы компоновки данных (СКД) до программных доработок и системных параметров печати.
Если ваш отчет построен на базе Системы компоновки данных (СКД), это самый гибкий и правильный метод, не требующий изменения программного кода. Большинство современных отчетов в конфигурациях Бухгалтерия предприятия или Управление торговлей поддерживают этот механизм. Рассмотрим процедуру настройки по шагам:
Arial) и увеличим его размер (например, до 11 или 12). Нажмем "ОК".Важный момент: Чтобы эти настройки не пропадали при следующем открытии, обязательно воспользуемся кнопкой Сохранить настройки (иконка дискеты). Теперь при каждом формировании отчета система будет автоматически применять увеличенный шрифт.
Проанализируем ситуацию, когда менять структуру шрифта в ячейках нежелательно, но нужно получить более крупный текст на бумаге. В 1С существует возможность масштабирования печатной формы, которая сохраняется индивидуально для каждого отчета и пользователя.
Выполним следующие действия:
115% или 120%).Платформа 1С запоминает эти настройки для конкретного идентификатора отчета. При следующем формировании этого же отчета масштаб останется увеличенным.
Для разработчиков существует более элегантный способ управления размером отчета без перебора каждой ячейки. Вместо того чтобы менять шрифт в каждой области, мы можем программно задать масштаб для всего объекта ТабличныйДокумент. Посмотрим на пример кода, который можно вставить в процедуру вывода отчета:
// Устанавливаем масштаб просмотра и печати в 120%
ТабДок.МасштабПечати = 120;
ТабДок.МасштабПросмотра = 120;
Использование свойства МасштабПечати гораздо эффективнее с точки зрения производительности, чем цикл по всем ячейкам документа. Этот метод позволяет "одним движением" увеличить всё содержимое отчета, включая заголовки, группировки и детальные записи.
Рассмотрим ситуацию, когда необходимо изменить именно параметры шрифта (жирность, начертание) для всех ячеек программно. Этот метод стоит использовать с осторожностью, так как на больших отчетах (более 10 000 строк) он может привести к заметным задержкам. Проанализируем пример кода:
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
Для Строка = 1 по ТабДок.ВысотаТаблицы Цикл
Для Колонка = 1 по ТабДок.ШиринаТаблицы Цикл
Область = ТабДок.Область("R" + Строка + "C" + Колонка);
// Создаем новый шрифт на основе текущего, увеличивая размер на 3 пункта
Область.Шрифт = Новый Шрифт(Область.Шрифт, , Область.Шрифт.Размер + 3);
КонецЦикла;
КонецЦикла;
Чтобы ускорить этот процесс, рекомендуем использовать метод Область() не для каждой ячейки, а для целых диапазонов строк или всей таблицы сразу, если это возможно. Например, можно получить область всего отчета через ТабДок.Область(1, 1, ТабДок.ВысотаТаблицы, ТабДок.ШиринаТаблицы) и установить шрифт один раз для всей области.
В конфигурациях типа Управление торговлей 10.3, где отчеты часто используют фиксированные макеты, иногда проще всего сохранить типовой отчет как Внешний отчет. Разберем этот процесс:
.erf.Это гарантирует, что оформление останется неизменным вне зависимости от обновлений конфигурации или случайных сбросов пользовательских настроек.
Если пользователю кажется мелким не только конкретный отчет, но и весь интерфейс 1С (меню, кнопки, списки), выясним причину в настройках операционной системы. Современные версии платформы 1С v8.3 корректно работают с масштабированием DPI.
Посмотрим, как это настроить в Windows:
125% или 150%.Мы проанализировали различные подходы к увеличению шрифта. Для большинства современных отчетов оптимальным будет использование условного оформления СКД. Если же вы ограничены возможностями старых конфигураций, наиболее эффективным и быстрым способом будет программная установка свойства МасштабПечати или ручная настройка параметров страницы. Выбор метода зависит от того, нужно ли изменить шрифт только одному пользователю или всем сразу на уровне кода конфигурации.