Почему перестали масштабироваться обычные формы и блокируется разделитель в 1С:Предприятии 8.3?

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

При обновлении платформы 1С:Предприятие до релизов 8.3.9 и 8.3.10 пользователи конфигураций на обычных формах (например, Зарплата и Управление Персоналом 2.5 или Управление производственным предприятием 1.3) нередко сталкиваются с критическими ошибками интерфейса. Формы документов и справочников перестают растягиваться на весь экран, элемент управления Разделитель (splitter) намертво зависает в одном положении, а кнопка Восстановить положение окна перестает возвращать стандартные размеры.

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

Причины сбоя привязок и разделителей

Проанализируем техническую сторону проблемы, чтобы понять корень неисправности:

  1. Переработка подсистемы High DPI в платформе: Начиная с релиза 8.3.9 разработчики платформы существенно изменили алгоритмы работы с системным масштабированием экрана. Новые механизмы оптимизировались под управляемый интерфейс («Такси»), тогда как в толстом клиенте на обычных формах математика пересчета жестких привязок (anchors) и координат элементов начала давать сбои. Из-за ошибок округления пикселей платформа считает, что привязанный к разделителю элемент уже достиг минимального или максимального размера, и намертво блокирует изменение пропорций.
  2. Особенности работы Windows 7 при подключении по RDP / RD Web Access: В операционной системе Windows 7 механизмы передачи метрик масштабирования в терминальную сессию устарели. Если на рабочей станции пользователя установлен нестандартный масштаб шрифтов (например, 125% или 150%), в сеанс передаются искаженные системные метрики, что ломает верстку обычных форм. В Windows 8.1 и Windows 10 стек RDP обновлен, поэтому на более новых ОС проблема может не проявляться.
  3. Кэширование некорректных координат: Как только пользователь открывает форму в искаженном масштабе и пытается сдвинуть разделитель, платформа сохраняет ошибочные координаты в пользовательский профиль. В результате форма остается заблокированной даже после устранения внешних факторов.

Способ 1. Явное указание стабильной версии платформы для информационной базы

Если в организации параллельно используются конфигурации на управляемых формах (например, Бухгалтерия предприятия 3.0, требующая актуальных релизов 8.3.10+) и базы на обычных формах (ЗУП 2.5), наиболее надежным решением является разделение версий платформы при запуске.

Выполним настройку запуска базы по шагам:

  1. Установим на клиентские компьютеры или терминальный сервер проверенный стабильный дистрибутив (например, 8.3.8.2197).
  2. Откроем стартер 1С:Предприятия.
  3. Выделим базу на обычных формах и нажмем кнопку Изменить.
  4. Перейдем на последнюю страницу настроек диалога редактирования информационной базы.
  5. В поле Версия 1С:Предприятия укажем конкретный номер версии, например: 8.3.8.
  6. Сохраним настройки по кнопке Готово.

Теперь база на обычных формах будет стабильно работать под управлением платформы 8.3.8 без геометрических искажений интерфейса, а остальные конфигурации продолжат открываться на более новых релизах.

Способ 2. Отключение масштабирования High DPI в свойствах приложения

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

Рассмотрим порядок действий:

  1. Перейдем в каталог установки платформы, например: C:\Program Files (x86)\1cv8\8.3.10.XXXX\bin\.
  2. Нажмем правой кнопкой мыши на исполняемый файл 1cv8.exe (или 1cv8c.exe) и выберем Свойства.
  3. Перейдем на вкладку Совместимость.
  4. Включим опцию Отключить масштабирование изображения при высоком разрешении экрана (в Windows 10/11: нажмем Изменить параметры высокого DPI и выберем режим Переопределение масштабирования -> Приложение).
  5. Применим изменения.

Способ 3. Сброс системного масштаба и очистка пользовательского кэша

Для полного устранения заклинивания разделителей необходимо сбросить некорректно сохраненные позиции элементов.

Разберем процедуру очистки:

  1. На клиентской машине пользователя установим системный масштаб дисплея строго на 100% (96 DPI). Если пользователю требуется увеличить интерфейс, безопаснее временно уменьшить физическое разрешение экрана монитора, не изменяя процент масштабирования.
  2. Завершим все сеансы 1cv8.exe.
  3. Очистим папки с пользовательскими настройками интерфейса и кэшем форм, удалив каталоги с длинными буквенно-цифровыми именами по путям:

    %LOCALAPPDATA%\1C\1Cv8\

    %APPDATA%\1C\1Cv8\

  4. Запустим базу заново. При первом открытии документы и справочники восстановят исходные привязки, а Разделитель вернет подвижность.
← На главную