Консоль запросов в 1С: откуда взять, как открыть и чем проверить запрос

· 9 мин

Содержание

Консоли запросов в платформе 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. Запустите базу в режиме 1С:Предприятие под пользователем с правами администратора.
  2. Откройте главное меню: кнопка с тремя полосками в левом верхнем углу окна.
  3. Выберите Файл → Открыть или нажмите Ctrl+O.
  4. Укажите файл консоли, например QueryConsole.epf, и нажмите «Открыть».
  5. Если появится предупреждение безопасности, прочитайте его и подтвердите открытие, только если доверяете файлу.

Окно консоли состоит из трёх зон: текст запроса сверху, параметры сбоку или на отдельной вкладке, результат снизу. После ввода текста нажмите кнопку «Выполнить».

Если не видно пункта «Все функции»

Встроенную консоль ищут через Все функции → Обработки. В интерфейсе «Такси» этот пункт по умолчанию скрыт. Включите его так:

  1. Главное меню → Сервис и настройки → Параметры (в части релизов пункт называется Настройки → Параметры).
  2. Отметьте флажок «Отображать команду “Все функции”».
  3. Нажмите «Применить». Пункт появится в главном меню.

Чтобы не открывать файл каждый раз, после открытия консоли добавьте её в избранное: звёздочка в заголовке окна. Работает для обработок, встроенных в конфигурацию.

Запуск из Конфигуратора и встраивание в конфигурацию

Из самого Конфигуратора консоль запросов не работает . Конфигуратор — режим разработки, запросы к данным в нём не выполняются. Зато из него консоль можно запустить в режиме отладки или навсегда встроить в базу.

Запуск через отладку

  1. Откройте базу в Конфигураторе.
  2. Через Файл → Открыть откройте файл консоли. Он откроется как объект для редактирования.
  3. Нажмите F5 или выберите Отладка → Начать отладку. Запустится 1С:Предприятие.
  4. В запущенном сеансе откройте консоль через Файл → Открыть.

Теперь точки останова в модуле консоли срабатывают. Это полезно, когда нужно посмотреть, как консоль подставляет параметры или обрабатывает результат.

Встраивание в расширение

Для типовых конфигураций на поддержке это лучший способ. Основную конфигурацию вы не трогаете, обновления ставятся как обычно.

  1. В Конфигураторе откройте Конфигурация → Расширения конфигурации.
  2. Добавьте новое расширение, задайте имя, например Консоль.
  3. Откройте конфигурацию расширения. На ветке «Обработки» вызовите контекстное меню и выберите команду вставки внешней обработки, отчёта.
  4. Укажите файл .epf. Обработка появится в дереве расширения.
  5. Чтобы консоль была в меню, включите её в подсистему расширения.
  6. Сохраните расширение. Если программа предложит обновить конфигурацию базы данных, согласитесь.

Расширения появились в платформе 8.3.6. На более ранних номерах этот путь недоступен.

Не встраивайте консоль в рабочую базу без согласования. Через неё любой пользователь с доступом прочитает данные, которые ему обычно закрыты.

Встраивание в основную конфигурацию

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

Через «Дополнительные отчёты и обработки»

В конфигурациях на БСП есть механизм Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Обычный файл консоли туда не загрузится. Механизм требует в модуле обработки экспортную функцию СведенияОВнешнейОбработке() с описанием регистрации. Без неё программа откажется добавлять файл. Если навыка доработки нет, используйте открытие через Файл → Открыть.

С какой базой работает консоль и как настроить доступ

Консоль не подключается к базе отдельно. У неё нет полей для сервера, логина и пароля. Она выполняет запросы к той информационной базе, в которой открыта, и с правами того пользователя, под которым вы вошли.

Отсюда практические выводы:

  • 🔐 Нужна другая база — откройте консоль в ней. Запрос к соседней базе из этого окна не выполнить.
  • 👤 Результат зависит от прав. Если на пользователе настроено ограничение доступа на уровне записей, часть строк просто не попадёт в результат. Для полной картины работайте под администратором без ограничений.
  • 🖥 Файловая и клиент-серверная база ведут себя одинаково. Разница только в скорости: тяжёлый запрос в файловой базе может подвесить работу остальных пользователей.

Права на открытие внешних обработок

Открыть внешний файл может только пользователь с правом интерактивного открытия внешних обработок. У роли «Полные права» оно есть. Рядовому бухгалтеру его обычно не дают, и это правильно.

Защита от опасных действий

