При переходе к разработке на управляемых формах в конфигурациях предыдущих поколений, таких как «Управление производственным предприятием» (УПП 1.3) или «Комплексная автоматизация» 1.1, разработчики часто сталкиваются с неожиданным поведением платформы: внешняя обработка (*.epf) с управляемой формой просто не запускается либо открывает пустую форму. При этом обычные формы открываются без нареканий. Разберем по шагам, почему так происходит, какие скрытые ограничения накладывает платформа «1С:Предприятие» и как правильно решить эту задачу, не нарушая работоспособность всей базы данных.
Проанализируем ситуацию и выясним внутреннюю механику работы платформы в режиме совместимости. В типовой конфигурации УПП 1.3 основным режимом запуска является «Обычное приложение» (толстый клиент). В конфигурации может быть включено свойство Использовать управляемые формы в обычном приложении, благодаря которому некоторые типовые документы и отчеты конфигурации действительно открываются на управляемых формах прямо в толстом клиенте.
Однако для внешних файлов действуют строгие ограничения платформы:
Использовать управляемые формы в обычном приложении распространяется строго на объекты, включенные в дерево метаданных конфигурации. Внешние обработки (*.epf) и отчеты (*.erf) не подпадают под действие этого флага.Файл — Открыть в сеансе обычного приложения, платформа пытается найти форму того типа, который соответствует текущему режиму запуска приложения. Она ожидает обычную форму. Управляемая форма внешнего файла игнорируется платформой (даже если в свойствах внешней обработки она назначена основной). В результате обработка либо тихо завершает открытие без вывода интерфейса, либо генерирует пустую форму по умолчанию.Переключение режима запуска конфигурации или конкретного пользователя на «Управляемое приложение» (или запуск тонкого клиента) действительно позволит открыть внешнюю обработку. Однако для типовой базы УПП 1.3 это действие несет критические риски:
&НаКлиенте, &НаСервере, переменные контекста используются неразделенно). При проведении или открытии документов в управляемом сеансе возникнут фатальные ошибки выполнения.Поэтому менять режим запуска всей базы ради одной внешней обработки категорически не рекомендуется. Рассмотрим надежные и проверенные альтернативные варианты решения.
Если обработка предназначена для повседневной работы пользователей внутри их основного рабочего сеанса УПП, наиболее стабильным решением является добавление обычной формы:
Формы добавим обычную форму (толстый клиент).В одной внешней обработке могут сосуществовать формы обоих типов: платформа сама определит, какую форму вывести, исходя из режима сеанса.
Если алгоритм внешней обработки требует именно управляемого интерфейса (например, используются специфические элементы интерфейса, динамические списки или вызовы процедур, разработанных строго под управляемый режим), можно организовать запуск обработки в отдельном сеансе:
/RunModeManagedApplication. Также можно напрямую использовать исполняемый файл тонкого клиента 1cv8c.exe вместо 1cv8.exe.Если информационная база работает на платформе «1С:Предприятие 8.3» с режимом совместимости не ниже 8.3.6, мы можем обойти ограничение платформы на внешние файлы с помощью расширения:
*.cfe).Файл — Открыть.Использовать управляемые формы в обычном приложении. В результате управляемая форма откроется прямо в обычном приложении толстого клиента, при этом сама конфигурация УПП останется на полной типовой поддержке без необходимости снятия замка.