Консоль запросов в 1С:Предприятии 8.3: где взять, как открыть и что делать, если не открывается
Содержание
Консоль запросов в 1С 8.3 — это внешняя обработка, файл с расширением .epf. Чтобы её запустить, откройте базу в режиме 1С:Предприятие, нажмите Ctrl+O (или главное меню Файл → Открыть), выберите файл консоли и подтвердите предупреждение безопасности. Встроенной кнопки «Консоль запросов» в типовых конфигурациях нет.
Если файл не открывается, причин обычно три: у пользователя нет права на интерактивное открытие внешних обработок, включена защита от опасных действий без подтверждения или файл консоли не подходит к клиенту (обычные формы против управляемых). Ниже каждый случай разобран отдельно, вместе с запуском из командной строки и приёмами для замера скорости запроса.
Где взять файл консоли и какую версию выбрать
Консоль не входит в состав платформы. Её берут отдельно, и вариантов несколько.
- 📦 Консоль с диска или портала ИТС. Её распространяет фирма 1С среди обработок для разработчиков. Есть две редакции: для управляемых форм (тонкий и веб-клиент) и для обычных форм (толстый клиент, обычное приложение).
- 🧰 Сторонние инструменты разработчика. Наборы обработок от сообщества с расширенной консолью: история запросов, подсветка, выгрузка результата. Скачивайте только из источника, которому доверяете: внешняя обработка выполняет любой код с правами пользователя.
- 🛠 Своя обработка. Собирается в Конфигураторе за полчаса: поле текста запроса, табличное поле результата и кнопка «Выполнить». Подходит, когда политика безопасности запрещает чужие файлы.
Какую редакцию брать, зависит от того, как вы запускаете базу:
| Как работает база | Нужна редакция | Где проверить |
|---|---|---|
| БП 3.0, ЗУП 3.1, УТ 11 в тонком клиенте или браузере | Управляемые формы | Интерфейс «Такси», разделы слева |
| Старые конфигурации на обычных формах | Обычные формы, толстый клиент | Классическое меню сверху, нет панели разделов |
| Толстый клиент с управляемым приложением | Управляемые формы | Свойства ярлыка запуска в списке баз |
Держите консоль в одной папке на сервере или на своём диске, например C:\Tools\1C\QueryConsole.epf. Так путь не придётся искать каждый раз, а для запуска через /Execute нужен постоянный адрес.
Как запустить консоль запросов в режиме 1С:Предприятие
Это основной способ, он работает в любой типовой конфигурации на интерфейсе «Такси».
- Запустите базу в режиме 1С:Предприятие под пользователем с административными правами.
- Откройте главное меню: кнопка с тремя полосками в левом верхнем углу окна.
- Выберите
Файл → Открытьили нажмитеCtrl+O. - Укажите файл консоли
.epf. - Платформа покажет предупреждение безопасности о том, что файл может содержать небезопасный код. Нажмите кнопку подтверждения, если файл из надёжного источника.
- Откроется форма консоли. Вставьте текст запроса или нажмите кнопку конструктора запроса, затем «Выполнить».
Проверьте работу простым запросом, который ничего не меняет и есть в любой базе:
ВЫБРАТЬ ПЕРВЫЕ 10
Организации.Ссылка,
Организации.Наименование
ИЗ
Справочник.Организации КАК Организации
Если вернулись строки — консоль работает, права есть.
Запуск из Конфигуратора
Из Конфигуратора консоль напрямую не запускается: она работает только в режиме Предприятия. Но удобно стартовать через отладку.
Отладка → Начать отладку(клавишаF5) открывает 1С:Предприятие с подключённым отладчиком. Дальше —Ctrl+Oи файл консоли.- Сам файл
.epfможно открыть в Конфигураторе черезФайл → Открыть, чтобы посмотреть или поправить код обработки. Выполнять запросы оттуда нельзя.
Запуск с параметром /Execute
Приём для тех, кто открывает консоль по десять раз в день. Параметр командной строки /Execute запускает внешнюю обработку
сразу после входа в базу.
"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Администратор" /Execute"C:\Tools\1C\QueryConsole.epf"
Номер версии в пути замените на свой. То же самое можно прописать в списке информационных баз, не создавая ярлык:
- В окне запуска выделите базу и нажмите Изменить.
- Пройдите до последней страницы мастера.
- В поле дополнительных параметров запуска впишите
/Execute"C:\Tools\1C\QueryConsole.epf".
Для клиент-серверной базы вместо /F указывается /S"сервер\имя_базы". Пароль в строке запуска (/P) хранить не советуем: ярлык читается любым, кто сидит за компьютером.
Предупреждение безопасности при открытии внешней обработки появится и при запуске через /Execute, если для пользователя включена защита от опасных действий.
Права пользователя и роли для консоли
Консоль выполняет запросы с правами того, кто её открыл. Отсюда два уровня ограничений: можно ли вообще открыть файл и что увидит запрос.
Право на открытие внешних обработок
В ролях конфигурации есть отдельное право «Интерактивное открытие внешних обработок». Без него команда Файл → Открыть для .epf заканчивается ошибкой прав доступа.
В конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11) права выдают не в Конфигураторе, а в самой программе:
- Откройте
Администрирование → Настройки пользователей и прав. - Перейдите в Профили групп доступа и найдите профиль, в котором есть роль с названием про открытие внешних отчётов и обработок.
- Включите пользователя в группу доступа с этим профилем или добавьте роль в его профиль.
- Перезапустите сеанс пользователя: новые роли подхватываются при входе.
В собственной или доработанной конфигурации право выставляется в Конфигураторе: роль → вкладка прав → корень конфигурации → флажок «Интерактивное открытие внешних обработок». После этого конфигурацию нужно обновить.
Защита от опасных действий
В свойствах пользователя информационной базы есть флажок «Защита от опасных действий». Когда он включён, платформа перед открытием внешнего файла спрашивает подтверждение. Это не запрет, а предупреждение.
Выключить флажок можно в Конфигураторе: Администрирование → Пользователи → карточка пользователя. Снимайте его только у разработчиков и администраторов: у бухгалтера это единственная преграда перед случайно открытым вредоносным файлом из письма.
Что увидит запрос
- 🔒 В базах с ограничением доступа на уровне записей запрос без слова
РАЗРЕШЕННЫЕупадёт с ошибкой прав, если попадёт на чужие записи. ПишитеВЫБРАТЬ РАЗРЕШЕННЫЕ, если работаете не под полными правами. - 👤 Под пользователем с полными правами запрос видит все данные базы, включая зарплату и персональные данные. Не давайте консоль сотрудникам «на минутку посмотреть».
- ☁️ В облачных сервисах на технологии 1С:Fresh открывать произвольные внешние обработки, как правило, нельзя: они работают в безопасном режиме или требуют проверки поставщиком сервиса.
Другие способы выполнить запрос без консоли
Консоль удобна, но иногда её нельзя или неудобно открыть. Есть замены.
| Способ | Когда подходит | Ограничения |
|---|---|---|
Консоль запросов .epf | Разовые выборки, отладка текста запроса | Нужны права на внешние обработки |
| Конструктор запроса в Конфигураторе | Собрать текст запроса без выполнения | Результат не показывает |
| Отладчик Конфигуратора | Посмотреть, что вернул запрос внутри кода | Нужен запуск под отладкой |
| Своя обработка в расширении | Запрет на внешние файлы, постоянная работа с запросами | Нужно установить расширение |
| Сниппеты и шаблоны текста | Быстро набирать типовые конструкции | Только набор текста, не выполнение |
Конструктор и шаблоны
В модуле Конфигуратора конструктор запроса вызывается из контекстного меню при курсоре внутри текста запроса. Готовый текст копируется в консоль и выполняется там.
Шаблоны текста (сниппеты) в Конфигураторе хранят заготовки: соединение с регистром, выборку остатков на дату, группировку. Набрали короткое имя шаблона — получили каркас запроса. В 1С:EDT есть свои шаблоны и редактор запросов.
Отладчик
Поставьте точку останова после выполнения запроса и откройте результат через окно вычисления выражений. Для объекта Запрос удобно смотреть текст и параметры, для РезультатЗапроса — выгрузку в таблицу значений через .Выгрузить().
Обработка в расширении
Если служба безопасности запретила внешние файлы, оформите свою консоль как обработку внутри расширения конфигурации . Тогда право на открытие внешних обработок не нужно: доступ регулируется ролью расширения. Расширения поддерживаются с платформы 8.3.6.
Ошибки при запуске консоли запросов и что с ними делать
Тексты сообщений зависят от версии платформы, поэтому ниже — смысл ошибки и проверка.
Если консоль открывалась вчера, а сегодня нет, первым делом проверьте, не обновлялась ли платформа на компьютере. Старый файл обработки иногда перестаёт подходить после смены версии.
Анализ производительности запроса в консоли
Консоль годится не только для выборок. Это быстрый способ понять, почему отчёт формируется пять минут.
Замер времени
Актуальные редакции консоли показывают время выполнения запроса. Сравнивайте варианты одного запроса на одних и тех же данных: запуск дважды подряд выравнивает влияние кэша СУБД.
Пакет и временные таблицы
Длинный запрос разбивайте на пакет с временными таблицами (ПОМЕСТИТЬ). Консоль показывает результат каждой временной таблицы, и видно, на каком шаге строк становится в сотни раз больше, чем ожидалось.
ВЫБРАТЬ
Продажи.Номенклатура КАК Номенклатура,
СУММА(Продажи.Сумма) КАК Сумма
ПОМЕСТИТЬ ВТ_Продажи
ИЗ
РегистрНакопления.Продажи КАК Продажи
ГДЕ
Продажи.Период МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
Продажи.Номенклатура
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 100
ВТ_Продажи.Номенклатура,
ВТ_Продажи.Сумма
ИЗ
ВТ_Продажи КАК ВТ_Продажи
УПОРЯДОЧИТЬ ПО
ВТ_Продажи.Сумма УБЫВ
Параметры &НачалоПериода и &КонецПериода задаются в таблице параметров консоли. Имя регистра в примере условное: в вашей конфигурации посмотрите точное название в дереве метаданных.
Что ускоряет запрос
- 🎯 Отбор по периоду и измерениям — в параметрах виртуальной таблицы (
Остатки(&Дата, Склад = &Склад)), а не вГДЕпосле неё. - 🔗 Меньше обращений «через точку» к полям ссылок: каждое такое обращение добавляет соединение с таблицей.
- 📉 Отказ от соединений с подзапросами в пользу временных таблиц с индексом (
ИНДЕКСИРОВАТЬ ПО). - 🧮
ПЕРВЫЕ Nна время отладки, чтобы не тянуть миллион строк в форму.
Замер производительности и технологический журнал
Если медленный запрос сидит внутри кода, а не в консоли, включите Отладка → Замер производительности в Конфигураторе при запуске под отладкой. Замер покажет строки модуля, на которые ушло больше всего времени. План запроса на стороне СУБД снимают через технологический журнал платформы или средствами самой СУБД.
Тяжёлый запрос в рабочей базе днём замедляет работу всех пользователей. Проверяйте его на копии базы или в часы минимальной нагрузки.
Как не навредить базе при работе с консолью
Консоль запросов только читает данные: язык запросов 1С не умеет изменять записи. Но вокруг неё есть риски.
- 🧪 Сторонние консоли с режимом обработки результата. Некоторые инструменты умеют выполнять произвольный код над выборкой. Такой код может записать или удалить объекты. Перед запуском обработки результата сделайте резервную копию.
- 🗂 Выгрузка результата в файл. В Excel уходят персональные данные и суммы зарплат. Храните такие файлы как служебную информацию и удаляйте после работы.
- 🐢 Запрос без отбора по огромному регистру. Вешает сеанс и нагружает сервер. Начинайте с
ПЕРВЫЕ 100и узкого периода. - 📁 Файл консоли из чужого письма. Внешняя обработка выполняет любой код. Открывайте только проверенные файлы.
Частые вопросы
Есть ли консоль запросов в Конфигураторе?
Можно ли выдать консоль бухгалтеру?
Почему запрос в консоли работает быстро, а тот же запрос в отчёте — медленно?
Работает ли консоль в веб-клиенте?
Можно ли запускать консоль под другим пользователем, не перелогиниваясь?
/N и /Execute.