При работе в 1С, особенно через удаленный рабочий стол (RDP) или на современных мониторах с высоким разрешением (High DPI), программисты и администраторы часто сталкиваются с неприятным визуальным багом. Элементы интерфейса в Конфигураторе — панели свойств, формы метаданных, конструкторы запросов — начинают «наезжать» друг на друга, масштабироваться некорректно или вовсе исчезать за границами видимости. Разберем подробно, почему это происходит и какими методами можно вернуть интерфейсу нормальный вид.
Рассмотрим ситуацию, когда формы «разъехались» из-за смены монитора или разрешения. В платформе 1С предусмотрен встроенный механизм запоминания позиций окон. Проанализируем, как вернуть их к исходному состоянию. Если конкретное окно (например, форма объекта или дерево конфигурации) отображается некорректно, выполним следующие действия:
Этот метод эффективно работает для стандартных окон метаданных. Однако, как показывает практика, он может не помочь для сложных подчиненных окон, таких как Конструктор запроса или параметры виртуальных таблиц. Если этот способ не решил проблему глобально, перейдем к системным настройкам.
Выясним причину конфликта: чаще всего проблема кроется в разнице настроек DPI (Dots Per Inch) на локальном компьютере пользователя и на сервере, к которому идет подключение. Проанализируем стандартный алгоритм синхронизации:
Панель управления — Экран (или «Параметры дисплея» в Windows 10/11).Если работа на 100% масштабе невозможна из-за слишком мелкого текста, рассмотрим более продвинутый способ — переопределение режима масштабирования для конкретного приложения. Это наиболее эффективный метод для современных версий Windows.
Найдем исполняемый файл платформы (обычно это 1cv8.exe или 1cv8s.exe в папке bin) и проделаем следующие шаги:
Этот режим заставляет операционную систему брать на себя отрисовку интерфейса, игнорируя попытки 1С самостоятельно рассчитать размеры панелей. Это часто исправляет «наползание» кнопок друг на друга в конструкторах.
В случаях, когда стандартные настройки совместимости не дают результата, проанализируем возможность использования манифеста. Мы можем принудительно сообщить операционной системе, что приложение 1С «не знает» о существовании высокого разрешения. Для этого создадим в папке с файлом 1cv8.exe текстовый файл с названием 1cv8.exe.manifest и следующим содержанием:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</dpiAware>
</windowsSettings>
</application>
</assembly>
Важно: Чтобы Windows начала приоритетно использовать этот файл, может потребоваться внесение изменений в реестр (параметр PreferExternalManifest). Данный метод сделает картинку чуть более размытой, но сохранит идеальные пропорции всех окон конфигуратора.
Если проблема возникает исключительно при удаленной работе, проанализируем настройки терминального сервера. Сервер может пытаться игнорировать локальные настройки пользователя. Для исправления ситуации на стороне сервера (требуются права администратора) можно создать параметр в реестре:
regedit.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations.DWORD с именем IgnoreClientDesktopScaleFactor.Также в настройках самого RDP-клиента (файл .rdp) полезно проверить наличие строки smart sizing:i:1, которая позволяет более гибко подстраивать удаленный рабочий стол под размер окна локального монитора.
Иногда «кривое» расположение окон кэшируется в профиле пользователя. Если визуальные баги сохраняются даже после исправления настроек DPI, проанализируем состояние файлов настроек. Нам необходимо очистить файлы с расширением .v8opt и содержимое папки Config в локальном профиле пользователя 1С:
Путь обычно выглядит так: %AppData%\1C\1cv8\[ID базы]\. Удаление этих файлов сбросит все настройки расположения панелей в Конфигураторе к заводским установкам, что поможет устранить накопленные ошибки позиционирования.
Таким образом, мы рассмотрели комплексный подход к решению проблемы масштабирования. Начните с простых методов (сброс положения окон) и переходите к системным настройкам DPI и манифестам, если проблема носит массовый или устойчивый характер.