Как написать консоль запросов в 1с

Хотите свою консоль запросов в 1С? Разбираем пошагово: СКД, обработки, хитрости и готовые решения. Пишем инструмент, который сэкономит часы работы!

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

Консоль запросов — один из самых востребованных инструментов разработчика 1С. Она позволяет составлять‚ отлаживать и анализировать запросы к базе данных без необходимости писать программный код в конфигураторе. В этой статье мы подробно разберём‚ как создать собственную консоль запросов‚ какие готовые решения существуют и как эффективно работать с этим инструментом.

Что такое консоль запросов и зачем она нужна

Консоль запросов — это внешняя обработка (файл с расширением .epf)‚ которая может быть запущена в любом прикладном решении в режиме 1С:Предприятие. С её помощью разработчик или специалист по внедрению может:

  • составить текст запроса на встроенном языке запросов 1С;
  • выполнить запрос и получить результат в виде таблицы;
  • проанализировать полученные данные;
  • отладить сложные запросы с временными таблицами и вложенными подзапросами;
  • работать с пакетами запросов — набором именованных запросов‚ организованных в дерево.

Способы получения консоли запросов

Использование готовых обработок

Самый простой путь — скачать готовую обработку. Существует несколько популярных вариантов:

  • Стандартная консоль запросов от 1С — входит в состав инструментов разработчика и дистрибутивов некоторых типовых конфигураций;
  • Консоль запросов с анализом временных таблиц — отображает структуру взаимосвязей временных таблиц в виде графа‚ позволяет быстро перемещаться по тексту запроса и получать результат выполнения подзапросов;
  • Консоль из состава «Инструменты разработчика» (ИР) — мощный арсенал средств анализа‚ делающий отладку значительно проще;
  • Обработка console.epf — выкладывается в релизах open-source проектов‚ редактор используется на сайте Paste1C.

Для запуска достаточно открыть файл обработки через меню Файл → Открыть в режиме 1С:Предприятие.

Добавление консоли в конфигурацию

В 1С 8.3 существует три актуальных способа добавления консоли запросов:

  1. Ручное создание через конфигуратор — добавление внешней обработки в состав конфигурации;
  2. Подключение через «Дополнительные отчеты и обработки», если в конфигурации есть подсистема БСП;
  3. Запуск как внешней обработки — без изменения конфигурации.

Как написать собственную консоль запросов

Если вы хотите создать свою консоль‚ потребуется базовое понимание встроенного языка 1С. Разберём ключевые шаги.

Шаг 1. Создание внешней обработки

В конфигураторе выберите Файл → Новый → Внешняя обработка. Создайте основную форму обработки и разместите на ней:

  • поле текстового документа для ввода текста запроса;
  • табличное поле для вывода результата;
  • таблицу значений для параметров запроса;
  • кнопки «Выполнить»‚ «Очистить»‚ «Сохранить/Загрузить запрос».

Шаг 2. Код выполнения запроса

Основная логика выполнения выглядит так:

Пример кода:

Процедура ВыполнитьЗапрос(Команда)
    Запрос = Новый Запрос;
    Запрос.Текст = ТекстЗапроса;
    // Установка параметров
    Для Каждого СтрокаПараметра Из ТаблицаПараметров Цикл
        Запрос.УстановитьПараметр(СтрокаПараметра.Имя‚ СтрокаПараметра.Значение);
    КонецЦикла;
    Результат = Запрос.Выполнить.Выгрузить;
КонецПроцедуры

Шаг 3. Доработка функционала

Для полноценной консоли стоит добавить:

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

Основы языка запросов для работы в консоли

Для эффективной работы с консолью нужно знать базовый синтаксис языка запросов 1С:

  • ВЫБРАТЬ — указание выбираемых полей;
  • ИЗ — источник данных (таблица‚ регистр‚ справочник);
  • ГДЕ — условия отбора;
  • УПОРЯДОЧИТЬ ПО — сортировка результата;
  • СГРУППИРОВАТЬ ПО — группировка с агрегатными функциями (СУММА‚ КОЛИЧЕСТВО‚ МАКСИМУМ);
  • ПОМЕСТИТЬ, создание временной таблицы;
  • параметры, обозначаются символом & (например‚ &Период).

Пример простого запроса

ВЫБРАТЬ
    Номенклатура.Ссылка КАК Товар‚
    СУММА(Продажи.Количество) КАК Количество
ИЗ
    РегистрНакопления.Продажи КАК Продажи
ГДЕ
    Продажи.Период МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
    Номенклатура.Ссылка

Советы по работе с консолью запросов

  1. Начинайте с простого, сначала проверьте выборку без условий‚ затем добавляйте отборы и группировки.
  2. Используйте временные таблицы — разбивайте сложные запросы на этапы‚ это упрощает отладку.
  3. Проверяйте промежуточные результаты, продвинутые консоли позволяют выполнять подзапросы отдельно.
  4. Сохраняйте удачные запросы — формируйте собственную библиотеку типовых решений.
  5. Следите за производительностью — избегайте соединений с виртуальными таблицами без отборов.

Консоль запросов — незаменимый инструмент для разработчиков уровня middle и всех‚ кто хочет глубже разбираться в 1С-разработке. Вы можете воспользоваться готовыми решениями (стандартной консолью‚ ИР‚ console.epf) или написать собственную обработку‚ полностью соответствующую вашим задачам. Главное, регулярная практика: чем больше запросов вы напишете и отладите‚ тем увереннее будете чувствовать себя при работе с данными в 1С.

Примечание: при использовании сторонних обработок скачивайте их только из проверенных источников — официальных порталов 1С‚ репозиториев известных проектов и профильных сообществ разработчиков.