При работе в конфигурациях на обычных формах (таких как «Управление торговлей», редакция 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%, не работают привязки». Именно этот сбой приводит к тому, что при переоткрытии окон формы сбрасывают свои размеры и таблицы перекашиваются.
Разберем самый быстрый способ устранения проблемы на стороне клиентского компьютера без необходимости обновления платформы или конфигурации. Мы можем переопределить режим масштабирования высокого разрешения средствами самой операционной системы Windows 10.
1cv8.exe) и выберем пункт Свойства.Проанализируем системное решение этой проблемы. Фирма 1С исправила ошибку 30154969 в релизах платформы **8.3.11** и выше.
Для устранения проблемы на корню достаточно обновить платформу 1С:Предприятие на клиентских ПК до версии 8.3.11 или более свежей (включая современные релизы 8.3.20+). При этом важно учитывать следующие технические моменты:
Новые версии платформы 8.3 обладают полной обратной совместимостью со старыми конфигурациями на обычных формах. Вам **не потребуется** вносить какие-либо изменения в конфигурацию «Управление торговлей» 10.3.13.2 или обновлять сам релиз конфигурации — достаточно просто обновить клиентское приложение 1С на рабочих местах.
Если обновление платформы временно невозможно, рассмотрим альтернативный обходной путь через настройки операционной системы. Опыт эксплуатации показывает, что сбой привязок чаще всего происходит при выборе стандартных пресетов Windows (125%, 150%).
Выясним еще один важный нюанс, связанный с доработкой обычных форм. Если разработчик откроет форму в Конфигураторе на компьютере, где в настройках Windows включен масштаб, отличный от 100% (например, 125%), отредактирует привязки и сохранит конфигурацию — координаты элементов сохранятся в базу данных в искаженном виде.
В результате сэкономленная форма станет открываться с перекошенным интерфейсом у всех пользователей компании, независимо от их настроек DPI. Правило: Любые работы по доработке обычных форм в Конфигураторе необходимо производить исключительно при системном масштабе Windows **100% (96 DPI)**.
Посмотрим, как изменился подход к масштабированию в современных конфигурациях на управляемых формах (интерфейс «Такси»). Начиная с платформы 8.3.10.2168, фирма 1С полностью переработала механизм работы с экранами высокого разрешения.
В отличие от обычных форм, управляемые формы поддерживают встроенное кастомизируемое масштабирование:
Таким образом, для устаревших обычных форм (УТ 10.3) основным решением проблемы с «плывущим» интерфейсом является обновление платформы до версии 8.3.11 и выше, либо настройка параметров DPI в свойствах ярлыка запуска 1С.