Почему слетают настройки интерфейса и «плывут» таблицы в 1С при изменении масштаба Windows 10 и как это исправить?

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

При работе в конфигурациях на обычных формах (таких как «Управление торговлей», редакция 10.3, «Управление производственным предприятием», редакция 1.3 или «Зарплата и управление персоналом», редакция 2.5) пользователи часто сталкиваются с неприятным эффектом. После изменения масштаба экрана в операционной системе Windows 10 интерфейс программы начинает «ехать»: таблицы растягиваются на пол-экрана, кнопки перекрывают друг друга, а привязки элементов ломаются. При этом стандартная очистка кэша в каталоге AppData дает лишь временный эффект — при повторном запуске 1С настройки интерфейса снова слетают.

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

Выясним причину проблемы: почему «плывет» интерфейс в обычных формах

Рассмотрим, как устроена графическая подсистема обычных форм 1С. Обычные формы разрабатывались под стандарт отображения Windows с разрешением 96 DPI, что соответствует масштабу 100%. Для отрисовки элементов интерфейса используется классическая графическая подсистема Windows GDI, где координаты кнопок, полей и таблиц рассчитываются в абсолютных пикселях на основе системного шрифта DEFAULT_GUI_FONT.

Когда пользователь меняет масштаб системы в Windows 10 (например, устанавливает 125% или 150%), операционная система принудительно изменяет метрики системных шрифтов. Платформа 1С пытается пересчитать координаты элементов формы, однако встроенные алгоритмы авторасстановки (привязки/Anchors) начинают отрабатывать некорректно.

В платформе 1С:Предприятие версии 8.3 была официально зарегистрирована ошибка с кодом 30154969: «В обычных формах, открытых при DPI, отличным от 100%, не работают привязки». Именно этот сбой приводит к тому, что при переоткрытии окон формы сбрасывают свои размеры и таблицы перекашиваются.

Способ 1. Изменение параметров совместимости ярлыка 1С в Windows 10

Разберем самый быстрый способ устранения проблемы на стороне клиентского компьютера без необходимости обновления платформы или конфигурации. Мы можем переопределить режим масштабирования высокого разрешения средствами самой операционной системы Windows 10.

  1. Завершим работу всех сеансов 1С:Предприятие на компьютере пользователя.
  2. Нажмем правой кнопкой мыши на ярлык запуска 1С (или непосредственно на исполнимый файл 1cv8.exe) и выберем пункт Свойства.
  3. Перейдем на вкладку Совместимость и нажмем кнопку Изменить параметры высокого DPI.
  4. В появившемся окне установим флажок напротив пункта Переопределите режим масштабирования высокого разрешения.
  5. В выпадающем списке выберем один из двух вариантов:
    • Приложение (Application) — платформа 1С будет самостоятельно отрисовывать формы в исходном масштабе. Элементы интерфейса сохранят правильные пропорции и привязки, но текст станет более мелким.
    • Система (улучшенная) (System Enhanced) — операционная система Windows сама смасштабирует готовое окно 1С как растровое изображение. Интерфейс перестанет «ехать», сохранит верные пропорции, хотя шрифты могут выглядеть слегка размытыми.
  6. Сохраним настройки кнопкой ОК и запустим 1С.

Способ 2. Обновление платформы 1С:Предприятие

Проанализируем системное решение этой проблемы. Фирма 1С исправила ошибку 30154969 в релизах платформы **8.3.11** и выше.

Для устранения проблемы на корню достаточно обновить платформу 1С:Предприятие на клиентских ПК до версии 8.3.11 или более свежей (включая современные релизы 8.3.20+). При этом важно учитывать следующие технические моменты:

Новые версии платформы 8.3 обладают полной обратной совместимостью со старыми конфигурациями на обычных формах. Вам **не потребуется** вносить какие-либо изменения в конфигурацию «Управление торговлей» 10.3.13.2 или обновлять сам релиз конфигурации — достаточно просто обновить клиентское приложение 1С на рабочих местах.

Способ 3. Установка пользовательского процента масштабирования в Windows

Если обновление платформы временно невозможно, рассмотрим альтернативный обходной путь через настройки операционной системы. Опыт эксплуатации показывает, что сбой привязок чаще всего происходит при выборе стандартных пресетов Windows (125%, 150%).

  1. Откроем Параметры Windows -> Система -> Дисплей.
  2. Перейдем в раздел Настраиваемое масштабирование (Custom scaling).
  3. Зададим произвольное значение масштаба вручную (например, 124% или 126% вместо стандартных 125%).
  4. Перезагрузим компьютер для применения изменений. При таком подходе механизм расчета привязок GDI в старых релизах платформы часто отрабатывает корректно.

Критически важное предупреждение для программистов и администраторов

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

В результате сэкономленная форма станет открываться с перекошенным интерфейсом у всех пользователей компании, независимо от их настроек DPI. Правило: Любые работы по доработке обычных форм в Конфигураторе необходимо производить исключительно при системном масштабе Windows **100% (96 DPI)**.

Как устроено масштабирование в управляемых формах (УТ 11, БП 3.0, ERP)

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

В отличие от обычных форм, управляемые формы поддерживают встроенное кастомизируемое масштабирование:

Таким образом, для устаревших обычных форм (УТ 10.3) основным решением проблемы с «плывущим» интерфейсом является обновление платформы до версии 8.3.11 и выше, либо настройка параметров DPI в свойствах ярлыка запуска 1С.

← На главную