Консоль запросов
Разработка и выполнение запросов к базе данных.

Назначение
Инструмент для написания, отладки и выполнения запросов к базе данных 1С непосредственно из предприятия. Позволяет:
- Разрабатывать запросы любой сложности с подсветкой синтаксиса и автодополнением
- Выполнять одиночные и пакетные запросы с временными таблицами
- Управлять параметрами запросов через удобный интерфейс
- Просматривать, сортировать и экспортировать результаты
- Обрабатывать результат запроса кодом 1С прямо в консоли
- Генерировать готовый код для конфигуратора
- Перехватывать запросы из выполняемого кода
- Интегрироваться с технологическим журналом для получения плана запроса
Особенности
- Подсветка синтаксиса языка запросов 1С
- Автодополнение таблиц метаданных и их полей
- Пакеты запросов с деревом именованных запросов
- Редактор параметров с расширенными редакторами для сложных типов (ссылки, таблицы значений, массивы, структуры)
- Обработка результата запроса кодом в 5 режимах выполнения
- Макроколонки: уникальный идентификатор, дата создания ссылки
- Вставка предопределенных значений
- Перехват запросов из выполняемого кода
- Интеграция с технологическим журналом — получение плана запроса
- Генерация готового кода 1С из текущего запроса
- Просмотр значений строки результата в отдельной таблице
- Экспорт результатов: табличный документ MXL, CSV, XML
- Автосохранение с настраиваемым интервалом
Быстрый старт
- Откройте меню Универсальные инструменты → Консоль запросов
- Введите текст запроса в поле редактора
- При необходимости укажите значения параметров в панели параметров
- Нажмите Выполнить
- Результат отобразится в таблице в нижней части формы
Пакеты запросов
Консоль поддерживает работу с пакетами запросов — набором именованных запросов, организованных в дерево:
- Создание, копирование, переименование, изменение порядка запросов в пакете
- Сохранение и загрузка пакетов в файл
- Автосохранение пакета перед выполнением
- Выполнение как текущего запроса, так и всего пакета
- Объединение нескольких пакетов
Параметры запросов
- Автоматическое определение параметров из текста запроса (кнопка «Заполнить параметры»)
- Добавление, редактирование и удаление параметров
- Поддержка всех основных типов данных 1С: строки, числа, даты, ссылки, таблицы значений, списки значений, массивы, структуры, соответствия
- Редактирование значений через специализированные редакторы (выбор ссылок через стандартные формы 1С)
- Использование результата запроса как значения параметра
Алгоритм перед выполнением
Перед запуском запроса можно выполнить произвольный код 1С — предварительный алгоритм. Это полезно для:
- Подготовки данных или параметров перед выполнением запроса
- Инициализации менеджера временных таблиц
- Подстановки представлений подсистемы «Зарплата и Кадры»
Код предварительного алгоритма выполняется на сервере до выполнения запроса.
Макроколонки
Макроколонки позволяют добавить в результат запроса служебные поля, вычисленные на основе ссылочных колонок. Реализованы через механизм параметров-маркеров с пост-обработкой результата.
Принцип работы
В текст запроса вместо выражения вставляется маркер вида &__УИД_ИмяКолонки или &__ДатаСоздания_ИмяКолонки. Перед выполнением эти маркеры устанавливаются в NULL — запрос выполняется с пустыми значениями. После получения результата консоль построчно обходит выборку и заполняет вычисленные значения.
Вставка маркера
Маркер можно вставить через контекстное меню редактора — Вставить макроколонку (доступно в режиме подсветки языка запросов). Откроется диалог выбора типа и имени колонки-источника.
Типы макроколонок
-
УИД — маркер
&__УИД_ИмяКолонки. После выполнения для каждой строки вызываетсяКолонкаИсточника.УникальныйИдентификатор(). Результат имеет типУникальныйИдентификатор. -
ДатаСоздания — маркер
&__ДатаСоздания_ИмяКолонки. После выполнения для каждой строки из GUID ссылки декодируется дата её создания. Результат имеет типДата.
Управление
Включение и отключение обработки макроколонок выполняется опцией Обрабатывать макроколонки на форме консоли. Если опция выключена, маркеры обрабатываются как обычные параметры запроса.
Обработка результата запросом
После выполнения запроса можно обработать его результат кодом 1С. Доступно 5 режимов выполнения:
- Простое выполнение — полный код на сервере, ручной обход результата
- Построчная без прогресса — код вызывается для каждой строки результата, без индикатора
- Построчная с прогрессом — код для каждой строки с индикатором выполнения и расчётом времени
- Фоновое простое (БСП 2.3+) — полный код в фоновом задании
- Фоновое построчное (БСП 2.3+) — обработка строк в фоновом задании с прогрессом
Доступен режим исполнения через обработку с написанием методов в коде алгоритма
Генерация кода
Консоль может сгенерировать готовый код 1С из текущего запроса:
- Полный код с созданием объекта
Запрос, текстом запроса, параметрами и обработкой результата - Код готов к вставке в модуль конфигурации
- Преобразование текста запроса из строки встроенного языка — удаление кавычек и переносов строк
Интеграция с технологическим журналом
- Включение логирования на уровне запросов для текущего сеанса
- Автоматическая настройка технологического журнала (добавление/удаление записей в
logcfg.xml) - Извлечение плана запроса из логов технологического журнала
- Визуализация плана запроса в отдельной форме
Программный интерфейс
Открытие консоли из кода
УИ_ОбщегоНазначенияКлиент.ОткрытьКонсольЗапросов();
Отладка запроса через УИ_._От
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка, Наименование ИЗ Справочник.Номенклатура ГДЕ ЭтоГруппа = Ложь";
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
// Открыть консоль запросов с заполненным текстом и менеджером временных таблиц
УИ_._От(Запрос);
// С указанием имени для сохранения
УИ_._От(Запрос, "Мой запрос");
// Отладка менеджера временных таблиц
УИ_._От(Запрос.МенеджерВременныхТаблиц);
// Сохранение данных отладки в файлы
УИ_._ОтФ(Запрос, "Запрос для анализа");
Формат файлов
Пакеты запросов сохраняются в файлы с расширением .q9 (формат JSON), содержащие:
- Список запросов с текстом
- Имена и порядок запросов в дереве
- Значения параметров
Связанные разделы
- Отладка из кода — подробная документация по
УИ_._От - Консоль кода — обработка результатов запроса кодом
- Консоль отчётов — запросы как основа для отчётов СКД
- Редактор СКД — подготовка схемы компоновки на основе запросов
- Консоль сравнения данных — сравнение результатов из разных источников
- Пример отладки запроса — пошаговый сценарий отладки
- Работа с представлениями ЗУП — формирование и выполнение запросов с представлениями подсистемы «Зарплата и кадры»