Как изменить шрифт в обычных формах 1С 8.2 без изменения конфигурации и глобальных настроек Windows?

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

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

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

Почему настройка «Сервис – Параметры – Тексты» не меняет шрифт интерфейса?

Для начала выясним причину, по которой изменение настроек по пути Сервис – Параметры – Тексты не приносит желаемого результата при работе с документами, справочниками и отчетами. Рассмотрим подробнее, за что именно отвечает эта группа параметров.

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

Когда вы увеличиваете шрифт в этой вкладке, изменения коснутся только отображения программного кода или открытого текстового файла. На элементы интерфейса — кнопки, надписи, списки, табличные части и поля ввода — эта настройка не оказывает абсолютно никакого влияния. В режиме обычного приложения в 1С 8.2 просто не предусмотрено пользовательской кнопки «Увеличить шрифт интерфейса».

Особенности верстки обычных форм: попиксельное позиционирование

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

Это означает, что каждый элемент управления на форме имеет жестко заданные координаты:

  1. Границы полей ввода четко определены в пикселях.
  2. Высота и ширина кнопок зафиксированы при разработке.
  3. Положение надписей привязано к конкретным точкам экрана.

Если бы система позволяла пользователю произвольно увеличивать шрифт, текст внутри элементов неизбежно перестал бы помещаться в отведенные ему границы. Названия кнопок обрезались бы, текст надписей налезал бы на поля ввода, а табличные части превратились бы в нечитаемый набор символов. Автоматическое масштабирование в обычных формах работает по жестким правилам «привязок», которые при резком изменении размеров шрифтов попросту ломаются. Именно поэтому разработчики платформы заблокировали произвольное изменение шрифтов пользователем.

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

Способ №1. Индивидуальное масштабирование приложения через свойства DPI в Windows

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

Разобьем этот процесс по шагам:

  1. Полностью закройте все запущенные сеансы 1С:Предприятия.
  2. Найдите ярлык, через который вы запускаете систему, либо перейдите в папку установки платформы (обычно это C:\Program Files (x86)\1cv8\ или C:\Program Files\1cv8\, далее папка конкретного релиза, например 8.2.19.130\bin\) и найдите исполняемый файл 1cv8.exe.
  3. Нажмите на файл или ярлык правой кнопкой мыши и перейдите в пункт меню «Свойства».
  4. В открывшемся окне выберите вкладку «Совместимость».
  5. Обратите внимание на кнопку «Изменить параметры высокого DPI» (в старых версиях Windows настройки могут располагаться непосредственно на вкладке совместимости в группе «Параметры»). Нажмите на нее.
  6. Установите флажок (галочку) напротив опции «Переопределить режим масштабирования высокого разрешения».
  7. В раскрывающемся списке «Масштабирование выполняется:» вместо значения «Приложение» выберите вариант «Система» или «Система (улучшенная)».
  8. Нажмите кнопку «ОК» для сохранения настроек во всех открытых диалоговых окнах свойств.
  9. Запустите 1С и откройте вашу информационную базу.

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

Способ №2. Изменение шрифтов через механизм Стилей в 1С (с минимальным изменением конфигурации)

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

Рассмотрим, как настроить единый крупный шрифт для всего интерфейса программы через Конфигуратор:

  1. Откройте информационную базу в режиме Конфигуратора.
  2. В дереве метаданных найдите ветку «Общие» и разверните ее.
  3. Найдите подраздел «Стили». По умолчанию там находится основной стиль конфигурации.
  4. Создайте новый стиль (назовите его, например, УвеличенныйШрифт). Для удобства можно скопировать свойства стандартного стиля.
  5. Откройте свойства созданного стиля. Перед вами появится таблица соответствия элементов оформления и их свойств.
  6. Найдите строки, отвечающие за шрифты интерфейса: ШрифтТекста, ШрифтКнопки, ШрифтШапкиТабличногоПоля, ШрифтДиалогов и другие важные элементы.
  7. Дважды кликните по полю шрифта и измените его параметры. Вместо стандартного шрифта (например, MS Shell Dlg 8) установите более крупный шрифт с четким начертанием (например, Arial 10 или Verdana 9).
  8. Сохраните изменения в стиле.

Теперь нам нужно сделать так, чтобы этот стиль применялся при запуске системы. Если вы хотите применить его глобально для всех пользователей, откройте Модуль обычного приложения и найдите предопределенную процедуру ПередНачаломРаботыСистемы. Добавим в нее следующий код:


Процедура ПередНачаломРаботыСистемы(Отказ)
    // Устанавливаем разработанный увеличенный стиль оформления по умолчанию
    ГлавныйСтиль = БиблиотекаСтилей.УвеличенныйШрифт;
КонецПроцедуры

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


Процедура ПередНачаломРаботыСистемы(Отказ)
    // Проверяем имя текущего пользователя информационной базы
    Если ИмяПользователя() = "ИвановИИ" Тогда
        ГлавныйСтиль = БиблиотекаСтилей.УвеличенныйШрифт;
    КонецЕсли;
КонецПроцедуры

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

Как проблема масштабирования шрифтов решается в современных версиях платформы 1С 8.3

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

Начиная с версии платформы 8.3.10, разработчики внедрили полноценный штатный механизм динамического изменения масштаба:

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

← На главную