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

· 9 мин

Содержание

Консоль запросов открывают в режиме 1С:Предприятие через Главное меню → Файл → Открыть (или Ctrl+O): выбираете файл внешней обработки с консолью и сразу пишете запрос. Частая ошибка — искать консоль в разделах программы. В типовых БП 3.0, ЗУП 3.1 и УТ 11 её в составе конфигурации нет, это отдельный файл .epf.

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

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

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

  • 📁 Файл консоли. Нужна внешняя обработка для управляемых форм — она работает в тонком и веб-клиенте. Её распространяют в составе инструментов разработчика на ИТС; есть и сторонние консоли с расширенными функциями. Версия для обычных форм подойдёт только для толстого клиента в обычном приложении.
  • 🔑 Права. У пользователя должно быть право на интерактивное открытие внешних обработок. У роли «Полные права» оно есть, у бухгалтера обычно нет.
  • 🗄️ Нужная база. Проверяйте запросы на копии, если есть такая возможность. Язык запросов данные не меняет, но тяжёлый запрос в рабочее время замедлит работу всех пользователей.

Храните файл консоли в одной папке на всех рабочих местах, например C:\1C\Tools\. Тогда ярлык быстрого запуска (о нём ниже) будет одинаковым у всех администраторов.

Какая версия консоли нужна, понять просто:

Как вы работаетеКакая консоль подойдёт
Тонкий клиент, интерфейс «Такси» (БП 3.0, ЗУП 3.1, УТ 11)Для управляемых форм
Веб-клиент через браузерДля управляемых форм
Толстый клиент, обычное приложение (старые конфигурации)Для обычных форм

Как открыть консоль запросов через меню в режиме Предприятия

Это основной способ. Он работает в файловой и клиент-серверной базе одинаково.

Шаг 1. Откройте главное меню

Запустите базу в режиме 1С:Предприятие под пользователем с правами администратора. Нажмите значок главного меню — три полоски в левом верхнем углу окна.

Шаг 2. Выберите файл

Перейдите в Файл → Открыть. В окне выбора укажите файл консоли, например КонсольЗапросов.epf. Тонкий клиент передаст обработку на сервер, и откроется её форма.

Шаг 3. Подтвердите предупреждение безопасности

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

Шаг 4. Напишите и выполните запрос

В поле текста запроса введите, например:

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

Нажмите кнопку выполнения в командной панели консоли. Результат появится в табличной части под текстом запроса.

Текст запроса удобнее собирать конструктором — в консолях для управляемых форм он вызывается из контекстного меню поля текста или отдельной кнопкой. Конструктор сам расставит псевдонимы и соединения.

Консоль открыта и готова к работе
Выполнено: 0 / 5

Горячие клавиши и ярлык для быстрого запуска консоли

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

Сочетание Ctrl+O

В режиме 1С:Предприятие Ctrl+O сразу открывает окно выбора файла — то же, что Файл → Открыть. Дальше окно обычно открывается в последней использованной папке, так что выбор файла занимает пару секунд.

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

Ярлык с параметром /Execute

Это приём, о котором часто не знают. Параметр командной строки /Execute запускает указанную внешнюю обработку сразу после входа в базу. Создайте ярлык на рабочем столе с такой строкой:

Для файловой базы:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Администратор" /Execute"C:\1C\Tools\КонсольЗапросов.epf"

Для клиент-серверной базы:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh" /N"Администратор" /Execute"C:\1C\Tools\КонсольЗапросов.epf"

Здесь /F — путь к каталогу файловой базы, /S — имя сервера и базы через обратную косую черту, /N — имя пользователя. Пароль можно передать через /P, но держать его открытым текстом в ярлыке небезопасно: лучше вводить при входе.

Путь к 1cestart.exe зависит от того, куда установлена платформа. Проверьте его в свойствах существующего ярлыка 1С.

Список последних файлов

Платформа запоминает недавно открытые файлы. Посмотрите в главном меню рядом с пунктом «Открыть»: если там есть список последних файлов, консоль запускается в один щелчок.

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

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

Запуск Предприятия из Конфигуратора

  1. Откройте базу в Конфигураторе.
  2. Нажмите F5 (Отладка → Начать отладку) или Ctrl+F5 (запуск без отладки).
  3. В открывшемся Предприятии нажмите Ctrl+O и выберите файл консоли.

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

Конструктор запроса в модуле

В любом модуле конфигурации поставьте курсор в пустую строку и выберите в контекстном меню «Конструктор запроса». Конструктор соберёт текст, который потом можно перенести в консоль и выполнить на реальных данных.

Просмотр результата в отладчике

