К статье
Практический материал

Разработка и Конфигурация · 10 мин

Конструктор запросов 1С 8.3: как запустить и начать работу

Как запустить конструктор запросов в 1С 8.3: через конфигуратор, консоль запросов и встроенный язык. Пошаговые инструкции, ошибки и FAQ.

Конструктор запросов в 1С 8.3 — визуальный инструмент, который позволяет собрать запрос к базе данных без ручного написания текста на языке запросов. Он доступен в конфигураторе при редактировании модулей, а также в режиме предприятия через специальные обработки — консоли запросов.

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

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

Что такое конструктор запросов и когда он нужен

Конструктор запросов — это диалоговое окно платформы, в котором запрос собирается по шагам: выбираются таблицы базы данных, поля, условия отбора, группировки, итоги и порядок сортировки. На выходе конструктор формирует готовый текст на встроенном языке запросов 1С.

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

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

Запуск конструктора из модуля в конфигураторе

Основной сценарий — вызов конструктора при написании программного кода. Откройте конфигуратор, найдите нужный объект (например, отчёт или общий модуль) и откройте его модуль для редактирования.

Дальше порядок действий такой: установите курсор в то место кода, где должен находиться текст запроса. Обычно это строка вида Запрос.Текст = "..."; или отдельная строковая переменная. Затем вызовите контекстное меню правой кнопкой мыши и выберите пункт «Конструктор запроса...». Альтернатива — кнопка «Конструктор запроса» на панели инструментов редактора модуля или команда меню «Текст».

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

Запуск из конфигуратора
  1. 1
    Откройте конфигуратор и нужный модуль объекта
  2. 2
    Поставьте курсор в место, где будет текст запроса
  3. 3
    Нажмите правую кнопку мыши → «Конструктор запроса...»
  4. 4
    Соберите запрос: таблицы, поля, условия, итоги
  5. 5
    Нажмите «ОК» — текст запроса вставится в модуль автоматически

Запуск конструктора с нуля: создание нового запроса

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

Работа строится по закладкам. На закладке «Таблицы и поля» перетащите нужные таблицы в среднюю колонку, а затем выберите из них поля. На закладке «Связи» настройте соединения, если таблиц несколько. Закладка «Условия» отвечает за отборы, «Группировка» — за свёртку и агрегатные функции, «Итоги» — за подведение итогов по иерархии, «Порядок» — за сортировку результата.

Полезная деталь: кнопка «Запрос» внизу окна конструктора показывает сформированный текст без закрытия диалога. Так можно проверить результат до вставки в модуль.

Как открыть конструктор в режиме 1С:Предприятие

В пользовательском режиме штатного конструктора нет, поэтому применяется обработка «Консоль запросов». Для управляемых форм существуют типовые консоли, которые распространяются в составе инструментов разработчика; их подключают через меню «Файл → Открыть» как внешнюю обработку (файл с расширением .epf).

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

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

Конструктор в толстом и тонком клиенте: есть ли разница

Конструктор запросов — инструмент толстого клиента. В конфигураторе он работает всегда, поскольку конфигуратор сам по себе является толстым клиентом. В режиме предприятия консоль запросов с вызовом конструктора корректно работает именно в толстом клиенте.

В тонком клиенте и веб-клиенте диалог конструктора недоступен — там консоли запросов позволяют только писать текст вручную и выполнять его. Если вы открыли обработку в тонком клиенте и кнопка конструктора не работает или отсутствует, это ожидаемое поведение платформы, а не ошибка.

Выход простой: запустите базу в режиме толстого клиента (параметр запуска выбирается в настройках информационной базы в стартовом окне 1С) и повторите попытку.

Где запускать конструктор

Конфигуратор

Подходит разработчику: конструктор встроен, вызывается из любого модуля. Ограничение — нужны права на конфигурирование.

Толстый клиент + консоль запросов

Подходит аналитику для разовых выборок без изменения конфигурации. Ограничение — нужна внешняя обработка и права на её запуск.

Тонкий/веб-клиент

Конструктор недоступен, возможен только ручной ввод текста запроса в консоли. Для визуальной сборки переключитесь на толстый клиент.

