Консоль запросов 1С 8.3: скачать бесплатно и как работать

Дата: 21.09.2026 08:41:46
Запросы
Консоль запросов
Отладка
Инструменты разработчика
Управляемые формы
Комментарий:
0
Платформа:
8.3
Конфигурация:
Любая
Формы:
Управляемые

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

Скачать консоль запросов 1С 8.3 для управляемых форм

Консоль запросов 1C-Only — бесплатная внешняя обработка для 1С:Предприятие 8.3 на управляемых формах. Работает в тонком, толстом и веб-клиенте, в любой конфигурации: БП 3.0, УТ 11, ERP, КА 2, УНФ, ЗУП. Нужна платформа 8.3.8 или новее, доступ к ИТС не нужен.

Скачать консоль запросов (EPF, 38 КБ) версия 1.3 от 02.10.2026

Консоль запросов 1C-Only: текст запроса с подсветкой синтаксиса, список запросов, таблица результата с сортировкой и итогами

  • Подсветка синтаксиса языка запросов и номера строк; Ctrl+/ комментирует выделенные строки.
  • Параметры с типами из запроса: для Валюты.Ссылка = &Ссылка поле значения сразу открывает выбор валюты, для даты — календарь, без окна «Выбор типа данных».
  • Списки значений для условий В (&Параметр) — с подбором нескольких значений из формы выбора.
  • Пакет и временные таблицы: видно содержимое каждой временной таблицы, между запросами пакета — переключатель.
  • Ошибка с номером строки: строка с ошибкой подсвечивается в тексте, курсор встаёт на неё.
  • Выполнение выделенного фрагмента по F5 или Ctrl+Enter.
  • Свои запросы и история запусков сохраняются между сеансами; запросы можно переименовывать и копировать.
  • Таблица результата: ширина колонок меняется мышью, сортировка по любой колонке (ссылки — по представлению), итоги по числовым колонкам в подвале; ссылка открывается двойным щелчком.
  • Выгрузка: кнопка «В отдельном окне» открывает оформленный отчёт по результату — оттуда его можно сохранить в Excel или PDF.
  • Текст для кода 1С и обратно: запрос с кавычками и «|» для модуля, а текст, скопированный из модуля, превращается в чистый запрос.

Как подключить: сохраните файл, в 1С откройте главное меню → «Файл» → «Открыть» (Ctrl+O) и выберите .epf. Нужно право на интерактивное открытие внешних обработок; при первом открытии типовая конфигурация может показать предупреждение безопасности — подтвердите открытие. Консоль только читает данные: язык запросов 1С не умеет изменять базу.

Когда нужна консоль

  • Отчёт показывает не то: запрос из модуля или схемы СКД выполняют по частям и ищут шаг, где теряются или задваиваются строки.
  • Разовый вопрос без разработки отчёта: сколько документов не проведено, где отрицательный остаток.
  • Проверка данных после обмена, загрузки или обновления конфигурации.
  • Поиск медленного места: время выполнения и план запроса.

Сам запрос данные не меняет: язык запросов 1С умеет только читать. Но тяжёлый запрос без отборов нагружает сервер, поэтому на рабочей базе начинайте с ВЫБРАТЬ ПЕРВЫЕ 100 и отбора по периоду.

Где взять консоль запросов 1С 8.3

ВариантФормы и клиентКогда подходит
Консоль запросов 1C-OnlyУправляемые формы: тонкий, толстый и веб-клиентБесплатно и без ИТС: подсветка синтаксиса, типы параметров, временные таблицы
Консоль с ИТСОтдельные версии для обычного и управляемого приложенияОфициальный инструмент без лишнего, нужен доступ к ИТС
Инструменты разработчика (ИР)Толстый клиентНужен максимум: план запроса, технологический журнал, разбор пакета
Обработка в конфигурации или расширенииКак у встроенной обработкиКонсоль нужна постоянно, в том числе аналитикам
Консоли от сообществаЧаще управляемые формыНужна конкретная функция: выгрузка в Excel, коллекция запросов