С платформы 8.3.9 при открытии внешнего файла может появиться предупреждение безопасности. За это отвечает флажок «Защита от опасных действий» в карточке пользователя. Его меняют в Конфигураторе: Администрирование → Пользователи, карточка пользователя. В типовых конфигурациях на БСП — ещё и в карточке пользователя в режиме 1С:Предприятие. Флажок не снимайте ради удобства. Предупреждение раз в сеанс — разумная цена.

В облачных сервисах и в базах с безопасным режимом произвольные внешние обработки обычно запрещены. Консоль там не откроется, пока администратор сервиса не разрешит конкретный файл.

Как написать и выполнить запрос в консоли

Язык запросов 1С похож на SQL, но обращается к объектам конфигурации, а не к таблицам СУБД. Ключевые слова пишут по-русски или по-английски.

Простейший запрос — список элементов справочника:

ВЫБРАТЬ ПЕРВЫЕ 100
    Номенклатура.Ссылка КАК Номенклатура,
    Номенклатура.Артикул
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    НЕ Номенклатура.ПометкаУдаления
УПОРЯДОЧИТЬ ПО
    Номенклатура.Наименование

ПЕРВЫЕ 100 ограничивает выборку. Ставьте его всегда, пока не уверены в размере результата: в большой базе запрос без ограничения вернёт сотни тысяч строк и надолго займёт сервер.

Параметры запроса

Значения, которые меняются, передают через параметры со знаком &. Пример — остатки по счёту в БП 3.0 на дату:

ВЫБРАТЬ
    Остатки.Субконто1 КАК Контрагент,
    Остатки.СуммаОстатокДт,
    Остатки.СуммаОстатокКт
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(
        &НаДату,
        Счет = &Счет,
        ,
        Организация = &Организация) КАК Остатки

После ввода текста перейдите к параметрам. В стандартной консоли есть команда, которая сама находит в тексте все &Параметры и добавляет их в список. Остаётся задать значения: дату, счёт из плана счетов, организацию из справочника.

Временные таблицы и пакеты

Сложные выборки удобно делить на шаги. Первый запрос помещает данные во временную таблицу командой ПОМЕСТИТЬ, следующий её читает. Запросы пакета разделяют точкой с запятой.

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

Консоль покажет результат последнего запроса пакета. В расширенных консолях можно посмотреть и содержимое каждой временной таблицы.

Что делать с результатом

Результат выводится таблицей. Ссылочные поля, например контрагент или документ, отображаются представлением, и по ним можно открыть сам объект двойным щелчком. Так быстро проверяют, откуда взялась подозрительная строка.

Если в запросе есть раздел ИТОГИ ПО, консоль умеет показать результат деревом: сначала группировка, внутри детальные записи. Для сверки с оборотно-сальдовой ведомостью это удобнее плоской таблицы.

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

Конструктор вместо ручного текста

Писать текст руками не обязательно. В консоли есть вызов конструктора запроса: выбираете таблицы, отмечаете поля, задаёте условия, и текст собирается сам. Тот же конструктор доступен в Конфигураторе из контекстного меню модуля. Удобная связка: собрать запрос конструктором, проверить в консоли, затем перенести в код.

Ошибки при запуске консоли и выполнении запросов

Диагностика: выберите симптом

Отдельно про долгие запросы в рабочей базе. Если запрос завис и вы решили прервать сеанс через консоль кластера, предупредите коллег. Прерванный сеанс закроет ваше окно, а несохранённые данные в нём пропадут. Делайте это в момент, когда нагрузка на базу минимальна.

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

Можно ли через консоль запросов изменить данные?
Нет. Язык запросов 1С только читает данные: команд вроде UPDATE или DELETE в нём нет. Изменить данные можно лишь кодом обработки, но это уже не консоль запросов.
Видна ли консоль другим пользователям, если я открыл её из файла?
Нет. Внешняя обработка живёт только в вашем сеансе. В базе она не сохраняется и в меню у коллег не появится.
Чем консоль запросов отличается от консоли отчётов?
Консоль запросов выдаёт сырую таблицу результата. Консоль отчётов строит отчёт на системе компоновки данных: с группировками, итогами и оформлением. Для проверки данных достаточно первой.
Можно ли сохранить запрос, чтобы не набирать заново?
Да. Стандартная консоль сохраняет набор запросов с параметрами в отдельный файл на диске. Потом его загружают кнопкой открытия в самой консоли.
Почему консоль работает в одной базе, а в другой выдаёт ошибку?
Обычно разные конфигурации: в запросе есть объект или реквизит, которого во второй базе нет. Реже — у пользователя во второй базе нет права открывать внешние обработки.