При переходе на новые релизы платформы 1С:Предприятие (начиная с ветки 8.3.10 и выше) многие разработчики и системные администраторы сталкиваются с неприятной проблемой: в конфигурациях на обычных формах (например, УПП 1.3, УТ 10.3, КА 1.1, ЗУП 2.5) начинают некорректно отображаться документы и справочники. Элементы управления съезжают, шапки табличных частей сужаются, выпадающие списки открываются со смещением, а границы окон ведут себя непредсказуемо при изменении размеров.
Разберем детально физику возникновения этой ошибки, выясним, почему стандартная очистка кэша помогает лишь временно, и рассмотрим проверенные способы устранения проблемы.
Проанализируем механизм работы графической подсистемы платформы. Начиная с версии 8.3.10, разработчики платформы существенно переработали механизм поддержки дисплеев с высокой плотностью пикселей (High DPI) для современного интерфейса «Такси» (управляемые формы). Однако старый графический движок толстого клиента обычного приложения не рассчитан на динамическую трансляцию координат.
В результате возникают следующие конфликты:
ХранилищеСистемныхНастроек). Поэтому даже после очистки локального кэша на диске при повторном открытии окна форма вновь принимает искаженный вид.Рассмотрим наиболее быстрый и удобный способ исправления ситуации на клиентских рабочих станциях без необходимости принудительно снижать системный масштаб или менять разрешение экрана (что часто приводит к размытию шрифтов).
Выполним следующие шаги настройки на компьютере пользователя:
1cv8.exe в каталоге установки платформы) и выберем пункт Свойства.При таком подходе операционная система берет масштабирование окна приложения полностью на себя, а платформа 1С считает, что работает в стандартном разрешении 96 DPI (100%). В результате все привязки и элементы обычных форм позиционируются корректно.
Если после настройки масштабирования форма продолжает открываться криво, необходимо удалить накопленные сбойные настройки окна из информационной базы. Обычного удаления папок из AppData\Local\1C и AppData\Roaming\1C в этом случае недостаточно.
Разберем варианты сброса настроек:
ХранилищеСистемныхНастроек:
// Пример программного удаления настроек формы
КлючОбъекта = "Документ.ЗаказПокупателя.Форма.ФормаДокумента/ПоложениеОкна";
ХранилищеСистемныхНастроек.Удалить(КлючОбъекта, "", ИмяПользователя);
Часто на одном сервере или предприятии одновременно эксплуатируются как современные конфигурации на управляемых формах (например, БП 3.0, ЗУП 3.1), требующие свежей версии платформы, так и исторические базы на обычных формах (УПП 1.3, УТ 10.3). В этом случае целесообразно разделить запуск разных конфигураций под разными релизами платформы.
Разберем порядок настройки:
8.3.8.хххх или 8.3.9.2170) и актуальную для управляемых форм.8.3.9.2170.Стартер 1С автоматически запустит для этой базы исполняемый файл из соответствующего каталога, что гарантирует стабильную отрисовку интерфейса без конфликтов.
Если искажения проявляются только в отдельных нестандартных или сильно доработанных документах, проанализируем привязки элементов в режиме Конфигуратора.
Обратим внимание на следующие правила:
Панель с прозрачными или скрытыми границами. Панель привязывается к границам формы, а элементы внутри нее — к краям самой панели, что полностью исключает эффект наложения элементов друг на друга.