Консоль с ИТС

Фирма «1С» публикует консоль на its.1c.ru в методической поддержке для разработчиков и администраторов, раздел «Запросы и отчеты». Исторически там две версии: старая — для обычного приложения, и «Консоль запросов для управляемого приложения». Для БП 3.0, УТ 11, ERP, КА 2, УНФ и других конфигураций на управляемых формах нужна вторая — управляемая консоль запросов, которая работает в тонком клиенте. Для скачивания нужен доступ к ИТС. Там же лежит консоль системы компоновки данных: запрос для отчёта на СКД удобнее отлаживать в ней, вместе с параметрами и отборами схемы.

Инструменты разработчика

«Инструменты разработчика» — бесплатный набор обработок от сообщества. Их консоль умеет больше остальных: дерево пакета, выполнение отдельного подзапроса, просмотр временных таблиц, SQL-текст и план запроса через технологический журнал. Портативный вариант открывается как внешняя обработка. Ограничение — ИР рассчитаны на толстый клиент, в базе на тонком клиенте для них придётся запускать толстый под администратором.

Встроенная консоль: в конфигурации или расширении

Если консолью пользуются каждый день, её удобнее встроить: в конфигураторе в контекстном меню ветки «Обработки» есть команда вставки внешней обработки. В типовой конфигурации на поддержке лучше добавить обработку в расширение — обновления будут ставиться как обычно. Не забудьте роль с правом на обработку и подсистему, иначе команда не появится в интерфейсе.

Прежде чем что-то скачивать, загляните в «Все функции» → «Обработки»: консоль в базу мог добавить предыдущий программист. Если пункта «Все функции» нет, включите его в параметрах: главное меню → «Сервис» → «Параметры», флажок «Отображать команду "Все функции"».

Альтернативы для управляемых форм

В открытом доступе есть десятки консолей на управляемых формах: с подсветкой синтаксиса, выгрузкой в Excel, коллекцией сохранённых запросов. Качество разное, поэтому перед запуском на рабочей базе загляните в модуль: внешний файл выполняется с вашими правами, а у администратора они полные. Модуль консоли 1C-Only открыт: его можно посмотреть и доработать в конфигураторе.

Как открыть консоль как внешнюю обработку

  1. Сохраните файл консоли с расширением .epf на диск.
  2. Запустите 1С:Предприятие под пользователем с правами администратора или с правом на открытие внешних обработок.
  3. Откройте главное меню (кнопка с тремя полосками в левом верхнем углу) → «Файл» → «Открыть» или нажмите Ctrl+O и выберите файл.
  4. Если появилось предупреждение безопасности, это защита от опасных действий: подтвердите открытие, если файл из надёжного источника.

Вариант консоли должен совпадать с режимом запуска: обработка на обычных формах открывается только в толстом клиенте в режиме обычного приложения, консоль на управляемых формах — и в тонком, и в толстом.

Через справочник «Дополнительные отчеты и обработки» БСП консоль с ИТС не подключить: БСП требует в модуле объекта экспортную функцию СведенияОВнешнейОбработке(), а у консоли её нет. Открывайте через «Файл» → «Открыть».

Работа с консолью запросов: основные приёмы

Текст и конструктор

Текст пишут вручную или через конструктор запроса — в большинстве консолей для него есть кнопка. Некоторые консоли выполняют только выделенный фрагмент. Если язык запросов пока непривычен, начните со статьи о синтаксисе запросов 1С с примерами.

Параметры

Параметры в тексте начинаются с амперсанда. Консоль находит их и показывает таблицу для ввода значений: дата, число, ссылка на справочник, список значений для условия В (&Список). Пример запроса для проверки дублей номеров реализаций за период (документ есть в БП 3.0 и УТ 11). Номера обычно нумеруются заново каждый год, поэтому группируем ещё и по году:

ВЫБРАТЬ
	ГОД(Реализация.Дата) КАК Год,
	Реализация.Номер КАК Номер,
	КОЛИЧЕСТВО(*) КАК Документов
ИЗ
	Документ.РеализацияТоваровУслуг КАК Реализация
ГДЕ
	Реализация.Дата МЕЖДУ &НачалоПериода И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
	И Реализация.Проведен
СГРУППИРОВАТЬ ПО
	ГОД(Реализация.Дата),
	Реализация.Номер
ИМЕЮЩИЕ
	КОЛИЧЕСТВО(*) > 1

Обратите внимание на КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ). Дата, введённая в консоли, обычно имеет время 00:00:00, и без этой функции документы последнего дня в выборку не попадут. Подробнее — в статье о датах в запросе 1С. Значения перечислений и предопределённые элементы удобнее писать прямо в тексте через функцию ЗНАЧЕНИЕ(), а не заводить под них параметры.

Пакет и временные таблицы

Пакетный запрос с ПОМЕСТИТЬ выполняется целиком. Хорошие консоли показывают результат каждого запроса пакета, а для временной таблицы — число записей. Если ваша выводит только последний результат, временно допишите в конец пакета, отделив точкой с запятой: ; ВЫБРАТЬ * ИЗ ВТ_Нужная. Так видно, на каком шаге теряются строки. Как передать в запрос таблицу значений и выгрузить результат обратно — в статье о таблице значений в запросе.

Перенос запроса из кода

Остановитесь в отладчике после установки параметров, откройте «Вычислить выражение» (Shift+F9) и вычислите Запрос.Текст — текст можно скопировать, параметры лежат в Запрос.Параметры. Временных таблиц, созданных раньше в менеджере временных таблиц, в консоли нет: добавьте в начало пакета запросы, которые их создают. В актуальных версиях 8.3 содержимое временных таблиц видно прямо в отладчике через свойство Таблицы менеджера временных таблиц.

План запроса и время выполнения

Время выполнения показывают почти все консоли. Замеряйте два-три раза: первый запуск обычно медленнее, потому что при повторном часть данных уже лежит в кэше СУБД.

План запроса показывает, как СУБД выполняет SQL-запрос, в который платформа превратила запрос 1С: какие индексы использованы, где идёт полное сканирование таблицы. Смотреть его имеет смысл в клиент-серверной базе на MS SQL или PostgreSQL. Способы получить план:

  • консоль ИР — умеет включать сбор плана через технологический журнал и показывать его рядом с результатом;
  • вручную через технологический журнал — на сервере 1С в каталог conf платформы кладут файл logcfg.xml с элементом plansql; план появится в событиях DBMSSQL или DBPOSTGRS в свойстве planSQLText;
  • средствами самой СУБД, если к ней есть доступ.

Минимальная настройка журнала для одной базы:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
	<log location="D:\TechLog\Plans" history="1">
		<event>
			<eq property="name" value="DBMSSQL"/>
			<eq property="p:processName" value="ИмяИнформационнойБазы"/>
		</event>
		<event>
			<eq property="name" value="DBPOSTGRS"/>
			<eq property="p:processName" value="ИмяИнформационнойБазы"/>
		</event>
		<property name="all"/>
	</log>
	<plansql/>
</config>

Журнал с планами растёт быстро: включайте его на время замера и удаляйте файл настройки сразу после работы.

Мини-консоль для управляемых форм своими руками

Бывает, что скачать ничего нельзя: закрытый контур или запрет на сторонние файлы. Тогда консоль запросов 1С 8.3 на управляемых формах собирается за несколько минут: в конфигураторе «Файл» → «Новый» → «Внешняя обработка», форма и реквизиты формы, как в комментарии в начале листинга. На форму выведите многострочное поле ТекстЗапроса, таблицу ПараметрыЗапроса, поле табличного документа Результат и две кнопки. Код модуля формы:

// Мини-консоль запросов: модуль формы внешней обработки.
// Управляемая форма, платформа 8.3, работает в тонком клиенте.
//
// Реквизиты формы:
//   ТекстЗапроса     - Строка неограниченной длины (поле многострочное);
//   ПараметрыЗапроса - ТаблицаЗначений с колонками:
//                      Имя      - Строка (150),
//                      Значение - составной тип: Число (15, 3), Строка (неограниченной длины),
//                                 Дата (состав «Дата и время»), Булево, ЛюбаяСсылка;
//   Результат        - ТабличныйДокумент.
// Команды формы: ВыполнитьЗапрос, ЗаполнитьПараметры.

&НаКлиенте
Процедура ВыполнитьЗапрос(Команда)

	Если ПустаяСтрока(ТекстЗапроса) Тогда
		ПоказатьПредупреждение(, "Введите текст запроса.");
		Возврат;
	КонецЕсли;

	ВыполнитьЗапросНаСервере();

КонецПроцедуры

&НаКлиенте
Процедура ЗаполнитьПараметры(Команда)

	ЗаполнитьПараметрыНаСервере();

КонецПроцедуры

&НаСервере
Процедура ЗаполнитьПараметрыНаСервере()

	Запрос = Новый Запрос(ТекстЗапроса);

	Попытка
		ОписанияПараметров = Запрос.НайтиПараметры();
	Исключение
		СообщитьОбОшибке(ИнформацияОбОшибке());
		Возврат;
	КонецПопытки;

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

	ПараметрыЗапроса.Очистить();

	Для Каждого ОписаниеПараметра Из ОписанияПараметров Цикл

		НоваяСтрока = ПараметрыЗапроса.Добавить();
		НоваяСтрока.Имя = ОписаниеПараметра.Имя;

		ПрежнееЗначение = ВведенныеЗначения.Получить(ВРег(ОписаниеПараметра.Имя));
		Если ПрежнееЗначение = Неопределено Тогда
			// Пустое значение подходящего типа: пустая ссылка, 0, пустая дата.
			НоваяСтрока.Значение = ОписаниеПараметра.ТипЗначения.ПривестиЗначение(Неопределено);
		Иначе
			НоваяСтрока.Значение = ПрежнееЗначение;
		КонецЕсли;

	КонецЦикла;

КонецПроцедуры

&НаСервере
Процедура ВыполнитьЗапросНаСервере()

	МаксимумСтрок = 1000;

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

	Начало = ТекущаяУниверсальнаяДатаВМиллисекундах();
	Попытка
		РезультатЗапроса = Запрос.Выполнить();
	Исключение
		СообщитьОбОшибке(ИнформацияОбОшибке());
		Возврат;
	КонецПопытки;
	Длительность = ТекущаяУниверсальнаяДатаВМиллисекундах() - Начало;

	Результат.Очистить();

	// Шапка: имена колонок результата.
	ИменаКолонок = Новый Массив;
	Для Каждого Колонка Из РезультатЗапроса.Колонки Цикл
		ИменаКолонок.Добавить(Колонка.Имя);
		НомерКолонки = ИменаКолонок.Количество();
		Результат.Область(1, НомерКолонки, 1, НомерКолонки).Текст = Колонка.Имя;
		Результат.Область("C" + Формат(НомерКолонки, "ЧГ=0")).ШиринаКолонки = 25;
	КонецЦикла;

	// Строки результата, но не больше МаксимумСтрок.
	Выборка = РезультатЗапроса.Выбрать();
	НомерСтроки = 1;
	Пока НомерСтроки <= МаксимумСтрок И Выборка.Следующий() Цикл
		НомерСтроки = НомерСтроки + 1;
		Для НомерКолонки = 1 По ИменаКолонок.Количество() Цикл
			Значение = Выборка[ИменаКолонок[НомерКолонки - 1]];
			Результат.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки).Текст = Строка(Значение);
		КонецЦикла;
	КонецЦикла;

	Заголовок = "Строк: " + Формат(Выборка.Количество(), "ЧН=0; ЧГ=0")
		+ ", время: " + Формат(Длительность, "ЧН=0; ЧГ=0") + " мс";

