Где найти консоль запросов для 1С 8.3 с работающим конструктором в тонком клиенте?

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

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

Техническая возможность работы конструктора в тонком клиенте

Для начала проанализируем ситуацию с точки зрения платформы. До версии 8.3.5 программный вызов конструктора запросов в тонком клиенте был действительно невозможен. Начиная с версии 8.3.5.1068, компания "1С" добавила объект КонструкторЗапроса в состав доступных инструментов для тонкого клиента.

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


&НаКлиенте
Процедура ОткрытьКонструктор(Команда)
    Конструктор = Новый КонструкторЗапроса;
    Конструктор.Текст = Объект.ТекстЗапроса;
    
    ОписаниеОповещения = Новый ОписаниеОповещения("ПослеЗакрытияКонструктора", ЭтотОбъект);
    Конструктор.Показать(ОписаниеОповещения);
КонецПроцедуры

&НаКлиенте
Процедура ПослеЗакрытияКонструктора(Результат, ДополнительныеПараметры) Экспорт
    Если Результат <> Неопределено Тогда
        Объект.ТекстЗапроса = Результат.Текст;
    КонецЕсли;
КонецПроцедуры

Использование метода Показать() вместо устаревшего метода Открыть() позволяет инструменту корректно работать в веб-клиенте и тонком клиенте без использования модальных окон.

Вариант 1: Официальная консоль запросов с портала ИТС

Самым надежным и "чистым" решением является использование типовой обработки от разработчиков 1С. Рассмотрим, как ее получить и использовать. На ресурсе ИТС (Информационно-технологическое сопровождение) регулярно обновляется "Консоль запросов для управляемых форм".

Преимущества данного решения:

  1. Полная совместимость с актуальными версиями платформы.
  2. Отсутствие лишнего кода и сторонних библиотек.
  3. Поддержка всех типов параметров, включая временные таблицы.
  4. Корректная работа конструктора через штатные механизмы платформы.

Чтобы конструктор заработал, убедитесь, что в свойствах вашей конфигурации Режим использования модальности установлен в значение "Не использовать", а Режим совместимости соответствует версии не ниже 8.3.5. В противном случае платформа может заблокировать вызов окна конструктора.

Вариант 2: Консоль запросов из состава БСП

Если вы работаете с современной типовой конфигурацией (например, 1С:ERP, УТ 11 или БП 3.0), в нее уже встроена мощная консоль запросов, входящая в состав Библиотеки стандартных подсистем (БСП). Выясним, как ее найти.

Обычно она скрыта в меню для администраторов. Перейдите в раздел НСИ и администрирование — Обслуживание — Отчеты и обработки. Там часто можно найти "Консоль запросов". Если она не выведена в интерфейс, ее можно запустить через "Функции для технического специалиста", набрав в поиске Консоль запросов.

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

Вариант 3: Инструменты разработчика (ИР) и сторонние решения

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

Рассмотрим подробнее возможности таких консолей:

Однако стоит учитывать, что сложные консоли часто требуют наличия определенных прав (например, "Администрирование" или "Интерактивное открытие внешних обработок") и могут нестабильно работать в веб-клиенте из-за ограничений браузера на использование диалоговых окон.

Почему конструктор может не открываться?

Проанализируем основные причины, по которым кнопка "Конструктор" в консоли может быть неактивна или выдавать ошибку в тонком клиенте:

  1. Версия платформы: Убедитесь, что используется клиентское приложение версии 8.3.5 или выше.
  2. Права доступа: В тонком клиенте для работы конструктора пользователю необходимы права на просмотр метаданных. Если у пользователя ограничены права (например, роль "Только чтение"), конструктор может не запуститься, так как он не сможет построить дерево доступных таблиц.
  3. Режим совместимости: Если конфигурация работает в режиме совместимости с 8.2, объект КонструкторЗапроса на клиенте будет недоступен.
  4. Метод вызова: Если консоль старая и использует модальный вызов Открыть(), а в конфигурации модальность запрещена, окно просто не появится. В этом случае нужно искать обновленную версию обработки.

Рекомендация по выбору

Подведем итог. Если вам нужен простой и надежный инструмент для написания запросов "на лету", используйте консоль с ИТС или встроенную консоль БСП. Они гарантированно работают в тонком клиенте и поддерживают конструктор.

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

← На главную