Как открыть отчет на управляемых формах в обычном приложении 1С?

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

При работе в гибридном режиме или при постепенном переходе конфигурации на управляемый интерфейс часто возникает задача использовать новые отчеты с управляемыми формами непосредственно в сеансе обычного приложения. Разберем особенности работы платформы 1С:Предприятие в таких сценариях, выясним причину возможных ошибок и рассмотрим способы решения.

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

Проанализируем ключевое архитектурное правило платформы 1С: возможность запуска управляемой формы в обычном приложении напрямую зависит от того, является ли отчет встроенным объектом метаданных или внешним файлом:

  1. Внешние отчеты и обработки (файлы .erf / .epf): открыть управляемую форму внешнего отчета в режиме обычного приложения невозможно. Это жесткое платформенное ограничение: при открытии внешнего файла обычное приложение пытается отобразить исключительно обычные формы. Если в файле присутствует только управляемая форма, платформа не сможет ее инициализировать.
  2. Встроенные отчеты (объекты метаданных конфигурации): управляемые формы встроенных отчетов могут полноценно функционировать и открываться в обычном приложении при соблюдении определенных настроек конфигурации.

Условия работы управляемых форм встроенных отчетов

Рассмотрим по шагам, какие требования должны быть выполнены в конфигураторе, чтобы управляемая форма встроенного отчета успешно открывалась в обычном приложении:

  1. Включение режима редактирования в конфигураторе: перейдем в меню Сервис → Параметры → вкладка Общие. Для параметра Редактирование конфигурации для режимов запуска выберем значение Управляемое приложение и обычное приложение. Это позволит управлять свойствами совместимости интерфейсов.
  2. Установка свойства конфигурации: откроем палитру свойств корневого узла конфигурации и установим флаг Использовать управляемые формы в обычном приложении. Без этого флага управляемые формы внутри обычного приложения открываться не будут.
  3. Режим запуска сеанса: запуск информационной базы должен выполняться в режиме Толстый клиент (обычное приложение), а режим совместимости конфигурации должен быть не ниже версии 8.2.
  4. Назначение формы: убедимся, что управляемая форма отчета назначена в качестве основной или вызывается программным путем с помощью стандартных методов ОткрытьФорму() или ПолучитьФорму().

Варианты решения задачи

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

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