Разработка и Конфигурация · 9 мин
Как открыть запрос в 1С: все рабочие способы
Как открыть запрос в 1С: консоль запросов в режиме Предприятия, конструктор запроса в конфигураторе, открытие файла запроса из отчёта. Пошаговые инструкции и ошибки.
Запрос в 1С — это текст на встроенном языке запросов, который выбирает данные из таблиц информационной базы. Открыть его можно в трёх разных ситуациях: когда нужно выполнить произвольный запрос в режиме «1С:Предприятие», когда нужно отредактировать запрос в коде модуля через конфигуратор и когда запрос сохранён в отдельном файле с расширением .q1c или вложен в отчёт. У каждого сценария свой инструмент и свой порядок действий.
Главное различие — между режимом «Предприятие», где запросы открывают через внешнюю обработку «Консоль запросов», и конфигуратором, где используется встроенный конструктор запроса. Путаница между этими режимами — самая частая причина, по которой пользователь «не может найти, где открыть запрос».
Ниже разобраны все рабочие способы: от простого выполнения запроса в пользовательском режиме до открытия запроса из макета схемы компоновки данных. Отдельно описаны проверка результата, типичные ошибки и ограничения по правам доступа.
Как открыть запрос в режиме «1С:Предприятие» через консоль запросов
В пользовательском режиме штатного инструмента для выполнения произвольных запросов нет — для этого используется внешняя обработка «Консоль запросов». Такая обработка входит в состав типовых инструментов разработчика, поставляется на диске ИТС или встроена в некоторые конфигурации как подсистема. Файл обработки имеет расширение .epf.
Чтобы открыть консоль, запустите «1С:Предприятие» с нужной базой, затем в главном меню выберите «Файл → Открыть» и укажите файл обработки консоли запросов. Если в конфигурации есть встроенный инструмент, он обычно находится в разделе «Администрирование» или «Инструменты разработчика». После открытия появится окно с полем текста запроса, списком параметров и кнопкой «Выполнить».
В поле текста вставьте или наберите запрос, при необходимости заполните параметры в таблице параметров (они подхватываются из текста автоматически в большинстве консолей) и нажмите «Выполнить». Результат отобразится в виде таблицы ниже — это и есть признак того, что запрос открыт и выполнен корректно.
- 1Запустите «1С:Предприятие» с нужной информационной базой
- 2Откройте меню «Файл → Открыть» и выберите файл консоли запросов (.epf)
- 3Вставьте текст запроса в поле или откройте сохранённый файл запроса
- 4Заполните параметры запроса, если они есть
- 5Нажмите «Выполнить» и проверьте таблицу результата
Как открыть запрос в конфигураторе через конструктор
Если запрос находится в программном коде — в модуле объекта, общем модуле или модуле формы — его удобно открывать штатным конструктором запроса. Для этого запустите конфигуратор, откройте нужный модуль и найдите в коде строку с текстом запроса: она обычно присваивается свойству Запрос.Текст и заключена в кавычки с символом вертикальной черты в начале каждой строки.
Установите курсор внутрь текста запроса, вызовите контекстное меню правой кнопкой мыши и выберите «Конструктор запроса». Конфигуратор распарсит текст и откроет графический конструктор: слева — список таблиц базы данных, справа — выбранные поля, вкладки для связей, условий, итогов и построителя. Если текст корректен, конструктор откроется без ошибок; если в тексте синтаксическая ошибка, платформа покажет сообщение с указанием строки.
После редактирования нажмите «ОК» — конструктор перезапишет текст запроса в модуле с учётом изменений. Если конструктор недоступен (пункт меню неактивен), проверьте, что курсор стоит именно внутри строкового литерала запроса, а не в обычном коде.
Как открыть сохранённый файл запроса
Запросы, подготовленные заранее, часто сохраняют в файлы. Распространены два формата: файлы консоли запросов (обычно с расширением .q1c или .sel, в зависимости от версии консоли) и обычные текстовые файлы .txt с текстом запроса. Файл .q1c содержит не только текст, но и параметры, поэтому открывать его нужно той же консолью запросов, в которой он создавался.
Порядок такой: откройте консоль запросов в режиме «Предприятие», в окне консоли нажмите кнопку открытия файла (значок папки) или пункт меню «Файл → Открыть», укажите файл запроса. Текст и параметры загрузятся в консоль, после чего запрос можно сразу выполнить. Если консоль сообщает о несовместимом формате, значит файл создан другой версией обработки — откройте его в обычном текстовом редакторе и скопируйте текст вручную.
Текстовые файлы с запросами открываются ещё проще: через «Блокнот» или любой редактор, либо прямо в конфигураторе через «Файл → Открыть». Из редактора текст копируется в консоль или в конструктор запроса.
Как открыть запрос, встроенный в отчёт или СКД
В отчётах на системе компоновки данных (СКД) запрос хранится не в модуле, а в схеме компоновки. Чтобы добраться до него, откройте конфигуратор, найдите отчёт в дереве конфигурации, откройте его и перейдите по кнопке «Открыть схему компоновки данных». На вкладке «Наборы данных» выберите набор типа «Запрос» — внизу отобразится текст запроса, а рядом будет кнопка вызова конструктора.
Если запрос нужно выполнить и отладить «вживую», скопируйте текст из схемы в консоль запросов. Учтите: в СКД часто используются параметры и выражения на языке компоновки, поэтому часть конструкций придётся заменить конкретными значениями параметров перед выполнением.
Запросы также встречаются в макетах печатных форм (в модуле менеджера объекта) и в динамических списках форм. В динамическом списке запрос открывается через свойства списка в конфигураторе: свойство «Произвольный запрос» → поле «Запрос» → кнопка вызова конструктора.
Как выбрать способ открытия
Проверка результата и типичные ошибки
После открытия и выполнения запроса убедитесь, что результат соответствует ожиданиям. Пустая таблица — не всегда ошибка: возможно, условия отбора слишком строгие или параметр передан не того типа. Проверьте параметры по одному, временно убрав часть условий, и сравните количество строк с ожидаемым по данным в базе.
Частая ошибка — сообщение «Поле не найдено» или «Таблица не найдена». Это значит, что в тексте указано имя поля или таблицы, которого нет в метаданных текущей конфигурации: например, запрос писался под другую конфигурацию или другую версию. Откройте конструктор и сверьте имена с реальным списком таблиц слева.
Ещё одна типичная ситуация — запрос выполняется очень долго. Это признак выборки по большой таблице без индексированных условий или соединения без условий связи. В таком случае прервите выполнение, добавьте отбор по периоду или конкретному объекту и повторите.
Ограничения по правам и безопасная работа
Открытие внешней обработки консоли запросов требует права на запуск внешних обработок, а сам запрос выполняется с правами текущего пользователя: если у пользователя нет доступа к регистру или документу, запрос вернёт пустой результат или ошибку доступа. В файловой базе при этом администратор видит всё, в клиент-серверной — действуют и ограничения на уровне СУБД.
Запрос на выборку данных сам по себе не изменяет базу — это безопасная операция. Опасность представляют только обработки, которые по результатам запроса выполняют запись или удаление объектов. Никогда не запускайте непроверенные обработки на рабочей базе без резервной копии, особенно если в их коде есть методы Записать() или Удалить().
FAQ: частые вопросы об открытии запросов в 1С
Где взять консоль запросов, если её нет в конфигурации?
Консоль запросов входит в состав инструментов разработчика на диске ИТС, а свободные варианты доступны в поставке отдельных конфигураций и на официальных ресурсах для разработчиков. Подойдёт любая версия, совместимая с вашей платформой: при открытии .epf-файла платформа сама сообщит о несовместимости, если она есть.
Можно ли открыть запрос без конфигуратора?
Да, в режиме «1С:Предприятие» через внешнюю консоль запросов. Конфигуратор нужен только для работы с запросами, встроенными в модули, макеты и схемы компоновки данных.
Почему конструктор запроса не открывается в модуле?
Чаще всего курсор стоит вне строкового литерала запроса или текст запроса содержит синтаксическую ошибку. Установите курсор точно между кавычками текста запроса. Если запрос собирается склейкой строк в коде, конструктор его не распознает — сначала сформируйте полный текст.
Чем открыть файл запроса, созданный в другой консоли?
Форматы .q1c разных консолей несовместимы между собой. Откройте файл в обычном текстовом редакторе: текст запроса там читается, его можно скопировать в вашу консоль. Параметры придётся заполнить заново вручную.
Опасно ли выполнять запрос на рабочей базе?
Запрос с оператором ВЫБРАТЬ только читает данные и ничего не изменяет. Риск возникает при выполнении очень тяжёлых запросов без отборов — они могут надолго нагрузить сервер. Начинайте с ограничения выборки по периоду или конкретному объекту.
Как посмотреть запрос, который формирует стандартный отчёт?
Откройте отчёт в конфигураторе и перейдите в схему компоновки данных: текст запроса находится на вкладке «Наборы данных». Для отладки скопируйте его в консоль запросов, подставив конкретные значения параметров вместо параметров компоновки.
Что важно запомнить
В режиме «Предприятие» запросы открывают через консоль запросов, в конфигураторе — через конструктор из текста модуля или схемы компоновки. Файлы .q1c открываются консолью той же версии. Запросы на выборку безопасны, но любые обработки, изменяющие данные, проверяйте только на копии базы.