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

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

Как зайти в конструктор запросов 1С

Как открыть конструктор запросов в 1С: через конфигуратор, консоль запросов, модуль объекта и обработку. Способы запуска, типичные ошибки и ответы на вопросы.

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

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

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

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

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

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

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

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

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

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

Вызов конструктора из схемы компоновки данных

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

Здесь конструктор работает с расширением языка запросов для компоновки данных: можно задавать характеристики, периодичность виртуальных таблиц и параметры, которые СКД будет подставлять автоматически. Это важное отличие от обычного вызова из модуля — часть настроек доступна только в контексте отчёта.

Конструктор запросов в режиме «Предприятие» через консоль запросов

В пользовательском режиме «1С:Предприятие» конструктор не встроен в типовое меню. Чтобы работать с запросами в живой базе, используют внешнюю обработку «Консоль запросов». Такие обработки распространяются в составе инструментов разработчика или входят в типовые конфигурации на БСП (например, через подсистему дополнительных отчётов и обработок, если она подключена администратором).

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

Условия доступа: права и ограничения

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

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

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

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

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

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

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

После закрытия конструктора убедитесь, что текст запроса вставлен в нужное место модуля и модуль компилируется без ошибок — для этого выполните синтаксическую проверку модуля через меню «Конфигурация — Проверка конфигурации» или соответствующую кнопку в редакторе модуля. Если запрос предназначен для отчёта на СКД, откройте настройки отчёта и проверьте, что поля набора данных соответствуют выбранным в запросе.

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

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

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

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

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

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

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

Список таблиц в конструкторе
Норма

Видны все нужные документы, справочники и регистры

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

Таблицы отсутствуют — нет прав или конфигурация не обновлена

Выполнение в консоли запросов
Норма

Запрос выполняется и возвращает данные

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

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

FAQ: частые вопросы о конструкторе запросов

Можно ли открыть конструктор запросов в режиме «1С:Предприятие» без внешних обработок?

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

Почему пункт «Конструктор запроса» неактивен в контекстном меню?

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

Чем отличается «Конструктор запроса» от «Конструктора запроса с обработкой результата»?

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

Можно ли отредактировать существующий запрос через конструктор?

Да. Установите курсор внутрь текста запроса в модуле и вызовите конструктор — он откроет запрос для визуального редактирования. Если в тексте есть синтаксическая ошибка, конструктор может не открыться: сначала исправьте её вручную.

Работает ли конструктор запросов в тонком клиенте?

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

Что делать, если в конструкторе не видно нужной таблицы?

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

Итог

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

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