При переходе на новые версии платформы 1С, в частности с ветки 8.3.13 на 8.3.15 и выше, администраторы и пользователи часто сталкиваются с изменением привычного поведения интерфейса. Одной из самых раздражающих проблем является ситуация, когда формы новых элементов справочников или документов открываются в отдельном «свободном» окне вместо привычной вкладки. Более того, при открытии дополнительных окон (например, выбора значения) основная форма нового документа может «улетать» на задний план, становясь невидимой для пользователя. В этой статье мы подробно разберем причины такого поведения и способы его исправления.
Проанализируем, что именно изменилось в платформе. Начиная с версии 8.3.15.1534, компания «1С» внедрила масштабное обновление оконной системы. Главная цель этого обновления — обеспечить полноценную многооконность, позволяющую пользователям выносить отдельные документы или отчеты на разные мониторы. Это крайне полезно для аналитической работы, но в первых релизах этой ветки алгоритм управления Z-order (порядком наслоения окон) работал нестабильно.
Выясним основные причины «проваливания» окон на задний план:
Рассмотрим самый простой способ решения проблемы, который доступен непосредственно в режиме «1С:Предприятие». Если формы открываются в отдельных окнах, нам необходимо принудительно вернуть их в режим «в закладках».
Выполним следующие шаги:
Важный нюанс: Как отмечают специалисты, под разными пользователями система может вести себя по-разному. Если у одного пользователя все работает корректно, а у другого — нет, значит, проблема кроется именно в этих индивидуальных настройках интерфейса или в кэше настроек.
Проанализируем ситуацию, когда изменение настроек через «Параметры» не помогает или настройка сбрасывается. В этом случае необходимо произвести более глубокую очистку.
Посмотрим на алгоритм очистки:
%AppData%\1C\1Cv8 и %LocalAppData%\1C\1Cv8 на компьютере пользователя. Это заставит платформу заново пересчитать параметры интерфейса при следующем запуске.Если вы являетесь разработчиком и хотите, чтобы у всех пользователей по умолчанию формы открывались правильно, необходимо проверить настройки в Конфигураторе.
Рассмотрим подробнее свойства корня конфигурации:
РежимОткрытияФормПриложения.Также обратите внимание на программный код открытия форм. Если в коде используется метод ОткрытьФорму(), проверьте передаваемые параметры. Если в расширении или основной конфигурации для формы установлено свойство РежимОткрытияФормыПриложения в значение Независимый, она будет игнорировать общие настройки интерфейса и открываться в новом окне.
// Пример программной проверки режима открытия
ПараметрыФормы = Новый Структура;
// Если мы принудительно задаем режим открытия в коде:
ОткрытьФорму("Справочник.Номенклатура.ФормаОбъекта", ПараметрыФормы, , , ВариантОткрытияОкна.ВЗакладках);
Стоит упомянуть специфическую проблему, которая обсуждалась в сообществе. Иногда «проваливание» окон связано не с логикой 1С, а с тем, как платформа взаимодействует с видеокартой через аппаратное ускорение. Это особенно актуально для систем на базе Linux или при работе через RDP.
Если вышеуказанные методы не помогают, попробуйте запустить 1С с отключенным аппаратным рендерингом. Для этого в дополнительных параметрах запуска информационной базы в стартере (окно выбора баз) добавьте ключ:
/NoVBRender
Этот параметр отключает использование аппаратного ускорения при отрисовке форм, что часто исправляет проблемы с «невидимыми» окнами и некорректным отображением Z-порядка элементов интерфейса.
Мы выяснили, что открытие форм на заднем плане в 1С 8.3.15 — это следствие внедрения новой многооконной системы. Для исправления ситуации в большинстве случаев достаточно:
Помните, что начиная с версии 8.3.15, платформа дает пользователю больше свободы в управлении окнами, но эта свобода требует правильной настройки фокуса и параметров отображения.