Работа в программных продуктах на платформе 1С:Предприятие 8.2 (особенно с использованием обычных форм) на современных мониторах высокого разрешения часто сопровождается серьезным дискомфортом. Мелкий шрифт интерфейса утомляет глаза, а стандартные настройки платформы не всегда ведут себя ожидаемо. Многие пользователи и администраторы пытаются решить эту задачу через меню настроек, но сталкиваются с тем, что изменения не применяются к элементам управления на формах.
В рамках данной статьи мы подробно разберем, почему стандартные инструменты изменения шрифтов не работают для экранных форм, как устроена эта подсистема в обычных формах, и рассмотрим эффективные практические способы обхода этого ограничения без глобального вмешательства в операционную систему и без масштабной переработки конфигурации.
Для начала выясним причину, по которой изменение настроек по пути Сервис – Параметры – Тексты не приносит желаемого результата при работе с документами, справочниками и отчетами. Рассмотрим подробнее, за что именно отвечает эта группа параметров.
Разработчики платформы заложили в этот раздел настройки исключительно для текстовых документов и встроенного текстового редактора. К ним относятся:
.txt, открываемые непосредственно внутри предприятия;Когда вы увеличиваете шрифт в этой вкладке, изменения коснутся только отображения программного кода или открытого текстового файла. На элементы интерфейса — кнопки, надписи, списки, табличные части и поля ввода — эта настройка не оказывает абсолютно никакого влияния. В режиме обычного приложения в 1С 8.2 просто не предусмотрено пользовательской кнопки «Увеличить шрифт интерфейса».
Чтобы понять, почему платформа накладывает такие жесткие ограничения, проанализируем ситуацию с точки зрения архитектуры обычных форм 1С. В отличие от современных управляемых форм, обычные формы проектируются разработчиком методом попиксельного позиционирования.
Это означает, что каждый элемент управления на форме имеет жестко заданные координаты:
Если бы система позволяла пользователю произвольно увеличивать шрифт, текст внутри элементов неизбежно перестал бы помещаться в отведенные ему границы. Названия кнопок обрезались бы, текст надписей налезал бы на поля ввода, а табличные части превратились бы в нечитаемый набор символов. Автоматическое масштабирование в обычных формах работает по жестким правилам «привязок», которые при резком изменении размеров шрифтов попросту ломаются. Именно поэтому разработчики платформы заблокировали произвольное изменение шрифтов пользователем.
Тем не менее, решить проблему читаемости интерфейса можно. Рассмотрим по шагам несколько эффективных способов.
Если вы хотите решить проблему мелкого шрифта на конкретном рабочем месте, не меняя глобальные настройки экрана операционной системы (чтобы масштаб других программ, браузеров и рабочего стола оставался прежним), можно использовать механизм переопределения масштабирования для конкретного исполняемого файла 1С.
Разобьем этот процесс по шагам:
C:\Program Files (x86)\1cv8\ или C:\Program Files\1cv8\, далее папка конкретного релиза, например 8.2.19.130\bin\) и найдите исполняемый файл 1cv8.exe.Результат: Операционная система возьмет на себя задачу отрисовки интерфейса. Она виртуально увеличит окно 1С целиком, пропорционально растянув как сами формы, так и все шрифты на них. Интерфейс станет крупным и читаемым. Единственным нюансом данного решения является возможное появление легкой размытости (эффекта сглаживания) текстов и иконок, так как происходит физическое масштабирование растровой картинки окна.
Если вариант с масштабированием операционной системы вам не подходит (например, пользователи работают на терминальном сервере RDP, где переопределение DPI часто работает некорректно или размывает текст слишком сильно), проблему можно решить на уровне самой конфигурации. При этом вам не придется вручную открывать каждую форму и менять свойства каждого элемента — мы воспользуемся общими стилями оформления платформы.
Рассмотрим, как настроить единый крупный шрифт для всего интерфейса программы через Конфигуратор:
УвеличенныйШрифт). Для удобства можно скопировать свойства стандартного стиля.ШрифтТекста, ШрифтКнопки, ШрифтШапкиТабличногоПоля, ШрифтДиалогов и другие важные элементы.MS Shell Dlg 8) установите более крупный шрифт с четким начертанием (например, Arial 10 или Verdana 9).Теперь нам нужно сделать так, чтобы этот стиль применялся при запуске системы. Если вы хотите применить его глобально для всех пользователей, откройте Модуль обычного приложения и найдите предопределенную процедуру ПередНачаломРаботыСистемы. Добавим в нее следующий код:
Процедура ПередНачаломРаботыСистемы(Отказ)
// Устанавливаем разработанный увеличенный стиль оформления по умолчанию
ГлавныйСтиль = БиблиотекаСтилей.УвеличенныйШрифт;
КонецПроцедуры
Если увеличенный шрифт требуется не всем сотрудникам, а только конкретным пользователям (например, слабовидящим), мы можем организовать динамическое подключение стиля. Создадим персональную настройку в регистре сведений или будем проверять имя пользователя программно:
Процедура ПередНачаломРаботыСистемы(Отказ)
// Проверяем имя текущего пользователя информационной базы
Если ИмяПользователя() = "ИвановИИ" Тогда
ГлавныйСтиль = БиблиотекаСтилей.УвеличенныйШрифт;
КонецЕсли;
КонецПроцедуры
При таком подходе платформа 1С самостоятельно перерисует все элементы обычных форм под новый размер шрифта при запуске сеанса. Это позволит сохранить высокую четкость текстов без эффекта размытия, который возникает при системном масштабировании Windows.
Проанализируем, как эволюционировала платформа 1С в вопросах управления масштабом интерфейса. Если в вашей организации планируется или уже осуществляется переход на платформу 1С:Предприятие 8.3 с использованием управляемых форм (особенно интерфейса «Такси»), то необходимость в вышеописанных технических ухищрениях полностью отпадает.
Начиная с версии платформы 8.3.10, разработчики внедрили полноценный штатный механизм динамического изменения масштаба:
Ctrl + колесико мыши.Ctrl + "+" и Ctrl + "-". Текст при этом остается максимально четким на любых дисплеях.Таким образом, для устаревших обычных форм 1С 8.2 оптимальным локальным решением без программирования является индивидуальная настройка DPI исполняемого файла в свойствах совместимости Windows. Если же есть возможность внесения изменений в конфигурацию, то создание и назначение собственного крупного Стиля оформления позволит получить качественный интерфейс без размытия букв.