Можно ли использовать управляемые формы в интерфейсе «Такси» в режиме обычного приложения 1С?

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

При поэтапном переводе конфигураций (например, «1С:Комплексная автоматизация 1.1» или «1С:Управление производственным предприятием 1.3») с обычных форм на управляемые разработчики часто сталкиваются с логичным пожеланием пользователей: открывать новые управляемые формы в современном интерфейсе «Такси», сохраняя при этом работу основной части программы на обычных формах.

В этой статье мы подробно разберем, почему платформа 1С ведет себя именно так, возможно ли заставить управляемые формы открываться в стиле «Такси» внутри сеанса обычного приложения и какие существуют альтернативные способы решения данной задачи.

Ограничения платформы и причина поведения системы

Проанализируем техническую сторону работы платформы «1С:Предприятие 8.3» в режиме толстого клиента обычного приложения.

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

  1. Режим работы сеанса: Когда пользователь запускает программу в режиме «Толстый клиент (обычное приложение)», графическая оболочка главного окна программы строится по правилам платформы 8.2.
  2. Отображение форм: Внедренные управляемые формы открываются исключительно в визуальном стиле управляемых форм 8.2 (в отдельных окнах или закладочном интерфейсе старого типа).
  3. Ограничение интерфейса «Такси»: Командная оболочка, оконная система и визуальный стиль «Такси» принципиально не могут функционировать внутри главного окна обычного приложения. Настройки выбора внешнего вида «Такси» в таком сеансе полностью отсутствуют в пользовательских параметрах.

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

Альтернативные решения задачи

Рассмотрим два проверенных подхода, которые позволяют задействовать интерфейс «Такси» при наличии в системе обычных форм.

1. Смена основного режима запуска (обратный подход)

Если приоритетом является использование интерфейса «Такси» для новых форм, мы можем изменить подход к запускe приложения на противоположный:

  1. В свойствах конфигурации устанавливаем свойство Основной режим запуска в значение Управляемое приложение.
  2. Включаем свойство конфигурации Использовать обычные формы в управляемом приложении.
  3. При необходимости запускаем сеанс с параметром командной строки /RunModeManagedApplication в режиме толстого клиента.

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

2. Поэтапная миграция с сохранением стиля 8.2

Если основной массив пользователей должен продолжать работать в привычном интерфейсе обычного приложения, придется принять ограничения платформы:

  1. Новые управляемые формы создаются и адаптируются под режим управляемого приложения.
  2. В сеансе обычного приложения эти формы будут отображаться в классическом стиле управляемых форм 8.2.
  3. После того как основной функционал будет переписан на управляемые формы, выполняется финальный перевод информационной базы в режим управляемого приложения, после чего интерфейс «Такси» станет доступен для всех пользователей автоматически.
← На главную