В SQL Profiler и технологическом журнале запросы выглядят как SELECT T1._IDRRef FROM dbo._Reference86 - и чтобы понять, какая это таблица 1С, приходится лезть в структуру хранения и сопоставлять руками. Обработка делает это за секунду: вставили SQL-текст - получили тот же запрос в терминах 1С, с именами справочников, документов и полей.
Что делает
- Переводит имена таблиц и полей СУБД в термины 1С:
dbo._Reference86U94;Справочник.Номенклатура,_DescriptionU94;Наименование,_IDRRefU94;Ссылка. - Разбирает
exec sp_executesql: вытаскивает текст запроса и параметры, показывает их отдельным блоком. - Hex-значения (
0x…) превращает в ссылки объектов базы - видно, про какой конкретно документ или элемент справочника был запрос (галка «Ссылки 1С»). - Опционально форматирует SQL через публичный сервис sqlformat.org (галка отключаема, без неё в интернет не ходит).
Принцип безопасности
Обработка работает только с текстом и метаданными текущей базы (платформенный метод получения структуры хранения). К СУБД не подключается, ничего не пишет и не читает из таблиц напрямую. Сопоставление имён - по той базе, в которой обработка открыта.
Зачем это вам
Это ежедневный инструмент при разборе производительности: нашли тяжёлый запрос в профайлере или техножурнале - и сразу видите, какой объект 1С его породил и по какому документу он бил. Из практики оптимизации баз в сотни гигабайт: перевод «SQL-простыни» в термины 1С - первый шаг каждого разбора, и руками он занимает дольше всего.
Совместимость
1С:Предприятие 8.3, управляемые формы, любая конфигурация - имена берутся из структуры хранения текущей базы. MS SQL Server (синтаксис профайлера/техножурнала). Код открыт.
Что в файле
Внешняя обработка .epf. Открыли в своей базе - вставили SQL - нажали «Преобразовать» - читаете запрос на языке 1С.
Похожее в открытом доступе
Ту же основу - перевод имён таблиц и полей СУБД в термины метаданных - умеет обработка КонвертерЗапросовSQL_в_1С из открытого проекта Владимира Крючкова: https://github.com/Polyplastic/1c-parsing-tech-log (файл parsing-tech-log-plugins/bin). Она тоже автономна, и сверх того умеет поиск по метаданным, EXPLAIN для PostgreSQL и сохранение запроса в файл. Отличий здесь два: разбор exec sp_executesql с выносом параметров отдельным блоком и hex-значения 0x… → ссылки на конкретные объекты текущей базы (в том конвертере слова с 0x пропускаются явно). Ссылка добавлена по подсказке SerVer1C в комментариях: плодить одинаковое смысла нет - берите то, что ближе к вашей задаче.
Другие наши инструменты диагностики 1С
Эта обработка отвечает на один вопрос: что за объект конфигурации стоит за именем таблицы в плане запроса. Соседние вопросы закрывают остальные.
Производительность и объём:
- УНИЧТОЖИТЬ в конце пакета - как переписать то, что нашли: временные таблицы в пакетных запросах.
- Чек-ап СУБД под 1С - правильно ли база стоит на сервере: 40+ проверок с вердиктом.
- Карта объёмов базы 1С - из чего состоит база и куда ушли гигабайты.
Код и переезд:
- Анализ кода внешних обработок 1С - что лежит в накопившихся .epf: рейтинг по качеству и техдолг.
- Проверка базы перед миграцией на PostgreSQL - предполётный чек-лист, если базу собираются переносить с MS SQL.
Порядок разбора обычно такой: сначала смотрим, из чего база и как она стоит на сервере, потом спускаемся к конкретному запросу.
Проверено на следующих конфигурациях и релизах:
- Розница, редакция 2.3, релизы 2.2.9.18
Вступайте в нашу телеграмм-группу Инфостарт