Отлавливаем запрос 1С в profiler на MS SQL

18.12.18

Разработка - Запросы

Отлавливать MS SQL запросы пригодится тем, кто делает прямые запросы в базы 1С из других программ.

Чтобы не мучиться с написанием запроса MS SQL к данным 1c. Можно его легко отловить profiler'ом. 

Итак, запускаем profiler

На вкладке Event selection выбираем интересующие нас события RPC:Completed и SQL:BatchCompleted.

Обратите внимание: нужно обязательно поставить галочки DataBaseName, чтобы можно было поставить отбор по этому полю. Иначе будет информация отображаться сразу из всех баз.

Жмем кнопку Column Filters.Делаем отбор по имени базы. 

Также удобно поставить фильтр на продолжительность запроса, чтобы не выводилась всякая мелочь. Для примера выведем запросы, которые длятся  дольше 10 секунд

Остается только найти наш запрос в profiler. Как правило, он самый большой.

запрос profiler профайлер MS SQL

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    126624    685    389    

737

Пропорциональное распределение в запросе с использованием АвтоНомерЗаписи()

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Часто поступают задачи по произвольному распределению общих сумм. После распределения иногда пропадают копейки. Суть решения добавить АвтоНомерЗаписи() в ВТ распределения, и далее используя функции МАКСИМУМ или МИНИМУМ можем положить разницу копеек в первую или последнюю строку знаменателя распределения.

11.04.2024    2358    andrey_sag    10    

29

Для чего используют конструкцию запроса "ГДЕ ЛОЖЬ" в СКД на примере конфигурации 1С:ERP

Запросы СКД Платформа 1С v8.3 Запросы Система компоновки данных 1С:ERP Управление предприятием 2 Бесплатно (free)

В типовых конфигурациях разработчики компании 1С иногда используют в отчетах, построенных на СКД, такую конструкцию, как "ГДЕ ЛОЖЬ". Такая конструкция говорит о том, что данные в запросе не будут получены совсем. Для чего же нужен тогда запрос?

13.02.2024    6082    KawaNoNeko    23    

26

Набор-объект для СКД по тексту или запросу

Запросы СКД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Есть список полей в виде текста, или запрос - закидываем в набор СКД.

1 стартмани

31.01.2024    2179    2    Yashazz    0    

31

Запрос 1С copilot

Инструментарий разработчика Запросы Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Пишем на человеческом языке, что нам надо, и получаем текст запроса на языке 1С. Используются большие языковые модели (LLM GPT) от OpenAI или Яндекс на выбор.

5 стартмани

15.01.2024    6745    32    mkalimulin    29    

53

PrintWizard: поддержка представлений ЗУП в конструкторе

Инструментарий разработчика Запросы Платформа 1С v8.3 Бесплатно (free)

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

14.12.2023    1923    vandalsvq    7    

29

Объектная модель запроса "Схема запроса" 2

Запросы Платформа 1С v8.3 Запросы Конфигурации 1cv8 Бесплатно (free)

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

06.12.2023    5670    user1923546    26    

46

Начните уже использовать хранилище запросов

HighLoad оптимизация Запросы

Очень немногие из тех, кто занимается поддержкой MS SQL, работают с хранилищем запросов. А ведь хранилище запросов – это очень удобный, мощный и, главное, бесплатный инструмент, позволяющий быстро найти и локализовать проблему производительности и потребления ресурсов запросами. В статье расскажем о том, как использовать хранилище запросов в MS SQL и какие плюсы и минусы у него есть.

11.10.2023    16693    skovpin_sa    14    

101
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vitkhv 18.12.18 13:00 Сейчас в теме
А если есть инструкция В ИЕРАРХИИ() в запросе, как ее отлавливать?
5. John_d 5416 19.12.18 10:45 Сейчас в теме
(1) Можно отловить, но сложнее воспользоваться.
Делаем в 1с такой запрос:

На MS SQL разбивается на два запроса.
Создает временную таблицу заполняет ее данными:

Использует временную таблицу в отборе:

уничтожает временную таблицу:
8. vitkhv 24.12.18 09:46 Сейчас в теме
В целом похоже, но 1С, делает столько запросов сколько уровней в справочнике.
А затем да, полученную временную таблицу уже пихает в основной запрос.....
2. ilya2184 62 19.12.18 07:13 Сейчас в теме
Ещё можно попробовать писать
ГДЕ 123=123 и ловить по тексту
(как идея, не проверял)
3. triviumfan 93 19.12.18 07:42 Сейчас в теме
Зачем делать статью, которая уже давно есть и не несёт никакой смысловой нагрузки? Просто так?
4. kuzyara 1914 19.12.18 07:47 Сейчас в теме
...
по мне проще Database ID
db_id.sql - выводит id всех баз:
SEL ECT name, DB_ID (name) 
FR OM master.sys.databases
...
инструмент для удобного анализа планов: https://www.sentryone.com/plan-explorer
Showplan XML Statistics Profile -> ПКМ -> Извлечь данные события...
...
для сложных запросов плана не будет - включить вывод трассировки в файл https://yadi.sk/i/MWVrRfAQcrnxFw
...
чтобы не настраивать каждый раз заново - сохранить шаблон
...
6. timm00 140 21.12.18 18:38 Сейчас в теме
"Обратите внимание: нужно обязательно поставить галочки DataBaseName, чтобы можно было поставить отбор по этому полю." Не вводите людей в заблуждение, при установленной галочке Show all columns отлично работают фильтры, не включенные в отображаемые поля
Merkalov; +1 Ответить
7. DarkUser 21.12.18 18:43 Сейчас в теме
Лучше EE начинать осваивать чем профайлер ковырять.

Кстати, стоило бы дописать как выгружать данные в таблицу, как потом её нормализовать и сортировать.
Оставьте свое сообщение