Почему при открытии консоли запросов возникает ошибка «для объекта не определена форма по умолчанию» и как запустить её в управляемом приложении?

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

При переходе на работу с управляемым интерфейсом разработчики часто сталкиваются с ситуацией, когда проверенная временем внешняя обработка «Консоль запросов» отказывается запускаться в рабочей базе. При попытке открыть файл через меню «Файл — Открыть» платформа выдает сообщение: «Для объекта не определена форма по умолчанию, соответствующая текущему режиму запуска. Режим запуска: Толстый клиент, управляемое приложение».

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

Причины возникновения ошибки и архитектурные ограничения

Классическая консоль запросов, разработанная фирмой «1С» для платформы 8.1 и 8.2, создана на основе обычных форм. В управляемом приложении действуют строгие правила отображения интерфейса:

  1. Несоответствие типа формы и режима запуска: управляемый интерфейс по умолчанию ожидает управляемую форму. Если у внешней обработки создана только обычная форма, платформа не может найти подходящий графический интерфейс для отображения.
  2. Ограничения тонкого и веб-клиентов: обычные формы физически не могут быть отображены в тонком клиенте или веб-клиенте. Они поддерживаются исключительно в толстом клиенте под управлением ОС Windows.
  3. Ограничения визуального конструктора запросов: интерактивный инструмент КонструкторЗапроса на уровне платформы реализован только внутри толстого клиента. Даже если консоль переписана на управляемых формах, при запуске в тонком клиенте кнопка вызова конструктора запросов будет недоступна.

Способ 1. Включение использования обычных форм в свойствах конфигурации

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

  1. Откроем информационную базу в режиме «Конфигуратор».
  2. Перейдем в главное меню: «Сервис» — «Параметры».
  3. На вкладке «Общие» найдем переключатель режимов редактирования конфигурации. Установим его в положение «Управляемое и обычное приложение» и нажмем «ОК». Это действие делает видимыми устаревшие свойства в палитре свойств.
  4. Откроем дерево метаданных конфигурации, выделим корневой элемент (имя конфигурации) и нажмем правую кнопку мыши, выбрав пункт «Свойства».
  5. В открывшейся палитре свойств найдем флаг «Использовать обычные формы в управляемом приложении» и установим его.
  6. Вернемся в меню «Сервис» — «Параметры» и при желании вернем переключатель обратно в положение «Управляемое приложение».
  7. Сохраним изменения в конфигураторе и обновим конфигурацию базы данных (клавиша F7).
  8. Запустим сеанс «1С:Предприятие» в режиме «Толстый клиент (управляемое приложение)». Теперь внешняя обработка с обычной формой успешно откроется.

Способ 2. Запуск сеанса в режиме толстого клиента без изменения метаданных

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

  1. В окне запуска информационных баз выделим рабочую базу и нажмем кнопку «Изменить».
  2. Перейдем на страницу настройки параметров запуска (нажав «Далее»).
  3. В поле «Основной режим запуска» переключим значение с «Выбирать автоматически» или «Тонкий клиент» на «Толстый клиент».
  4. В поле дополнительных параметров запуска можно явно указать ключ: /RunModeThickApplication.
  5. Если обработка предназначена для обычного приложения, также можно настроить запуск отдельного пользователя с режимом запуска «Обычное приложение», если конфигурация поддерживает такой режим совместимости.

Способ 3. Переход на современную консоль запросов для управляемых форм

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

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

Решение проблемы с блокировкой редактирования параметров

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

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

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

← На главную