В ходе работы с платформой 1С:Предприятие версии 8.3.17 и выше пользователи иногда сталкиваются с неприятной особенностью: основное окно программы «замирает» и не позволяет изменить свои границы при перетаскивании курсором мыши. Эта проблема носит плавающий характер и проявляется далеко не у всех, что существенно затрудняет диагностику. Давайте вместе разберем, почему это происходит и как исправить ситуацию, не дожидаясь исправления со стороны разработчиков 1С.
Проанализировав поведение платформы, мы можем выделить основные факторы, приводящие к блокировке изменения размера окна. Чаще всего данная ошибка возникает из-за конфликта в механизмах отрисовки интерфейса при специфической компоновке рабочего стола пользователя.
Ключевые условия возникновения проблемы:
управляемого приложения может ошибочно интерпретировать минимально допустимые размеры области как фиксированные, блокируя тем самым возможность ручного растягивания окна.Поскольку проблема кроется в особенностях визуальной компоновки, самым эффективным способом решения на данный момент является принудительная перенастройка пользовательского интерфейса. Рассмотрим пошаговые действия, которые помогут нам разблокировать границы окна.
Так как блокировка вызвана конфликтом «сложной» вертикальной структуры панелей, нам необходимо изменить положение этих панелей. Для этого выполним следующие действия:
После того как мы «разнесем» панели из одной колонки, внутренняя логика рендеринга 1С пересчитает границы контейнеров, и функционал перетаскивания границ главного окна должен восстановиться.
Если простая перестановка не дает нужного результата, попробуем произвести полный сброс пользовательских настроек панелей. Это принудительно заставит платформу применить конфигурацию «по умолчанию», которая обычно не содержит конфликтующих слоев.
Разбирая ситуацию, важно понимать, что управляемое приложение 1С работает не напрямую с окном Windows, а через свой собственный слой абстракции — клиентскую часть 1С:Предприятие. В момент попытки растянуть окно, платформа посылает событие изменения размера формы, которое перехватывается «движком» управляемых форм. Если в этой цепочке возникает «циклическая зависимость» размеров (когда одна панель пытается занять всё доступное пространство, а другая ограничивает её), платформа просто игнорирует запрос на изменение размера, чтобы избежать критической ошибки отображения.
Мы рекомендуем при возникновении подобных проблем в первую очередь проверять именно конфигурацию рабочих столов у тех пользователей, которые жалуются на невозможность изменения размера окна. В подавляющем большинстве случаев (как мы выяснили на практике) проблема решается за 30 секунд простой перетасовкой панелей в интерфейсе пользователя.
Если же вы являетесь администратором системы, вы можете применить настройки панелей программно или через хранилище настроек, чтобы централизованно исправить интерфейс для всех рабочих мест, где воспроизводится данная ошибка.