При подготовке к экзамену «1С:Специалист» или работе с каркасными конфигурациями программисты часто сталкиваются с ошибкой: «Для объекта не определена форма по умолчанию, соответствующая текущему режиму запуска». Эта проблема возникает при попытке открыть внешнюю обработку «Консоль запросов», которая была создана на обычных формах, в то время как конфигурация работает в режиме управляемого приложения. Проанализируем ситуацию и разберем по шагам, как настроить среду для корректной работы инструментов отладки.
Основная причина кроется в несовместимости типов форм и режимов запуска платформы. Каркасная конфигурация по умолчанию настроена на работу в режиме управляемого приложения (тонкий клиент). Если консоль запросов разработана на обычных формах, платформа не может «отрисовать» её интерфейс, так как тонкий клиент не поддерживает старый механизм форм. Рассмотрим подробнее, как разрешить это противоречие через настройки конфигурации и параметры запуска. Чтобы работать в тонком клиенте без изменения настроек запуска конфигурации, можно использовать консоль запросов на управляемых формах.
Первым делом нам необходимо разрешить платформе использовать старые механизмы отображения интерфейса внутри новой среды. Пройдем по шагам:
Даже если мы разрешили использование обычных форм, стандартный «Тонкий клиент» все равно не сможет их запустить. Нам необходимо принудительно использовать Толстый клиент. Разберем, как это сделать правильно:
В главном меню конфигуратора выберем пункт Сервис — Параметры. Перейдем на вкладку «Общие» и установим переключатель в положение «Управляемое приложение и обычное приложение». Это позволит среде понимать оба типа интерфейсов.
Далее перейдем на вкладку «Запуск 1С:Предприятия». В разделе «Основные» выберем режим запуска «Толстый клиент (управляемое приложение)». Именно этот режим позволяет совмещать работу в управляемом интерфейсе каркасной конфигурации с запуском внешних инструментов на обычных формах.
В современных версиях платформы (начиная с 8.3.9) реализован механизм «Защиты от опасных действий». При открытии внешней обработки система может заблокировать её выполнение. Чтобы избежать лишних диалоговых окон на этапе разработки или экзамена, выполним следующие действия:
Это позволит открывать консоль запросов без дополнительных подтверждений и блокировок со стороны системы безопасности.
Иногда после успешного запуска консоль выдает ошибку уже в процессе выполнения запроса или при попытке просмотреть результат. Часто это связано с использованием устаревших процедур отображения значений. Если вы столкнулись с ошибкой при попытке открыть содержимое ячейки результата, проанализируем код формы консоли.
Найдем в модуле обработки метод ОткрытьЗначение. В режиме управляемого приложения (даже в толстом клиенте) этот метод может работать некорректно. Заменим его на более универсальный ПоказатьЗначение. Рассмотрим пример исправления кода:
// Было:
ОткрытьЗначение(СодержимоеЯчейки);
// Стало:
ПоказатьЗначение(, СодержимоеЯчейки);
Такая замена позволит платформе использовать асинхронный вызов окна просмотра, что соответствует современным стандартам разработки и исправляет ошибки падения интерфейса.
Если настройки в меню «Сервис — Параметры» по какой-то причине не сохраняются, мы можем воспользоваться принудительным запуском через дополнительные параметры. В окне выбора информационных баз выберем нужную базу, нажмем «Изменить» и на последней вкладке в поле «Дополнительные параметры запуска» введем одну из следующих команд:
/RunModeOrdinaryApplication — для запуска сразу в режиме обычного приложения./T — для принудительного запуска толстого клиента.Важно помнить, что консоли запросов бывают разными. Посмотрим на основные варианты, которые могут встретиться:
КонсольЗапросов.epf и находится в папках, связанных с управляемым приложением.UNIREPS83. Она обладает мощным функционалом, включая работу с временными таблицами.Проанализируем еще один нюанс: работа с временными таблицами. При использовании старых консолей в смешанном режиме может возникнуть ситуация, когда временная таблица, созданная в одном пакете запроса, не видна в другом. Убедитесь, что в используемой вами консоли установлен флаг «Использовать менеджер временных таблиц». Это гарантирует, что контекст запроса будет сохраняться между выполнениями различных частей кода. Для удобной отладки сложных пакетов также подойдёт управляемая консоль запросов с поддержкой временных таблиц.
Подводя итог, можно сказать, что умение настроить каркасную конфигурацию для работы с внешними инструментами — это неявная часть проверки квалификации программиста. Правильное сочетание настроек Толстого клиента и Обычных форм обеспечит стабильную работу и позволит сосредоточиться на написании самих запросов, а не на борьбе с интерфейсом.