Консоль запросов для 1C:EDT: выполнение запросов прямо в отладчике
Нативный плагин для Eclipse/1C:EDT, который добавляет полноценную консоль запросов с возможностью выполнения в контексте отладки, автоопределением типов параметров из метаданных и интеграцией со встроенными инструментами EDT.
Что это за плагин
Это нативное расширение для 1C:EDT, которое добавляет представление "Консоль запросов" и позволяет выполнять запросы на языке запросов 1С непосредственно в активном контексте отладки. Плагин автоматически определяет типы параметров из метаданных проекта, предоставляет удобные диалоги для ввода значений и интегрируется с редактором запросов и конструктором запросов EDT.
При разработке на 1С часто возникает необходимость быстро проверить запрос, посмотреть данные или отладить логику выборки. Стандартные средства EDT не предоставляют встроенной консоли запросов, и разработчику приходится прерывать отладку и переключаться в режим предприятия, чтобы визуально проверить запрос. Этот плагин решает проблему, добавляя консоль запросов прямо в среду разработки, не прерывая процесс отладки.
Ключевое преимущество - выполнение запросов происходит в контексте активной сессии отладки. Это означает, что вы можете остановиться на точке останова, открыть консоль запросов и выполнить любой запрос с доступом к текущей базе данных и контексту выполнения.

Выполнение в отладке
Запросы выполняются в контексте активной приостановленной сессии отладки через механизм вычисления выражений EDT.
Автоопределение типов
Типы параметров автоматически определяются из метаданных проекта при анализе условий сравнения полей.
Интеграция с EDT
Прямой доступ к редактору запросов и конструктору запросов EDT через контекстное меню.
Главное преимущество
Консоль запросов работает непосредственно в среде разработки EDT, не требуя переключения в режим предприятия. Вы можете выполнять запросы, проверять данные и отлаживать логику выборки прямо во время отладки кода.
Основные возможности
Плагин предоставляет полный набор функций для работы с запросами:
- Редактор запросов с подсветкой синтаксиса языка запросов 1С;
- Выполнение запросов через кнопку "Выполнить" или горячие клавиши;
- Отображение результатов в табличном виде на вкладке "Результат";
- Подсчет количества строк в результате выполнения запроса;
- Отображение времени выполнения запроса;
- Вывод сообщений и ошибок на вкладке "Сообщения";
- Автоматическое определение параметров из текста запроса (токены вида
&ИмяПараметра); - Вкладка "Параметры" с автоматическим определением типов из метаданных;
- Поддержка различных типов параметров: Выражение, Строка, Число, Дата, Булево, Ссылка, Список значений, Неопределено;
- Диалоги выбора даты и ссылочных значений;
- Интеграция с редактором запросов EDT через контекстное меню "Редактор запроса...";
- Интеграция с конструктором запросов EDT через "Конструктор запроса...";
- Кнопки управления: "Выполнить", "Отменить", "Очистить".

Как это работает
Плагин использует механизм вычисления выражений EDT (Debug Evaluation) для выполнения запросов. Когда вы нажимаете "Выполнить", плагин формирует вызов специального общего модуля QueryConsoleEDT и передает туда текст запроса и параметры.
Для работы плагина необходимо добавить в конфигурацию общий модуль QueryConsoleEDT с функцией ВыполнитьЗапрос. Модуль должен быть серверным с возможностью серверного вызова. В релизном архиве исходный код модуля лежит в файле QueryConsoleEDT-release/query-console-helper.bsl, а в архиве проекта - в файле QueryConsoleEDT-project/docs/query-console-helper.bsl.
Работа с временными таблицами
Плагин поддерживает работу с временными таблицами в пакетных запросах. Вы можете создать временную таблицу в одном запросе и использовать её в последующих запросах того же пакета.
Пример создания и использования временной таблицы:
ВЫБРАТЬ
ВТ_Остатки.Номенклатура,
ВТ_Остатки.Склад,
ВТ_Остатки.КоличествоОстаток КАК Количество
ПОМЕСТИТЬ ВТ_Остатки
ИЗ
РегистрНакопления.ОстаткиТоваров.Остатки(&ДатаОстатков, ) КАК ВТ_Остатки
ГДЕ
ВТ_Остатки.КоличествоОстаток > 0
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_Остатки.Номенклатура,
ВТ_Остатки.Склад,
ВТ_Остатки.Количество,
Номенклатура.Наименование КАК НаименованиеНоменклатуры
ИЗ
ВТ_Остатки КАК ВТ_Остатки
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
ПО ВТ_Остатки.Номенклатура = Номенклатура.Ссылка
УПОРЯДОЧИТЬ ПО
НаименованиеНоменклатуры
После выполнения пакетного запроса плагин показывает:
- Результат последнего запроса в пакете на вкладке "Результат";
- Количество строк в результате;
- Время выполнения всего пакета запросов;
- Возможность просмотра содержимого временных таблиц.

