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

· 9 мин

Содержание

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

Чаще всего консоль «не открывается» по трём причинам: у пользователя нет нужного права, файл собран под обычные формы, а база запущена в тонком клиенте, или обработка сделана в более новой платформе. Все три случая разобраны ниже, вместе с запуском из Конфигуратора и работой с параметрами.

Что подготовить перед запуском консоли запросов

Консоль запросов — это обычная внешняя обработка. Она не входит в типовые конфигурации вроде Бухгалтерии 3.0 или ЗУП 3.1 и в саму платформу. Перед запуском проверьте четыре вещи.

📁 Файл обработки. Официальную консоль фирма 1С выкладывает на портале ИТС среди универсальных обработок для разработчиков. Есть две редакции:

РедакцияДля какого клиентаГде работает
На управляемых формахТонкий, толстый, веб-клиентЛюбая современная конфигурация с интерфейсом «Такси»
На обычных формахТолько толстый клиентСтарые конфигурации и базы, запущенные в режиме обычного приложения

Для БП 3.0, ЗУП 3.1, УТ 11 и других актуальных решений берите редакцию на управляемых формах. Кроме официальной, у разработчиков популярны сторонние наборы инструментов с расширенной консолью. Скачивайте их только с сайта автора: внешняя обработка выполняет произвольный код в вашей базе.

🔑 Права пользователя. Нужно право на интерактивное открытие внешних обработок. У профиля «Администратор» оно есть. У бухгалтера с типовым профилем его обычно нет.

🖥️ Версия платформы. Номер платформы на рабочем месте должен быть не ниже того, в котором сохранена обработка. Посмотреть номер можно в главном меню: ≡ → Справка → О программе.

💾 Копия базы для экспериментов. Запросы на чтение данные не меняют. Но многие консоли умеют выполнять и произвольный код. Если собираетесь пробовать что-то кроме ВЫБРАТЬ, работайте на копии.

Держите файл консоли в постоянной папке, например C:\1C\Tools\. Тогда он появится в списке недавних файлов меню ≡ → Файл, и искать его каждый раз не придётся.

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

Способ 1. Через меню «Файл» в режиме 1С:Предприятие

Это основной путь, он работает в любой конфигурации.

  1. Запустите базу в режиме 1С:Предприятие под пользователем с правами администратора.
  2. Нажмите Ctrl+O или откройте главное меню ≡ → Файл → Открыть.
  3. Укажите файл консоли .epf и нажмите «Открыть».
  4. Если платформа покажет предупреждение о безопасности, прочитайте его и подтвердите открытие, если доверяете файлу.
  5. Консоль откроется в отдельной вкладке или окне.

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

Способ 2. Из Конфигуратора

Разработчику удобно открывать консоль, не закрывая Конфигуратор.

  1. В Конфигураторе запустите пользовательский режим: Отладка → Начать отладку (F5) или меню Сервис → 1С:Предприятие.
  2. В открывшемся окне 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 ограничивает выборку. На больших базах ставьте его всегда, пока отлаживаете запрос: таблица на сотни тысяч строк надолго займёт и сервер, и клиент.

Запрос с параметрами

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

Порядок работы с параметрами:

  1. Вставьте текст в поле запроса.
  2. Перейдите в таблицу параметров. В официальной консоли параметры из текста подтягиваются туда автоматически или по отдельной команде заполнения.
  3. Для каждого параметра выберите тип: Дата, Число, Строка или ссылку на справочник или документ.
  4. Укажите значение. Для ссылки откроется обычная форма выбора, например список контрагентов.
  5. Выполните запрос.

Дата без времени означает начало суток. Если написать Дата МЕЖДУ &Начало И &Конец и передать 31 марта, документы, созданные 31 марта днём, не попадут в выборку. Функция КОНЕЦПЕРИОДА(&Конец, ДЕНЬ) сдвигает границу на 23:59:59.

Пакетные запросы и временные таблицы

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

Как разобрать результат и найти ошибку в запросе

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

Платформа показывает текст ошибки с координатами: номер строки и позицию в строке, например {(4, 5)}: Поле не найдено "Контрагенты.Инн1". Считайте строки от начала текста запроса.

СообщениеЧто обычно не так
Поле не найденоОпечатка в имени реквизита или реквизит есть в другой таблице
Таблица не найденаНеверное имя объекта метаданных, например справочник называется иначе в вашей конфигурации
Синтаксическая ошибкаПропущена запятая между полями, лишняя запятая перед ИЗ, не закрыта скобка
Ошибка несоответствия типовПараметр задан строкой, а сравнивается со ссылкой или датой

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

