Разработка и Конфигурация · 13 мин
Консоль запросов 1С: что это и как с ней работать
Консоль запросов 1С — что это за инструмент, где взять, как написать и отладить запрос, типичные ошибки и ограничения. Практическое руководство для разработчиков и аналитиков.
Консоль запросов 1С — это внешняя обработка (файл с расширением .epf), которая позволяет писать, выполнять и отлаживать запросы на встроенном языке запросов 1С прямо в режиме «Предприятие», без изменения конфигурации и без запуска конфигуратора. Инструмент не входит в типовую поставку платформы — его распространяют отдельно: на диске ИТС, в составе инструментов разработчика и в виде независимых разработок.
Основная задача консоли — дать разработчику, внедренцу или продвинутому аналитику быстрый способ проверить, какие данные вернёт запрос, как работают соединения таблиц, виртуальные таблицы, параметры и временные таблицы. Вместо того чтобы писать отчёт или отладочный код в конфигураторе, вы открываете обработку, набираете текст запроса и сразу видите результат в виде таблицы.
Консоль особенно полезна при поиске ошибок в отчётах на СКД, при анализе «зависших» остатков, при проверке дублей в справочниках и при разработке сложных запросов с пакетами временных таблиц. Ниже разберём, что именно умеет инструмент, где его взять, как написать первый запрос и каких ошибок стоит избегать.
Что такое консоль запросов и чем она отличается от конструктора запросов
Конструктор запросов встроен в конфигуратор и помогает визуально собрать текст запроса, но он не показывает реальные данные — только структуру. Консоль запросов, напротив, работает в режиме «Предприятие» и выполняет запрос против живой базы: вы видите фактические строки, значения итогов, содержимое временных таблиц.
Технически консоль — это обычная внешняя обработка. Внутри неё используются объекты встроенного языка: Запрос, МенеджерВременныхТаблиц, ПостроительЗапроса, а результат выводится в табличное поле или табличный документ. Поскольку обработка выполняется с правами текущего пользователя, данные вы увидите ровно те, которые доступны вашей учётной записи с учётом RLS-ограничений.
Популярные варианты консоли: обработка с диска ИТС, консоль в составе «Инструментов разработчика» (ИР), консоли с поддержкой СКД и пакетных запросов от сторонних авторов. Функционально они близки: текст запроса, список параметров, кнопка выполнения, таблица результата. Отличия — в удобстве: подсветка синтаксиса, дерево пакетов, просмотр временных таблиц, сохранение списка запросов в файл.
Кому и для каких задач нужна консоль запросов
Первичная аудитория — разработчики и внедренцы. Типовые сценарии: отладка запроса перед вставкой в модуль, проверка результата виртуальной таблицы остатков с конкретными параметрами, анализ причин расхождений в отчёте, поиск дублей и «битых» ссылок в данных.
Вторая категория — аналитики и опытные пользователи, которым нужно быстро получить выборку, недоступную штатными отчётами: например, список документов без проведённых движений или контрагентов с пустым ИНН. Важно понимать: консоль только читает данные через запрос, но многие консоли позволяют также выполнять код на встроенном языке — а это уже потенциально изменяет базу.
Консоль не заменяет отчёты для конечных пользователей: она требует знания языка запросов и структуры метаданных. Если задача — регулярный отчёт для менеджеров, правильнее сделать отчёт на СКД, а консоль использовать как инструмент разработки и проверки.
Запрос выполняется сразу, результат виден таблицей
Делайте отчёт на СКД с настройками и правами
Перенесите текст и параметры, сравните результат
Сначала соберите запрос конструктором в конфигураторе
Где взять консоль запросов и как её запустить
Типовые пути получения: диск информационно-технологического сопровождения (ИТС), где публикуются инструменты разработчика; подсистема «Инструменты разработчика» (ИР), которую подключают к базе или запускают как внешнюю обработку; открытые консоли с порталов для 1С-специалистов. Перед использованием сторонней обработки проверьте её источник: обработки выполняют код с вашими правами, поэтому файл из непроверенного места — риск для базы.
Запуск стандартный: в режиме «Предприятие» откройте меню «Файл — Открыть» и выберите файл .epf. Если конфигурация работает в режиме управляемого приложения, убедитесь, что консоль поддерживает управляемые формы — старые обработки под обычное приложение в тонком клиенте не откроются. В некоторых конфигурациях открытие внешних обработок заблокировано профилем безопасности — тогда нужно согласование с администратором.
Для файловой базы достаточно прав на чтение данных. В клиент-серверном варианте запрос выполняется на сервере, поэтому тяжёлые запросы по большим таблицам могут заметно нагрузить СУБД — об этом ниже в разделе про ограничения.
- 1Получите файл консоли (.epf) из доверенного источника — диск ИТС или проверенный инструментарий
- 2В режиме «Предприятие» откройте «Файл — Открыть» и выберите файл обработки
- 3Убедитесь, что обработка открылась и отображает поле текста запроса и список параметров
- 4Введите простой проверочный запрос, например выборку нескольких записей справочника
- 5Нажмите «Выполнить» и убедитесь, что результат выводится таблицей без ошибок
Как написать и выполнить первый запрос
Начните с простого запроса к справочнику, чтобы проверить сам инструмент. Например, выборка первых записей номенклатуры: ВЫБРАТЬ ПЕРВЫЕ 100 ... ИЗ Справочник.Номенклатура. Если консоль вернула таблицу — инструмент работает, можно переходить к реальной задаче.
Для запросов с параметрами (период, организация, склад) сначала заполните таблицу параметров консоли: имя параметра, тип, значение. В тексте запроса параметр указывается через амперсанд: &Период, &Организация. Частая ошибка — забыть заполнить параметр или указать дату вместо границы для виртуальной таблицы остатков.
Если запрос большой, разбивайте его на временные таблицы: сначала ПОМЕСТИТЬ во временную таблицу отобранные документы, затем соединяйте с регистрами. Хорошие консоли показывают дерево пакета запросов и позволяют посмотреть содержимое каждой временной таблицы отдельно — это главный способ локализовать, на каком шаге данные «пропадают».
ВЫБРАТЬ ПЕРВЫЕ 100
Номенклатура.Ссылка КАК Ссылка,
Номенклатура.Код КАК Код,
Номенклатура.Наименование КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
НЕ Номенклатура.ПометкаУдаленияПосле выполнения проверьте не только наличие строк, но и их смысл: совпадает ли количество записей с ожиданием, нет ли дублей от лишнего соединения, корректно ли заполнены итоги. Сверку удобно делать против штатного отчёта конфигурации с теми же отборами.
Типичные сценарии использования
Отладка запроса из модуля или отчёта
Когда запрос в коде возвращает не то, скопируйте его текст в консоль вместе со значениями параметров. Дальше упрощайте: убирайте соединения по одному, пока не найдёте место, где результат перестаёт совпадать с ожиданием. Чаще всего виноваты левое соединение с размножением строк или неверные параметры виртуальной таблицы.
Поиск проблем в данных
Консоль удобна для разовых проверок целостности: документы без движений, битые ссылки (когда в реквизите ссылка на удалённый объект), дубли по сочетанию полей, записи регистров без регистратора. Такие запросы строятся на группировках с HAVING (ИМЕЮЩИЕ) и на проверке ссылок через соединения.
Проверка виртуальных таблиц регистров
Виртуальные таблицы (Остатки, Обороты, СрезПоследних) часто ведут себя неожиданно из-за параметров: периодичности, отборов, значения границы. В консоли вы задаёте параметры явно и сразу видите, что именно вернула виртуальная таблица, — это быстрее, чем гадать по итоговому отчёту.
Ограничения и риски при работе с консолью
Запрос в консоли выполняется против рабочей базы. Тяжёлый запрос без отборов по большой таблице (например, полное сканирование регистра накопления за все годы) может надолго занять сервер СУБД и замедлить работу пользователей. На продуктивной базе всегда начинайте с ПЕРВЫЕ N и отборов по периоду, а тяжёлые проверки выполняйте на копии.
Многие консоли содержат режим выполнения произвольного кода на встроенном языке. Это удобно для пакетной обработки данных, но любая ошибка в таком коде — это уже не «посмотреть данные», а реальное изменение базы без контроля со стороны конфигурации: без проведения документов, без бизнес-логики, иногда без транзакции. Перед любым изменяющим кодом делайте резервную копию или выгрузку базы.
Ещё одно ограничение — консоль не показывает план запроса СУБД. Если проблема именно в производительности, консоль поможет сравнить варианты текста запроса по времени выполнения, но глубокий анализ делается средствами СУБД и технологического журнала.
Типичные ошибки новичков
Самая частая ошибка — неверные параметры виртуальных таблиц: передача даты вместо границы, пропуск отбора, из-за чего виртуальная таблица строится по всем данным. Вторая — соединение без достаточных условий, которое размножает строки и искажает суммы. Третья — сравнение результата консоли с отчётом, у которого другие отборы или другой пользователь с иными правами.
Чем консоль запросов отличается от альтернатив
Конструктор запросов в конфигураторе — помогает собрать текст, но не выполняет запрос. Отчёт на СКД — даёт гибкие настройки пользователю, но требует разработки и публикации. Универсальный отчёт и подборки в типовых конфигурациях — закрывают простые выборки, но не позволяют писать произвольный текст запроса. Консоль запросов занимает нишу «быстро выполнить произвольный запрос и увидеть данные».
Сравнение инструментов
Произвольный запрос против живой базы, отладка временных таблиц; требует знания языка запросов
Визуальная сборка текста в конфигураторе; не показывает реальные данные
Регулярные отчёты для пользователей с настройками; требует разработки и прав
Быстрые выборки по объектам без кода; ограничен гибкостью соединений
Как проверить, что результат запроса корректен
Никогда не доверяйте запросу только потому, что он выполнился без ошибок. Проверяйте: количество строк против ожидания, итоговые суммы против штатного отчёта с теми же отборами, отсутствие дублей по ключевым полям, корректность NULL-значений после левых соединений. Для запросов с группировкой полезно выполнить тот же запрос без группировки и убедиться, что детальные строки сходятся с итогами.
Как проверить результат
Совпадает с ожиданием или со штатным отчётом
Строк заметно больше — вероятно размножение соединением
Сходятся с типовым отчётом при тех же отборах
Суммы завышены кратно — дубли в соединении
Каждый шаг пакета содержит ожидаемые данные
Промежуточная таблица пуста — ошибка в отборе шага
Проверка под тем же пользователем, что и в проблеме
Сравнение под администратором — выводы недостоверны
Частые вопросы о консоли запросов 1С
Консоль запросов входит в стандартную поставку 1С?
Нет. Платформа и типовые конфигурации не содержат консоли запросов как штатного инструмента. Её получают отдельно: с диска ИТС, в составе «Инструментов разработчика» или как независимую внешнюю обработку.
Может ли консоль запросов испортить данные в базе?
Сам запрос на выборку данных безопасен — он только читает информацию. Риск появляется в консолях с режимом выполнения произвольного кода: такой код может записывать и удалять объекты в обход бизнес-логики. Перед изменяющими операциями всегда делайте копию базы.
Почему запрос в консоли работает, а в отчёте — нет?
Частые причины: разные значения параметров, разные отборы, выполнение под разными пользователями (влияют права и RLS), а также то, что в отчёте на СКД запрос дополняется настройками и отборами, которых нет в консоли. Сравнивайте при строго одинаковых условиях.
Нужно ли знать программирование, чтобы пользоваться консолью?
Для чтения данных достаточно знания языка запросов 1С — это декларативный язык, похожий на SQL, программированием в полном смысле он не является. Режимы выполнения произвольного кода уже требуют навыков разработки на встроенном языке.
Консоль не открывается в тонком клиенте — что делать?
Скорее всего, это старая обработка, написанная под обычное приложение. Нужна версия консоли на управляемых формах. Также проверьте, не запрещено ли открытие внешних обработок настройками безопасности конфигурации.
Можно ли сохранить написанные запросы?
Да, большинство консолей умеют сохранять список запросов вместе с параметрами в файл и загружать его обратно. Это удобно для повторяющихся проверок и передачи наработок коллегам.
Что важно запомнить
Консоль запросов — внешняя обработка для написания и отладки запросов 1С в режиме «Предприятие». Она не входит в типовую поставку, выполняется с правами текущего пользователя и незаменима для отладки запросов и проверки данных. Начинайте с ограниченных выборок, проверяйте результат против штатных отчётов, а изменяющий код запускайте только после резервной копии.