Консоль запросов — один из самых востребованных инструментов разработчика 1С. Она позволяет составлять‚ отлаживать и анализировать запросы к базе данных без необходимости писать программный код в конфигураторе. В этой статье мы подробно разберём‚ как создать собственную консоль запросов‚ какие готовые решения существуют и как эффективно работать с этим инструментом.
Что такое консоль запросов и зачем она нужна
Консоль запросов — это внешняя обработка (файл с расширением .epf)‚ которая может быть запущена в любом прикладном решении в режиме 1С:Предприятие. С её помощью разработчик или специалист по внедрению может:
- составить текст запроса на встроенном языке запросов 1С;
- выполнить запрос и получить результат в виде таблицы;
- проанализировать полученные данные;
- отладить сложные запросы с временными таблицами и вложенными подзапросами;
- работать с пакетами запросов — набором именованных запросов‚ организованных в дерево.
Способы получения консоли запросов
Использование готовых обработок
Самый простой путь — скачать готовую обработку. Существует несколько популярных вариантов:
- Стандартная консоль запросов от 1С — входит в состав инструментов разработчика и дистрибутивов некоторых типовых конфигураций;
- Консоль запросов с анализом временных таблиц — отображает структуру взаимосвязей временных таблиц в виде графа‚ позволяет быстро перемещаться по тексту запроса и получать результат выполнения подзапросов;
- Консоль из состава «Инструменты разработчика» (ИР) — мощный арсенал средств анализа‚ делающий отладку значительно проще;
- Обработка console.epf — выкладывается в релизах open-source проектов‚ редактор используется на сайте Paste1C.
Для запуска достаточно открыть файл обработки через меню Файл → Открыть в режиме 1С:Предприятие.
Добавление консоли в конфигурацию
В 1С 8.3 существует три актуальных способа добавления консоли запросов:
- Ручное создание через конфигуратор — добавление внешней обработки в состав конфигурации;
- Подключение через «Дополнительные отчеты и обработки», если в конфигурации есть подсистема БСП;
- Запуск как внешней обработки — без изменения конфигурации.
Как написать собственную консоль запросов
Если вы хотите создать свою консоль‚ потребуется базовое понимание встроенного языка 1С. Разберём ключевые шаги.
Шаг 1. Создание внешней обработки
В конфигураторе выберите Файл → Новый → Внешняя обработка. Создайте основную форму обработки и разместите на ней:
- поле текстового документа для ввода текста запроса;
- табличное поле для вывода результата;
- таблицу значений для параметров запроса;
- кнопки «Выполнить»‚ «Очистить»‚ «Сохранить/Загрузить запрос».
Шаг 2. Код выполнения запроса
Основная логика выполнения выглядит так:
Пример кода:
Процедура ВыполнитьЗапрос(Команда)
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
// Установка параметров
Для Каждого СтрокаПараметра Из ТаблицаПараметров Цикл
Запрос.УстановитьПараметр(СтрокаПараметра.Имя‚ СтрокаПараметра.Значение);
КонецЦикла;
Результат = Запрос.Выполнить.Выгрузить;
КонецПроцедуры
Шаг 3. Доработка функционала
Для полноценной консоли стоит добавить:
- сохранение и загрузку текстов запросов в файлы;
- поддержку пакетов запросов (дерево именованных запросов);
- конструктор запроса (вызов стандартного конструктора 1С);
- вывод временных таблиц и результатов подзапросов;
- подсветку синтаксиса.
Основы языка запросов для работы в консоли
Для эффективной работы с консолью нужно знать базовый синтаксис языка запросов 1С:
- ВЫБРАТЬ — указание выбираемых полей;
- ИЗ — источник данных (таблица‚ регистр‚ справочник);
- ГДЕ — условия отбора;
- УПОРЯДОЧИТЬ ПО — сортировка результата;
- СГРУППИРОВАТЬ ПО — группировка с агрегатными функциями (СУММА‚ КОЛИЧЕСТВО‚ МАКСИМУМ);
- ПОМЕСТИТЬ, создание временной таблицы;
- параметры, обозначаются символом & (например‚ &Период).
Пример простого запроса
ВЫБРАТЬ
Номенклатура.Ссылка КАК Товар‚
СУММА(Продажи.Количество) КАК Количество
ИЗ
РегистрНакопления.Продажи КАК Продажи
ГДЕ
Продажи.Период МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
Номенклатура.Ссылка
Советы по работе с консолью запросов
- Начинайте с простого, сначала проверьте выборку без условий‚ затем добавляйте отборы и группировки.
- Используйте временные таблицы — разбивайте сложные запросы на этапы‚ это упрощает отладку.
- Проверяйте промежуточные результаты, продвинутые консоли позволяют выполнять подзапросы отдельно.
- Сохраняйте удачные запросы — формируйте собственную библиотеку типовых решений.
- Следите за производительностью — избегайте соединений с виртуальными таблицами без отборов.
Консоль запросов — незаменимый инструмент для разработчиков уровня middle и всех‚ кто хочет глубже разбираться в 1С-разработке. Вы можете воспользоваться готовыми решениями (стандартной консолью‚ ИР‚ console.epf) или написать собственную обработку‚ полностью соответствующую вашим задачам. Главное, регулярная практика: чем больше запросов вы напишете и отладите‚ тем увереннее будете чувствовать себя при работе с данными в 1С.
Примечание: при использовании сторонних обработок скачивайте их только из проверенных источников — официальных порталов 1С‚ репозиториев известных проектов и профильных сообществ разработчиков.