Импорт запроса из переменной отладки
Очень полезная функция плагина - возможность импортировать текст запроса вместе с параметрами прямо из переменной в отладчике. Это особенно удобно, когда вы отлаживаете код с запросами и хотите проверить, что именно выполняется в данный момент.
Как это работает:
- Во время отладки остановитесь на точке останова, где есть переменная типа
Запрос - В консоли запросов нажмите кнопку "Импорт из переменной" или используйте контекстное меню
- Укажите имя переменной, например
ЗапросилиЗапросОстатков - Плагин автоматически извлечет текст запроса и все установленные параметры
- Текст запроса появится в редакторе, а параметры - на вкладке "Параметры" с их текущими значениями
Это позволяет:
- Быстро проверить, какой запрос выполняется в коде;
- Увидеть реальные значения параметров в момент выполнения;
- Модифицировать запрос или параметры и проверить альтернативные варианты;
- Отладить сложные запросы без необходимости копировать код вручную.
Импорт работает с любыми переменными типа Запрос, доступными в текущем контексте отладки - локальными переменными, параметрами процедур и функций, полями объектов.

Статистика выполнения
После выполнения каждого запроса плагин показывает подробную статистику:
Количество строк
Точное количество строк, возвращенных запросом. Для пакетных запросов показывается количество строк в результате последнего запроса.
Время выполнения
Время выполнения запроса в миллисекундах. Помогает оценить производительность и оптимизировать сложные запросы.
Для запросов с временными таблицами дополнительно показывается:
- Количество строк в каждой временной таблице;
- Общее время выполнения всего пакета запросов;
- Список созданных временных таблиц с возможностью просмотра их содержимого.
Эта информация отображается в строке состояния консоли и в сообщениях на вкладке "Сообщения".
Работа с параметрами
Одна из ключевых возможностей плагина - автоматическое определение типов параметров из метаданных проекта. Когда вы пишете запрос с условием вида Ссылка = &Номенклатура, плагин анализирует поле Ссылка и определяет, что параметр &Номенклатура должен иметь тип Справочник.Номенклатура.
Поддерживаются следующие типы параметров:
- Выражение - произвольное BSL-выражение, например
Справочники.Валюты.НайтиПоКоду("840") - Строка - текстовое значение, кавычки экранируются автоматически
- Число - числовое значение, поддерживаются форматы
10.5и10,5 - Дата - дата в формате
yyyy-MM-dd(например, 2026-05-09),dd.MM.yyyy(например,09.05.2026), с временемyyyy-MM-dd HH:mm:ssилиdd.MM.yyyy HH:mm:ss, либо полное выражениеДата(...) - Булево - логическое значение:
Истина,Ложь,true,false,1,0 - Ссылка - ссылочное значение с диалогом выбора
- Список значений - набор значений одного выбранного типа, включая ссылочные типы
- Неопределено - всегда передает значение
Неопределено
Для параметров типа "Дата" доступен диалог выбора даты через контекстное меню "Выбрать дату...". Для параметров типа "Ссылка" доступен диалог выбора ссылочного значения "Выбрать ссылку...", который может строить выражения вида Справочники.Валюты.НайтиПоКоду("840"). Для типа "Список значений" используется отдельный редактор списка, а helper-модуль преобразует переданную структуру в настоящий СписокЗначений.



Интеграция с инструментами EDT
Плагин не заменяет встроенные инструменты EDT, а дополняет их. Через контекстное меню редактора запросов в консоли доступны две команды:
Редактор запроса...
Открывает текущий текст запроса в нативном редакторе запросов EDT с полной подсветкой синтаксиса и проверкой.
Конструктор запроса...
Открывает текущий текст в визуальном конструкторе запросов EDT для графического редактирования.
Это позволяет использовать консоль для быстрого выполнения и проверки запросов, а при необходимости переключаться на полноценные инструменты EDT для детальной работы.