Когда нужно понять, что возвращает запрос внутри программы, поставьте точку останова после строки с Запрос.Выполнить(). В окне вычисления выражения (Shift+F9) введите Запрос.Выполнить().Выгрузить() — отладчик покажет таблицу значений с результатом. Так проверяют запрос с теми параметрами, которые подставил код, а не вы вручную.

Открыть файл .epf через Файл → Открыть можно и в Конфигураторе — но только чтобы посмотреть или отредактировать обработку, а не выполнить запрос.

Права на консоль запросов для обычных пользователей

Бухгалтеру или аналитику иногда нужна консоль без полных прав. Решение зависит от того, как в базе устроены права.

В типовых конфигурациях на БСП

В БП 3.0, ЗУП 3.1 и УТ 11 права раздают через профили групп доступа:

  1. Откройте Администрирование → Настройки пользователей и прав.
  2. Перейдите в группы доступа и найдите профиль, который даёт право открывать внешние отчёты и обработки. В типовых конфигурациях он поставляется готовым — ищите его в списке профилей по слову «внешних».
  3. Включите в эту группу доступа нужного пользователя.
  4. Пользователь должен перезапустить программу, чтобы права применились.

В нетиповой или самописной конфигурации

Если профилей нет, права назначают ролями в Конфигураторе: Администрирование → Пользователи, карточка пользователя, вкладка «Прочие». Пользователю нужна роль, в которой включено право «Интерактивное открытие внешних обработок». Если подходящей роли нет, её добавляет разработчик.

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

Консоль выполняет запрос с правами того, кто её открыл. Если в базе настроено ограничение доступа на уровне записей (RLS), запрос вернёт только разрешённые строки. Поэтому у бухгалтера с ограничением по организации отчёт в консоли может выглядеть «неполным» — это не ошибка запроса.

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

Кому и как дать доступ к консоли?

Время выполнения и план запроса: как искать тормоза

Консоль — первый инструмент, когда отчёт формируется минуту вместо секунды. Схема работы такая.

Замерьте время в консоли

Выполните запрос несколько раз подряд. Первый запуск обычно медленнее: данные ещё не в кеше СУБД. Ориентируйтесь на второй и третий. Многие консоли показывают время выполнения рядом с результатом; если ваша не показывает — засеките по часам.

Сократите запрос по частям

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

  • 🐢 условие на дату или организацию в ГДЕ вместо параметров виртуальной таблицы (Остатки(&Дата, Организация = &Организация));
  • 🐢 соединение с подзапросом — вынесите подзапрос во временную таблицу и проиндексируйте её конструкцией ИНДЕКСИРОВАТЬ ПО;
  • 🐢 обращение через точку к полю составного типа — платформа соединяет все возможные таблицы; помогает ВЫРАЗИТЬ;
  • 🐢 ИЛИ в условии соединения — часто быстрее разбить на два запроса и объединить через ОБЪЕДИНИТЬ ВСЕ.

Получите план выполнения от СУБД

Сама консоль план запроса СУБД обычно не показывает. План дают технологический журнал и средства СУБД. В клиент-серверной базе на MS SQL в файл настройки технологического журнала logcfg.xml добавляют элемент <plansql/> и событие DBMSSQL. В журнал попадёт SQL-текст, в который платформа превратила запрос, и план его выполнения.

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

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

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

Ещё одно частое недоразумение: попытка изменить данные запросом. Язык запросов 1С только читает данные — команд вроде UPDATE или DELETE в нём нет. Для групповых изменений нужна отдельная обработка, и запускать её стоит только после резервной копии базы.

Если запрос возвращает пустой результат без ошибок, проверьте параметры. Значения параметров вида &Дата задают в таблице параметров консоли. Незаполненный или неверно заполненный параметр — частая причина «пустых» результатов.

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

Можно ли открыть консоль запросов в веб-клиенте?
Да, если это консоль для управляемых форм. Файл выбирается через Файл → Открыть так же, как в тонком клиенте. Браузер может попросить установить расширение для работы с файлами.
Можно ли встроить консоль в конфигурацию, чтобы не носить файл?
Можно: разработчик добавляет обработку в конфигурацию или в расширение. Для типовой конфигурации на поддержке удобнее расширение — оно не снимает конфигурацию с поддержки.
Консоль показывает не все документы. Это ошибка?
Чаще всего нет. Запрос выполняется с правами текущего пользователя, и ограничения на уровне записей отсекают часть строк. Проверьте тот же запрос под администратором.
Как сохранить результат запроса в Excel?
Выведите результат в табличный документ (в большинстве консолей есть такая команда) и сохраните его через Файл → Сохранить как в формате .xlsx.
Опасно ли выполнять запросы в рабочей базе?
Данные запрос не изменит. Риск в нагрузке: запрос по регистрам за несколько лет без отборов замедлит работу всех пользователей. Начинайте с ПЕРВЫЕ 100 и узкого периода.