Типичные ошибки при запуске и их решение

Самая частая жалоба — пункт «Конструктор запроса» неактивен в контекстном меню. Причина почти всегда одна: курсор стоит не внутри строкового литерала. Конструктор вызывается только тогда, когда редактор понимает, что вы работаете с текстом запроса, — то есть внутри кавычек строки или в пустой позиции, где строка будет создана.

Вторая типичная ситуация — конструктор открывается, но выдаёт ошибку разбора текста. Это значит, что существующий текст запроса содержит синтаксическую ошибку или использует конструкции, которые конструктор не поддерживает, например некоторые вложенные запросы или специфические операторы. Решение: временно упростите текст или исправьте ошибку вручную, затем снова откройте конструктор.

Третья проблема — в режиме предприятия консоль запросов не открывается с сообщением о нарушении прав доступа. Здесь дело не в конструкторе, а в правах пользователя: попросите администратора выдать право на интерактивное открытие внешних обработок или добавить консоль в подсистему дополнительных отчётов и обработок.

Типичные ошибки
01
Курсор стоит вне строки с текстом запроса — пункт меню «Конструктор запроса» недоступен
02
Попытка открыть конструктор в тонком клиенте — диалог не появляется, нужно переключиться на толстый клиент
03
Редактирование запроса с неподдерживаемыми конструкциями — конструктор выдаёт ошибку разбора и не открывается
04
Запуск тяжёлого запроса без отборов на рабочей базе — блокировки и жалобы пользователей

Проверка результата после работы конструктора

После нажатия «ОК» конструктор вставляет текст запроса в модуль. Проверьте, что текст синтаксически корректен: в конфигураторе выполните проверку модуля через меню «Конфигурация → Проверка конфигурации» или команду проверки модуля в редакторе.

Далее убедитесь, что запрос возвращает ожидаемые данные. В конфигураторе для этого удобно использовать отладку: поставьте точку останова после выполнения запроса и посмотрите содержимое результата через «Вычислить выражение». В консоли запросов достаточно нажать «Выполнить» и изучить таблицу результата.

Отдельно проверьте параметры виртуальных таблиц: если выбирали остатки или обороты, убедитесь, что период и условия переданы правильно, иначе выборка окажется пустой или избыточной.

Контрольные точки

Как проверить результат

Текст запроса в модуле
Норма

Модуль проходит синтаксическую проверку без ошибок

Тревожный признак

Платформа подчёркивает текст или выдаёт ошибку при проверке

Результат выполнения
Норма

Таблица содержит ожидаемые строки и итоги

Тревожный признак

Пустой результат при заведомо существующих данных или явно лишние строки

Производительность
Норма

Запрос выполняется быстро на тестовых данных

Тревожный признак

Запрос «висит» на больших объёмах — нужны отборы и индексируемые поля в условиях

FAQ

Где находится кнопка «Конструктор запроса» в 1С 8.3?

В конфигураторе — в контекстном меню редактора модуля (правая кнопка мыши) и на панели инструментов редактора. Кнопка активна только когда курсор находится внутри строкового литерала с текстом запроса или в позиции для его создания.

Можно ли запустить конструктор запросов без конфигуратора?

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

Почему конструктор не открывает мой запрос и ругается на ошибку?

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

Как вызвать конструктор для уже написанного запроса?

Установите курсор в любое место внутри текста запроса (между кавычками) и выберите «Конструктор запроса» в контекстном меню. Конструктор загрузит существующий запрос для редактирования.

Конструктор запросов и конструктор запроса с обработкой результата — в чём разница?

Обычный конструктор формирует только текст запроса. Конструктор с обработкой результата дополнительно создаёт программный код: объявление объекта «Запрос», установку параметров, выполнение и обход выборки. Он вызывается из того же контекстного меню модуля.

Итог

Что важно запомнить

Конструктор запросов вызывается из модуля конфигуратора через контекстное меню при курсоре внутри текста запроса. В режиме предприятия используйте консоль запросов в толстом клиенте. Проверяйте результат на тестовых данных и не запускайте тяжёлые запросы без отборов на рабочей базе.