Многие разработчики 1С при работе в Конфигураторе на современных мониторах сталкиваются с крайне неприятной проблемой. При первом открытии палитра свойств отображается корректно, однако стоит переключиться на другой объект метаданных или элемент формы, как интерфейс ломается. Кнопки выбора, очистки полей (такие как «...» и «Х») уходят за правый край экрана, а текстовые поля обрезаются. Разработчикам приходится постоянно закрывать и заново открывать панель свойств, что сильно замедляет работу и вызывает раздражение.
В этой статье мы подробно разберем, почему возникает данный баг интерфейса, и рассмотрим несколько эффективных способов его полного устранения.
Чтобы понять природу этой проблемы, проанализируем ситуацию с технической точки зрения. Платформа «1С:Предприятие 8.3» (в особенности ее Конфигуратор) исторически базируется на классической технологии построения интерфейса Windows (Win32/MFC). Эта графическая подсистема разрабатывалась в те времена, когда плотность пикселей на мониторах была стандартной, а масштабирование интерфейса на уровне операционной системы практически не использовалось.
Когда мы работаем на современных мониторах (Full HD, 2K или 4K на диагоналях 27 дюймов и более), операционная система Windows по умолчанию выставляет масштабирование экрана в 125%, 150% или выше. В этот момент и начинаются сложности:
Особенно часто этот эффект проявляется при удаленной работе через RDP-сессии, когда масштабирование локального и удаленного рабочих столов конфликтуют друг с другом.
Ниже мы подробно разберем по шагам, как решить эту проблему раз и навсегда.
Этот метод является самым эффективным, поскольку он позволяет исправить поведение конкретно Конфигуратора 1С, не меняя глобальные настройки масштабирования всей операционной системы Windows. Мы заставим систему обрабатывать шрифты и координаты окон по более умному алгоритму.
Выполним следующие шаги:
C:\Program Files\1cv8\версия_платформы\bin\1cv8.exe (или 1cv8t.exe для тонкого клиента). Если вы запускаете программу через ярлык на Рабочем столе, можно настроить сам ярлык.1cv8.exe (или на ярлык) и выберем пункт «Свойства».Запустим Конфигуратор и проверим работу палитры свойств. В большинстве случаев проблема исчезает сразу.
Если баг возник прямо во время работы, а перезапускать платформу или менять системные настройки прямо сейчас нет времени, можно применить быстрое встроенное решение для сброса геометрии окна.
Для этого выполним простое действие:
Панель вернется к стандартным пропорциям и на время восстановит корректную отрисовку всех кнопок управления полей ввода.
Бывают ситуации, когда некорректные координаты и размеры элементов палитры свойств прочно сохраняются в локальном кэше настроек пользователя. В этом случае даже изменение масштаба экрана не помогает, так как Конфигуратор считывает «сломанные» координаты из сохраненной сессии.
Чтобы сбросить кэш расположения окон, проделаем следующие шаги:
HKEY_CURRENT_USER\Software\1C\1Cv8\8.3\<Идентификатор_Базы>\Registry\Workspace.1cv8.pfl или 1cv8str.pfl, которые находятся в каталоге профиля пользователя: %APPDATA%\1C\1cv8\.Если вы используете повышенный масштаб Windows (например, 125% или 150%) исключительно ради того, чтобы текст программного кода в редакторе модулей был крупным и читаемым, то наиболее правильным решением будет вернуть системный масштаб к стандартным 100%, а размер шрифтов настроить непосредственно внутри платформы.
Посмотрим на пример настройки:
Courier New или Consolas).После применения этих параметров программный код останется крупным и легко читаемым, а все панели Конфигуратора, включая свойства и дерево метаданных, будут работать абсолютно стабильно и корректно.
Если вы постоянно работаете на ультрасовременных 2K и 4K мониторах и устаревший интерфейс Конфигуратора вызывает у вас регулярные сложности с масштабированием, рекомендуем рассмотреть переход на **1С:EDT (Enterprise Development Tools)**.
1С:EDT — это современная среда разработки для платформы «1С:Предприятие 8», построенная на базе Eclipse. В отличие от старого Конфигуратора, EDT изначально проектировалась с учетом современных стандартов UI/UX, кроссплатформенности и работы на экранах с высоким разрешением (HiDPI). В ней палитра свойств, редактор кода, конструкторы и прочие панели работают стабильно при любом выбранном масштабе операционной системы Windows, macOS или Linux.