Как исправить некорректное масштабирование и наложение панелей в Конфигураторе 1С

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

При работе в 1С, особенно через удаленный рабочий стол (RDP) или на современных мониторах с высоким разрешением (High DPI), программисты и администраторы часто сталкиваются с неприятным визуальным багом. Элементы интерфейса в Конфигураторе — панели свойств, формы метаданных, конструкторы запросов — начинают «наезжать» друг на друга, масштабироваться некорректно или вовсе исчезать за границами видимости. Разберем подробно, почему это происходит и какими методами можно вернуть интерфейсу нормальный вид.

Метод 1. Сброс настроек размещения окон внутри 1С

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

  1. Нажмем правой кнопкой мыши на заголовок проблемного окна или на его ярлык в нижней панели Конфигуратора.
  2. Выберем пункт меню Восстановить исходное положение.

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

Метод 2. Настройка масштабирования Windows на локальной и удаленной машине

Выясним причину конфликта: чаще всего проблема кроется в разнице настроек DPI (Dots Per Inch) на локальном компьютере пользователя и на сервере, к которому идет подключение. Проанализируем стандартный алгоритм синхронизации:

  1. На локальном компьютере перейдем в Панель управления — Экран (или «Параметры дисплея» в Windows 10/11).
  2. Убедимся, что масштаб установлен на значение 100%. Любое другое значение (125%, 150%) может приводить к искажениям при передаче координат через RDP.
  3. Если на сервере масштаб отличается, попробуем применить «шоковую терапию» для настроек сессии: сменим масштаб на сервере на любой другой, нажмем «Применить», а затем вернем его обратно в 100%. Это заставляет графическую подсистему Windows пересчитать метрики шрифтов и элементов управления.

Метод 3. Тонкая настройка DPI через свойства ярлыка

Если работа на 100% масштабе невозможна из-за слишком мелкого текста, рассмотрим более продвинутый способ — переопределение режима масштабирования для конкретного приложения. Это наиболее эффективный метод для современных версий Windows.

Найдем исполняемый файл платформы (обычно это 1cv8.exe или 1cv8s.exe в папке bin) и проделаем следующие шаги:

  1. Нажмем правой кнопкой мыши на файл и выберем Свойства.
  2. Перейдем на вкладку Совместимость.
  3. Нажмем кнопку Изменить параметры высокого DPI.
  4. Установим флажок в поле Переопределите режим масштабирования высокого разрешения.
  5. В выпадающем списке выберем пункт Система (улучшенная) или System (Enhanced).

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

Метод 4. Использование внешнего манифест-файла

В случаях, когда стандартные настройки совместимости не дают результата, проанализируем возможность использования манифеста. Мы можем принудительно сообщить операционной системе, что приложение 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). Данный метод сделает картинку чуть более размытой, но сохранит идеальные пропорции всех окон конфигуратора.

Метод 5. Корректировка настроек RDP-сессии и реестра

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

  1. Откроем редактор реестра regedit.
  2. Перейдем в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations.
  3. Создадим параметр типа DWORD с именем IgnoreClientDesktopScaleFactor.
  4. Установим значение 1.

Также в настройках самого RDP-клиента (файл .rdp) полезно проверить наличие строки smart sizing:i:1, которая позволяет более гибко подстраивать удаленный рабочий стол под размер окна локального монитора.

Метод 6. Очистка кэша и пользовательских настроек интерфейса

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

Путь обычно выглядит так: %AppData%\1C\1cv8\[ID базы]\. Удаление этих файлов сбросит все настройки расположения панелей в Конфигураторе к заводским установкам, что поможет устранить накопленные ошибки позиционирования.

Таким образом, мы рассмотрели комплексный подход к решению проблемы масштабирования. Начните с простых методов (сброс положения окон) и переходите к системным настройкам DPI и манифестам, если проблема носит массовый или устойчивый характер.

← На главную