При поэтапном переводе конфигураций (например, «1С:Комплексная автоматизация 1.1» или «1С:Управление производственным предприятием 1.3») с обычных форм на управляемые разработчики часто сталкиваются с логичным пожеланием пользователей: открывать новые управляемые формы в современном интерфейсе «Такси», сохраняя при этом работу основной части программы на обычных формах.
В этой статье мы подробно разберем, почему платформа 1С ведет себя именно так, возможно ли заставить управляемые формы открываться в стиле «Такси» внутри сеанса обычного приложения и какие существуют альтернативные способы решения данной задачи.
Проанализируем техническую сторону работы платформы «1С:Предприятие 8.3» в режиме толстого клиента обычного приложения.
Если в конфигураторе установлена опция Использовать управляемые формы в толстом клиенте в обычном режиме, платформа действительно позволяет вызывать и отображать управляемые формы из привычного обычного интерфейса. Однако при этом действуют строгие архитектурные ограничения:
Таким образом, прямое использование интерфейса «Такси» для отдельных управляемых форм в сеансе обычного приложения не поддерживается платформой.
Рассмотрим два проверенных подхода, которые позволяют задействовать интерфейс «Такси» при наличии в системе обычных форм.
Если приоритетом является использование интерфейса «Такси» для новых форм, мы можем изменить подход к запускe приложения на противоположный:
Основной режим запуска в значение Управляемое приложение.Использовать обычные формы в управляемом приложении./RunModeManagedApplication в режиме толстого клиента.Результат: Главное окно программы и все новые управляемые формы работают в полноценном интерфейсе «Такси», а старые обычные формы открываются во вспомогательных окнах толстого клиента по мере необходимости.
Если основной массив пользователей должен продолжать работать в привычном интерфейсе обычного приложения, придется принять ограничения платформы: