Консоль запросов 1С 8.3: где взять файл, как запустить и что делать с результатом
Содержание
Консоль запросов в 1С 8.3 открывают как внешнюю обработку
: в режиме 1С:Предприятие нажмите Ctrl+O (или главное меню ≡ → Файл → Открыть), выберите файл консоли с расширением .epf и подтвердите открытие. Встроенной кнопки «Консоль запросов» в платформе нет, поэтому сначала нужен сам файл обработки и право открывать внешние обработки.
Чаще всего консоль «не открывается» по трём причинам: у пользователя нет нужного права, файл собран под обычные формы, а база запущена в тонком клиенте, или обработка сделана в более новой платформе. Все три случая разобраны ниже, вместе с запуском из Конфигуратора и работой с параметрами.
Что подготовить перед запуском консоли запросов
Консоль запросов — это обычная внешняя обработка. Она не входит в типовые конфигурации вроде Бухгалтерии 3.0 или ЗУП 3.1 и в саму платформу. Перед запуском проверьте четыре вещи.
📁 Файл обработки. Официальную консоль фирма 1С выкладывает на портале ИТС среди универсальных обработок для разработчиков. Есть две редакции:
| Редакция | Для какого клиента | Где работает |
|---|---|---|
| На управляемых формах | Тонкий, толстый, веб-клиент | Любая современная конфигурация с интерфейсом «Такси» |
| На обычных формах | Только толстый клиент | Старые конфигурации и базы, запущенные в режиме обычного приложения |
Для БП 3.0, ЗУП 3.1, УТ 11 и других актуальных решений берите редакцию на управляемых формах. Кроме официальной, у разработчиков популярны сторонние наборы инструментов с расширенной консолью. Скачивайте их только с сайта автора: внешняя обработка выполняет произвольный код в вашей базе.
🔑 Права пользователя. Нужно право на интерактивное открытие внешних обработок. У профиля «Администратор» оно есть. У бухгалтера с типовым профилем его обычно нет.
🖥️ Версия платформы. Номер платформы на рабочем месте должен быть не ниже того, в котором сохранена обработка. Посмотреть номер можно в главном меню: ≡ → Справка → О программе.
💾 Копия базы для экспериментов. Запросы на чтение данные не меняют. Но многие консоли умеют выполнять и произвольный код. Если собираетесь пробовать что-то кроме ВЫБРАТЬ, работайте на копии.
Держите файл консоли в постоянной папке, например C:\1C\Tools\. Тогда он появится в списке недавних файлов меню ≡ → Файл, и искать его каждый раз не придётся.
Как открыть консоль запросов: три способа запуска
Способ 1. Через меню «Файл» в режиме 1С:Предприятие
Это основной путь, он работает в любой конфигурации.
- Запустите базу в режиме 1С:Предприятие под пользователем с правами администратора.
- Нажмите
Ctrl+Oили откройте главное меню≡ → Файл → Открыть. - Укажите файл консоли
.epfи нажмите «Открыть». - Если платформа покажет предупреждение о безопасности, прочитайте его и подтвердите открытие, если доверяете файлу.
- Консоль откроется в отдельной вкладке или окне.
Предупреждение появляется, когда у пользователя включена защита от опасных действий. Это нормальное поведение платформы, а не ошибка.
Способ 2. Из Конфигуратора
Разработчику удобно открывать консоль, не закрывая Конфигуратор.
- В Конфигураторе запустите пользовательский режим:
Отладка → Начать отладку(F5) или менюСервис → 1С:Предприятие. - В открывшемся окне 1С:Предприятие нажмите
Ctrl+Oи выберите файл консоли.
Запуск через отладку даёт бонус: если в коде конфигурации стоит точка останова, можно дойти до неё, скопировать текст запроса и разобрать его в консоли отдельно (подробнее в разделе про отладку).
Сам Конфигуратор запросы к данным не выполняет. Файл .epf, открытый в Конфигураторе через Файл → Открыть, откроется на редактирование кода и форм, а не для работы. Выполнять запросы можно только в режиме 1С:Предприятие.
Способ 3. Ярлык с автозапуском консоли
Если консоль нужна каждый день, сделайте ярлык, который сразу открывает базу и обработку. Для этого у 1cv8.exe есть параметр командной строки /Execute:
"C:\Program Files\1cv8\<версия платформы>\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Администратор" /Execute"C:\1C\Tools\QueryConsole.epf"
Подставьте свой путь к платформе, к базе и к файлу консоли. Для серверной базы вместо /F указывают /S"сервер\имя_базы". Пароль в ярлыке не храните: платформа спросит его при входе.
Из чего состоит окно консоли
Официальная консоль на управляемых формах устроена так. Сторонние консоли отличаются набором кнопок, но логика у них та же.
- 🗂️ Список запросов. Слева или сверху хранится дерево запросов. Их можно копить, переименовывать и раскладывать по группам: например, «Проверки по НДС», «Остатки склада».
- ✏️ Текст запроса. Поле, куда пишут или вставляют запрос на языке запросов 1С.
- 🧩 Конструктор запроса. Кнопка открывает тот же конструктор, что и в Конфигураторе. Таблицы и поля выбирают мышкой, текст собирается сам.
- ⚙️ Параметры. Таблица параметров, которые встречаются в тексте после символа
&. - 📊 Результат. Таблица с данными после выполнения. Для пакетных запросов можно переключаться между результатами отдельных запросов пакета.
Главная кнопка на командной панели — выполнение запроса. Если её не видно на узком экране, ищите её в меню «Ещё» командной панели.
Как написать запрос в консоли и задать параметры
Язык запросов 1С похож на SQL, но с русскими ключевыми словами и обращением к объектам метаданных: Справочник.Контрагенты, Документ.РеализацияТоваровУслуг, РегистрНакопления.ТоварыНаСкладах.
Простой запрос без параметров
ВЫБРАТЬ ПЕРВЫЕ 100
Контрагенты.Ссылка КАК Контрагент,
Контрагенты.ИНН,
Контрагенты.КПП
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
НЕ Контрагенты.ПометкаУдаления
И Контрагенты.ЭтоГруппа = ЛОЖЬ
ПЕРВЫЕ 100 ограничивает выборку. На больших базах ставьте его всегда, пока отлаживаете запрос: таблица на сотни тысяч строк надолго займёт и сервер, и клиент.
Запрос с параметрами
ВЫБРАТЬ
Реализация.Ссылка,
Реализация.Дата,
Реализация.Контрагент,
Реализация.СуммаДокумента
ИЗ
Документ.РеализацияТоваровУслуг КАК Реализация
ГДЕ
Реализация.Проведен
И Реализация.Дата МЕЖДУ &НачалоПериода И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
Порядок работы с параметрами:
- Вставьте текст в поле запроса.
- Перейдите в таблицу параметров. В официальной консоли параметры из текста подтягиваются туда автоматически или по отдельной команде заполнения.
- Для каждого параметра выберите тип:
Дата,Число,Строкаили ссылку на справочник или документ. - Укажите значение. Для ссылки откроется обычная форма выбора, например список контрагентов.
- Выполните запрос.
Дата без времени означает начало суток. Если написать Дата МЕЖДУ &Начало И &Конец и передать 31 марта, документы, созданные 31 марта днём, не попадут в выборку. Функция КОНЕЦПЕРИОДА(&Конец, ДЕНЬ) сдвигает границу на 23:59:59.
Пакетные запросы и временные таблицы
Несколько запросов, разделённых точкой с запятой, образуют пакет. Промежуточные данные складывают во временные таблицы через ПОМЕСТИТЬ, а следующий запрос пакета читает их по имени. В консоли удобно смотреть результат каждого запроса пакета по отдельности: так видно, на каком шаге «потерялись» строки.
Как разобрать результат и найти ошибку в запросе
Если запрос не выполнился
Платформа показывает текст ошибки с координатами: номер строки и позицию в строке, например {(4, 5)}: Поле не найдено "Контрагенты.Инн1". Считайте строки от начала текста запроса.
| Сообщение | Что обычно не так |
|---|---|
Поле не найдено | Опечатка в имени реквизита или реквизит есть в другой таблице |
Таблица не найдена | Неверное имя объекта метаданных, например справочник называется иначе в вашей конфигурации |
Синтаксическая ошибка | Пропущена запятая между полями, лишняя запятая перед ИЗ, не закрыта скобка |
| Ошибка несоответствия типов | Параметр задан строкой, а сравнивается со ссылкой или датой |
Точное имя таблицы и реквизитов проще всего взять из конструктора запроса: там видно полное дерево метаданных вашей конфигурации.
Если запрос выполнился, но данные не те
- 🔍 Пустой результат. Проверьте параметры: не задан тип, пустое значение, дата без конца дня.
- ➕ Строки задвоились. Чаще всего виновато соединение с табличной частью или регистром, где на одну запись основной таблицы приходится несколько строк. Выполните запрос без группировки и посмотрите, откуда берутся дубли.
- 👤 У администратора одно, у бухгалтера другое. Запрос учитывает ограничения доступа на уровне записей. Пользователь с урезанными правами видит только «свои» организации или склады.
Приём разработчика: перенести запрос из кода в консоль
Когда отчёт или обработка конфигурации выдаёт странные цифры, запрос удобно вытащить прямо из кода:
- Запустите базу из Конфигуратора в режиме отладки (
F5). - Поставьте точку останова на строке
Запрос.Выполнить()в нужном модуле. - Когда выполнение остановится, откройте
Отладка → Вычислить выражение(Shift+F9). - Вычислите
Запрос.Тексти скопируйте текст. Значения параметров видны в свойствеЗапрос.Параметры. - Вставьте текст в консоль, заполните те же параметры и разбирайте запрос по частям.
Там же, в окне вычисления выражения, можно сразу посмотреть результат: выражение Запрос.Выполнить().Выгрузить() вернёт таблицу значений.
Как сохранить запросы и выгрузить результат в Excel
Сохранение набора запросов
Запросы, набранные в консоли, живут только до закрытия окна. Чтобы не потерять их, в консоли есть команда сохранения набора запросов в файл и обратная команда загрузки. Файл с запросами удобно хранить рядом с самой консолью и передавать коллегам.
Заведите отдельный файл под каждую базу или задачу. Один «общий» файл на сотню запросов быстро превращается в свалку.
Выгрузка результата
Таблицу результата можно вывести в Excel средствами самой платформы:
- Щёлкните правой кнопкой по таблице результата или откройте меню «Ещё» над ней.
- Выберите
Вывести список…, отметьте нужные колонки и выведите их в табличный документ. - В открывшемся табличном документе нажмите
≡ → Файл → Сохранить каки выберите формат.xlsx.
Для быстрой вставки нескольких строк в письмо или таблицу хватит обычного копирования: выделите строки и нажмите Ctrl+C.
Выгрузки из базы часто содержат персональные данные: ФИО, паспорта, зарплаты. Не отправляйте такие файлы по открытым каналам и удаляйте их после работы.
Почему консоль запросов не открывается и как это исправить
Ограничения, о которых стоит помнить
- 🌐 Веб-клиент. Внешнюю обработку можно открыть и в браузере, но файл при этом загружается на сервер. Под тяжёлые запросы удобнее тонкий клиент.
- ☁️ Облачные базы. В сервисах вроде 1С:Фреш открытие внешних обработок ограничено политикой сервиса. Консоль запросов там обычно недоступна.
- 🏢 Рабочая серверная база. Тяжёлый запрос в рабочее время замедлит работу остальных пользователей. Долгие выборки запускайте на копии или вечером.
- 🧩 Дополнительные обработки. Подключить стандартную консоль в справочник дополнительных отчётов и обработок не получится: у неё нет нужного программного интерфейса регистрации. Её открывают только через
Файл → Открыть.