Консоль запросов в 1С: откуда взять, как открыть и чем проверить запрос
Содержание
Консоли запросов в платформе 1С 8.3 нет: это отдельная внешняя обработка, файл с расширением .epf. Её открывают в режиме 1С:Предприятие через главное меню Файл → Открыть (или Ctrl+O), выбирают файл, и на экране появляется окно для текста запроса, параметров и результата. Если консоль уже встроена в вашу конфигурацию, её ищут в Все функции → Обработки.
Способов запустить консоль три. Внешний файл — быстрее всего, подходит для разовой проверки. Встраивание в конфигурацию или расширение — для тех, кто пользуется консолью каждый день. Запуск из Конфигуратора через отладку — когда нужно пошагово разобрать код. Какой выбрать, видно из таблицы.
| Способ | Когда подходит | Что нужно |
|---|---|---|
Открыть .epf через Файл → Открыть | Разовая проверка, любая база | Право открывать внешние обработки |
| Встроить в расширение | Нужна постоянно, типовую не трогаем | Доступ в Конфигуратор, права администратора |
| Встроить в основную конфигурацию | Своя, не типовая конфигурация | Снятая поддержка или своя разработка |
| Запуск из Конфигуратора с отладкой | Разбор ошибок в коде, проверка запросов из модулей | Конфигуратор и отладчик |
Где взять файл консоли запросов
Начинающие часто ищут консоль в каталоге установки платформы. Там её нет. В папке C:\Program Files\1cv8\<номер версии>\bin\ лежат исполняемые файлы платформы: 1cv8.exe, 1cv8c.exe, 1cv8s.exe и библиотеки. Обработок с запросами в комплекте платформы не бывает.
Откуда берут консоль на практике:
- 📦 Стандартные обработки фирмы 1С. Консоль запросов распространяется в наборе универсальных обработок для разработчиков, вместе с консолью отчётов и консолью заданий. Набор доступен пользователям с действующей подпиской на поддержку. Для 8.3 берите версию на управляемых формах.
- 🧰 «Инструменты разработчика» — бесплатный сторонний набор с расширенной консолью запросов: подсветка, план запроса, работа с временными таблицами. Его выбирают те, кому стандартной консоли мало.
- 🗂 Готовая встроенная консоль. В некоторых отраслевых и самописных конфигурациях разработчик уже добавил консоль как обработку. Проверьте
Все функции → Обработкидо того, как искать файл.
Если файл уже где-то лежит, но вы не помните где, поищите на диске по маске *.epf или по словам «Консоль» и «Query» в имени файла. Чаще всего консоль хранят в общей сетевой папке отдела.
Не скачивайте .epf с неизвестных сайтов. Внешняя обработка выполняет произвольный код с правами вашего пользователя. Она может изменить или удалить данные базы.
Как открыть консоль запросов в режиме 1С:Предприятие
Это основной способ. Подходит для БП 3.0, ЗУП 3.1, УТ 11 и любой другой конфигурации на платформе 8.3.
- Запустите базу в режиме 1С:Предприятие под пользователем с правами администратора.
- Откройте главное меню: кнопка с тремя полосками в левом верхнем углу окна.
- Выберите
Файл → Открытьили нажмитеCtrl+O. - Укажите файл консоли, например
QueryConsole.epf, и нажмите «Открыть». - Если появится предупреждение безопасности, прочитайте его и подтвердите открытие, только если доверяете файлу.
Окно консоли состоит из трёх зон: текст запроса сверху, параметры сбоку или на отдельной вкладке, результат снизу. После ввода текста нажмите кнопку «Выполнить».
Если не видно пункта «Все функции»
Встроенную консоль ищут через Все функции → Обработки. В интерфейсе «Такси» этот пункт по умолчанию скрыт. Включите его так:
- Главное меню →
Сервис и настройки → Параметры(в части релизов пункт называетсяНастройки → Параметры). - Отметьте флажок «Отображать команду “Все функции”».
- Нажмите «Применить». Пункт появится в главном меню.
Чтобы не открывать файл каждый раз, после открытия консоли добавьте её в избранное: звёздочка в заголовке окна. Работает для обработок, встроенных в конфигурацию.
Запуск из Конфигуратора и встраивание в конфигурацию
Из самого Конфигуратора консоль запросов не работает . Конфигуратор — режим разработки, запросы к данным в нём не выполняются. Зато из него консоль можно запустить в режиме отладки или навсегда встроить в базу.
Запуск через отладку
- Откройте базу в Конфигураторе.
- Через
Файл → Открытьоткройте файл консоли. Он откроется как объект для редактирования. - Нажмите
F5или выберитеОтладка → Начать отладку. Запустится 1С:Предприятие. - В запущенном сеансе откройте консоль через
Файл → Открыть.
Теперь точки останова в модуле консоли срабатывают. Это полезно, когда нужно посмотреть, как консоль подставляет параметры или обрабатывает результат.
Встраивание в расширение
Для типовых конфигураций на поддержке это лучший способ. Основную конфигурацию вы не трогаете, обновления ставятся как обычно.
- В Конфигураторе откройте
Конфигурация → Расширения конфигурации. - Добавьте новое расширение, задайте имя, например
Консоль. - Откройте конфигурацию расширения. На ветке «Обработки» вызовите контекстное меню и выберите команду вставки внешней обработки, отчёта.
- Укажите файл
.epf. Обработка появится в дереве расширения. - Чтобы консоль была в меню, включите её в подсистему расширения.
- Сохраните расширение. Если программа предложит обновить конфигурацию базы данных, согласитесь.
Расширения появились в платформе 8.3.6. На более ранних номерах этот путь недоступен.
Не встраивайте консоль в рабочую базу без согласования. Через неё любой пользователь с доступом прочитает данные, которые ему обычно закрыты.
Встраивание в основную конфигурацию
Для собственной конфигурации без поддержки поставщика можно вставить обработку прямо в дерево: та же команда на ветке «Обработки» основной конфигурации. Для типовых конфигураций на поддержке так не делают: это лишняя доработка, которая усложнит обновления.
Через «Дополнительные отчёты и обработки»
В конфигурациях на БСП есть механизм Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Обычный файл консоли туда не загрузится. Механизм требует в модуле обработки экспортную функцию СведенияОВнешнейОбработке() с описанием регистрации. Без неё программа откажется добавлять файл. Если навыка доработки нет, используйте открытие через Файл → Открыть.
С какой базой работает консоль и как настроить доступ
Консоль не подключается к базе отдельно. У неё нет полей для сервера, логина и пароля. Она выполняет запросы к той информационной базе, в которой открыта, и с правами того пользователя, под которым вы вошли.
Отсюда практические выводы:
- 🔐 Нужна другая база — откройте консоль в ней. Запрос к соседней базе из этого окна не выполнить.
- 👤 Результат зависит от прав. Если на пользователе настроено ограничение доступа на уровне записей, часть строк просто не попадёт в результат. Для полной картины работайте под администратором без ограничений.
- 🖥 Файловая и клиент-серверная база ведут себя одинаково. Разница только в скорости: тяжёлый запрос в файловой базе может подвесить работу остальных пользователей.
Права на открытие внешних обработок
Открыть внешний файл может только пользователь с правом интерактивного открытия внешних обработок. У роли «Полные права» оно есть. Рядовому бухгалтеру его обычно не дают, и это правильно.
Защита от опасных действий
С платформы 8.3.9 при открытии внешнего файла может появиться предупреждение безопасности. За это отвечает флажок «Защита от опасных действий» в карточке пользователя. Его меняют в Конфигураторе: Администрирование → Пользователи, карточка пользователя. В типовых конфигурациях на БСП — ещё и в карточке пользователя в режиме 1С:Предприятие. Флажок не снимайте ради удобства. Предупреждение раз в сеанс — разумная цена.
В облачных сервисах и в базах с безопасным режимом произвольные внешние обработки обычно запрещены. Консоль там не откроется, пока администратор сервиса не разрешит конкретный файл.
Как написать и выполнить запрос в консоли
Язык запросов 1С похож на SQL, но обращается к объектам конфигурации, а не к таблицам СУБД. Ключевые слова пишут по-русски или по-английски.
Простейший запрос — список элементов справочника:
ВЫБРАТЬ ПЕРВЫЕ 100
Номенклатура.Ссылка КАК Номенклатура,
Номенклатура.Артикул
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
НЕ Номенклатура.ПометкаУдаления
УПОРЯДОЧИТЬ ПО
Номенклатура.Наименование
ПЕРВЫЕ 100 ограничивает выборку. Ставьте его всегда, пока не уверены в размере результата: в большой базе запрос без ограничения вернёт сотни тысяч строк и надолго займёт сервер.
Параметры запроса
Значения, которые меняются, передают через параметры со знаком &. Пример — остатки по счёту в БП 3.0 на дату:
ВЫБРАТЬ
Остатки.Субконто1 КАК Контрагент,
Остатки.СуммаОстатокДт,
Остатки.СуммаОстатокКт
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(
&НаДату,
Счет = &Счет,
,
Организация = &Организация) КАК Остатки
После ввода текста перейдите к параметрам. В стандартной консоли есть команда, которая сама находит в тексте все &Параметры и добавляет их в список. Остаётся задать значения: дату, счёт из плана счетов, организацию из справочника.
Временные таблицы и пакеты
Сложные выборки удобно делить на шаги. Первый запрос помещает данные во временную таблицу командой ПОМЕСТИТЬ, следующий её читает. Запросы пакета разделяют точкой с запятой.
ВЫБРАТЬ
Док.Ссылка КАК Документ,
Док.СуммаДокумента
ПОМЕСТИТЬ ВТ_Реализации
ИЗ
Документ.РеализацияТоваровУслуг КАК Док
ГДЕ
Док.Проведен
И Док.Дата МЕЖДУ &Начало И &Конец
;
ВЫБРАТЬ
СУММА(ВТ.СуммаДокумента) КАК Итого
ИЗ
ВТ_Реализации КАК ВТ
Консоль покажет результат последнего запроса пакета. В расширенных консолях можно посмотреть и содержимое каждой временной таблицы.
Что делать с результатом
Результат выводится таблицей. Ссылочные поля, например контрагент или документ, отображаются представлением, и по ним можно открыть сам объект двойным щелчком. Так быстро проверяют, откуда взялась подозрительная строка.
Если в запросе есть раздел ИТОГИ ПО, консоль умеет показать результат деревом: сначала группировка, внутри детальные записи. Для сверки с оборотно-сальдовой ведомостью это удобнее плоской таблицы.
Таблицу результата можно выгрузить: через контекстное меню скопируйте строки или сохраните табличный документ в файл и откройте его в Excel. Для разовых сверок этого хватает.
Конструктор вместо ручного текста
Писать текст руками не обязательно. В консоли есть вызов конструктора запроса: выбираете таблицы, отмечаете поля, задаёте условия, и текст собирается сам. Тот же конструктор доступен в Конфигураторе из контекстного меню модуля. Удобная связка: собрать запрос конструктором, проверить в консоли, затем перенести в код.
Ошибки при запуске консоли и выполнении запросов
Отдельно про долгие запросы в рабочей базе. Если запрос завис и вы решили прервать сеанс через консоль кластера, предупредите коллег. Прерванный сеанс закроет ваше окно, а несохранённые данные в нём пропадут. Делайте это в момент, когда нагрузка на базу минимальна.