КонецПроцедуры

&НаСервере
Процедура СообщитьОбОшибке(Информация)

	Сообщение = Новый СообщениеПользователю;
	Сообщение.Текст = КраткоеПредставлениеОшибки(Информация);
	Сообщение.Сообщить();

КонецПроцедуры

Разбор ключевых строк

  • Запрос.НайтиПараметры() возвращает параметры из текста с типами, которые платформа вывела из контекста. По типу подставляется пустое значение, введённые ранее значения сохраняются.
  • Запрос выполняется в процедуре &НаСервере: на клиенте объекта Запрос нет.
  • Попытка вокруг Выполнить() превращает ошибку в тексте в сообщение с номером строки и колонки.
  • ТекущаяУниверсальнаяДатаВМиллисекундах() замеряет только выполнение, без вывода.
  • Вывод ограничен тысячей строк: Строка(Значение) для ссылки получает представление отдельным обращением к базе, на больших выборках это долго. Общее число строк видно в заголовке формы.

Ограничения мини-версии: список значений и таблицу значений в параметр через эту форму не передать, результат виден только у последнего запроса пакета. Для таких задач берите полноценную консоль.

Типичные ошибки

  • «Поле не найдено» с координатами вида {(5, 3)} — опечатка в имени поля или реквизит, которого нет в этой конфигурации. Первое число — строка текста запроса, второе — позиция в строке.
  • «Таблица не найдена» — запрос взят из другой конфигурации, где объект называется иначе, или временная таблица создаётся вне этого пакета.
  • Ошибка о незаданном значении параметра — параметр есть в тексте, но значение не установлено. Заполните таблицу параметров заново после правки текста.
  • «Нарушение прав доступа!» при открытии файла — у пользователя нет права «Интерактивное открытие внешних обработок». Выдайте роль или откройте консоль под администратором.
  • Форма консоли не открывается в тонком клиенте — скачан вариант для обычного приложения.
  • В консоли данные есть, а у пользователя в отчёте нет — в консоли вы работаете под администратором, а у пользователя действуют ограничения доступа на уровне записей, или в отчёте стоит отбор, которого нет в консоли.

Частые вопросы

Можно ли в консоли запросов изменить данные?

Нет, запрос только читает. Некоторые консоли, например в ИР, умеют выполнять произвольный код, но это уже не запрос — на рабочей базе с ним осторожнее.

Есть ли консоль запросов в самой платформе?

В режиме 1С:Предприятие штатной консоли нет, в конфигураторе запрос можно составить конструктором, но не выполнить. Поэтому консоль — это всегда обработка: внешняя или в составе конфигурации.

Почему в консоли запрос быстрый, а в программе медленный?

Частые причины: у пользователя работают ограничения доступа, которые усложняют SQL-запрос; в коде запрос выполняется в цикле; в консоли данные уже в кэше СУБД. Замерьте под тем же пользователем.

Можно ли дать консоль аналитику?

Можно, но лучше встроенную в расширение и с отдельной ролью. Запрос выполняется с правами пользователя; при ограничениях доступа на уровне записей пишите ВЫБРАТЬ РАЗРЕШЕННЫЕ, иначе запрос завершится ошибкой доступа.

Когда проще заказать

Если запрос нужен не разово, а регулярно — с отборами, выгрузкой в Excel или по расписанию, — его стоит оформить отчётом на СКД или обработкой: это делают в рамках услуги разработка отчётов и обработок 1С. Опишите задачу и разместите её на площадке — оценка бесплатная, ответ в течение рабочего дня. Если отчёт уже есть, но медленный запрос тормозит работу пользователей, загляните в раздел «1С тормозит».

По теме

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

Станьте частью сообщества!
Войдите или зарегистрируйтесь, и вы сможете участвовать в обсуждениях.


1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.