Если запрос выполнился, но данные не те

  • 🔍 Пустой результат. Проверьте параметры: не задан тип, пустое значение, дата без конца дня.
  • ➕ Строки задвоились. Чаще всего виновато соединение с табличной частью или регистром, где на одну запись основной таблицы приходится несколько строк. Выполните запрос без группировки и посмотрите, откуда берутся дубли.
  • 👤 У администратора одно, у бухгалтера другое. Запрос учитывает ограничения доступа на уровне записей. Пользователь с урезанными правами видит только «свои» организации или склады.

Приём разработчика: перенести запрос из кода в консоль

Когда отчёт или обработка конфигурации выдаёт странные цифры, запрос удобно вытащить прямо из кода:

  1. Запустите базу из Конфигуратора в режиме отладки (F5).
  2. Поставьте точку останова на строке Запрос.Выполнить() в нужном модуле.
  3. Когда выполнение остановится, откройте Отладка → Вычислить выражение (Shift+F9).
  4. Вычислите Запрос.Текст и скопируйте текст. Значения параметров видны в свойстве Запрос.Параметры.
  5. Вставьте текст в консоль, заполните те же параметры и разбирайте запрос по частям.

Там же, в окне вычисления выражения, можно сразу посмотреть результат: выражение Запрос.Выполнить().Выгрузить() вернёт таблицу значений.

Как сохранить запросы и выгрузить результат в Excel

Сохранение набора запросов

Запросы, набранные в консоли, живут только до закрытия окна. Чтобы не потерять их, в консоли есть команда сохранения набора запросов в файл и обратная команда загрузки. Файл с запросами удобно хранить рядом с самой консолью и передавать коллегам.

Заведите отдельный файл под каждую базу или задачу. Один «общий» файл на сотню запросов быстро превращается в свалку.

Выгрузка результата

Таблицу результата можно вывести в Excel средствами самой платформы:

  1. Щёлкните правой кнопкой по таблице результата или откройте меню «Ещё» над ней.
  2. Выберите Вывести список…, отметьте нужные колонки и выведите их в табличный документ.
  3. В открывшемся табличном документе нажмите ≡ → Файл → Сохранить как и выберите формат .xlsx.

Для быстрой вставки нескольких строк в письмо или таблицу хватит обычного копирования: выделите строки и нажмите Ctrl+C.

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

Почему консоль запросов не открывается и как это исправить

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

Ограничения, о которых стоит помнить

  • 🌐 Веб-клиент. Внешнюю обработку можно открыть и в браузере, но файл при этом загружается на сервер. Под тяжёлые запросы удобнее тонкий клиент.
  • ☁️ Облачные базы. В сервисах вроде 1С:Фреш открытие внешних обработок ограничено политикой сервиса. Консоль запросов там обычно недоступна.
  • 🏢 Рабочая серверная база. Тяжёлый запрос в рабочее время замедлит работу остальных пользователей. Долгие выборки запускайте на копии или вечером.
  • 🧩 Дополнительные обработки. Подключить стандартную консоль в справочник дополнительных отчётов и обработок не получится: у неё нет нужного программного интерфейса регистрации. Её открывают только через Файл → Открыть.

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

Есть ли консоль запросов в 1С 8.3 «из коробки»?
Нет. Ни платформа, ни типовые конфигурации не содержат отдельной команды «Консоль запросов». Её открывают как внешнюю обработку из файла .epf.
Может ли консоль запросов испортить данные?
Запрос с ВЫБРАТЬ только читает данные. Опасность в другом: многие консоли умеют выполнять произвольный код, и такой код может изменить или удалить записи. Пишите и проверяйте его на копии базы.
Можно ли открыть консоль запросов бухгалтеру без прав администратора?
Можно, если администратор выдаст ему право на интерактивное открытие внешних обработок. Учтите: бухгалтер увидит в результатах только те данные, которые разрешены его ролями.
Чем консоль запросов отличается от конструктора запроса?
Конструктор только собирает текст запроса. Консоль выполняет его на данных базы и показывает результат. В официальной консоли конструктор встроен и открывается отдельной кнопкой.
Работает ли консоль в файловой базе?
Да. Порядок запуска одинаковый для файловых и клиент-серверных баз. В файловой базе тяжёлый запрос тормозит остальных пользователей сильнее, потому что все работают с одним файлом.