Установка и настройка
В папке distribution/ лежат два архива: один для установки готового плагина, второй для доработки проекта на другом компьютере.
queryconsole-edt-release-0.1.24.202605112149.zip
Готовый релиз для установки в EDT. Внутри архива есть папка QueryConsoleEDT-release/update-site - именно её нужно указать в EDT как локальный update site.
Размер: ~207 KB
queryconsole-edt-project-0.1.24.zip
Исходный код проекта для самостоятельной доработки. Внутри архива находится папка QueryConsoleEDT-project с Maven-проектом, исходниками, тестами и helper-модулем.
Размер: ~111 KB
Состав релизного архива:
QueryConsoleEDT-release/update-site- папка p2-репозитория для установки плагина в EDTQueryConsoleEDT-release/query-console-helper.bsl- общий модуль для добавления в конфигурацию 1СQueryConsoleEDT-release/README.txt- короткая инструкция по установке
Установка плагина:
- Откройте папку
distribution/ - Распакуйте архив
queryconsole-edt-release-0.1.24.202605112149.zipв любую папку - В EDT откройте
Help > Install New Software... - Нажмите
Add..., затемLocal...и укажите строго папкуQueryConsoleEDT-release/update-siteвнутри распакованного архива - Выберите плагин "1C EDT Query Console" и завершите установку
- Перезапустите EDT
- Добавьте в конфигурацию общий модуль
QueryConsoleEDTиз файлаQueryConsoleEDT-release/query-console-helper.bsl - Настройте модуль как серверный с возможностью серверного вызова
Важно: для установки указывайте не корень распакованного архива, а именно папку QueryConsoleEDT-release/update-site. В ней должны быть файлы artifacts.jar, content.jar, p2.index и папки features, plugins.
Если вы хотите дорабатывать плагин:
- Откройте папку
distribution/ - Распакуйте архив
queryconsole-edt-project-0.1.24.zip - Установите Maven и Java 17
- Откройте папку
QueryConsoleEDT-projectи соберите плагин командой:mvn verify -PSDK,find-bugs -Dtycho.localArtifacts=ignore - Update site будет создан в папке
QueryConsoleEDT-project/repositories/ru.queryconsole.edt.repository/target/repository - Установите собранный плагин в EDT как описано выше
После установки консоль запросов будет доступна через Window > Show View > Other... > 1C > Консоль запросов или через команду главного меню.
- 1C:EDT версии 2025.2.x или выше
- Платформа 1С:Предприятие 8.3.27.2025 или выше
- Java 17 для сборки плагина
- Maven для сборки из исходников
- Общий модуль
QueryConsoleEDTв конфигурации
Типичные сценарии использования
Сценарий 1: Быстрая проверка данных
Во время отладки вам нужно проверить, какие данные находятся в справочнике. Вместо того чтобы писать временный код или переключаться в режим предприятия, вы открываете консоль запросов и выполняете:
ВЫБРАТЬ
Номенклатура.Ссылка,
Номенклатура.Код,
Номенклатура.Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
НЕ Номенклатура.ПометкаУдаления
Результат отображается в таблице, и вы сразу видите актуальное состояние данных.
Сценарий 2: Отладка запроса с параметрами
Вы разрабатываете отчет и хотите проверить, как работает запрос с конкретными параметрами. Пишете запрос в консоли:
ВЫБРАТЬ
РеализацияТоваровУслуг.Дата КАК Дата,
РеализацияТоваровУслуг.Ссылка КАК Ссылка
ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
Плагин автоматически определяет типы параметров из метаданных проекта. После выполнения вы сразу видите результат и можете скорректировать запрос при необходимости.
На скриншоте видно, что запрос выполнился за 222 мс и вернул 3 строки.

Сценарий 3: Использование конструктора запросов
Вам нужно построить сложный запрос с несколькими соединениями. Вы начинаете в консоли, пишете базовую структуру, затем через контекстное меню выбираете "Конструктор запроса...".
Конструктор EDT открывается с вашим текстом, вы визуально добавляете соединения и условия, затем возвращаетесь в консоль и выполняете готовый запрос.
Это позволяет комбинировать быстроту консоли с мощью визуального конструктора.
Технические требования
Для работы плагина необходимо добавить в конфигурацию общий модуль QueryConsoleEDT с функцией ВыполнитьЗапрос. Модуль должен быть серверным с возможностью серверного вызова. В релизном архиве исходный код модуля лежит в файле QueryConsoleEDT-release/query-console-helper.bsl.
Этот модуль обеспечивает выполнение запросов и возврат результатов в консоль.
Ограничения текущей версии
Текущая версия плагина является MVP (Minimum Viable Product) и имеет следующие ограничения:
- Выполнение возможно только в контексте приостановленной отладки
- Нет сохранения истории запросов
- Нет экспорта результатов в XML или другие форматы
- Нет отображения плана запроса
- Требуется наличие общего модуля
QueryConsoleEDTв конфигурации
Эти функции могут быть добавлены в будущих версиях в зависимости от обратной связи пользователей.
Итог
Консоль запросов для 1C:EDT - это практичный инструмент для повседневной работы разработчика. Она не заменяет встроенные средства EDT, а дополняет их, предоставляя быстрый способ выполнения запросов прямо в контексте отладки.
Основные преимущества плагина:
- Не нужно переключаться в режим предприятия для проверки запросов
- Автоматическое определение типов параметров экономит время
- Интеграция с редактором и конструктором запросов EDT позволяет использовать лучшее из обоих миров
- Выполнение в контексте отладки дает доступ к актуальному состоянию базы
- Удобные диалоги для ввода дат и выбора ссылочных значений
Плагин поставляется с полным исходным кодом, который доступен для редактирования и доработки под ваши нужды.
Для кого этот плагин
Консоль запросов будет полезна разработчикам на 1С, которые используют EDT как основную среду разработки и хотят иметь быстрый доступ к выполнению запросов без переключения контекста.
Вступайте в нашу телеграмм-группу Инфостарт