Как собрать отладчиком отдельные части запроса в один

21.03.23

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

Подробное описание функционала загрузки данных запроса из отладчика в консоли "Анализатор сложных запросов".

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

Но достаточно часто встречаются ситуации, когда запрос раскидан по разным местам в коде конфигурации. В одном месте выполняется Запрос №1, его таблицы помещаются в менеджер временных таблиц. Где-то в другом месте какой-нибудь Запрос №2 получает эти таблицы, выполняется и помещает свои таблицы в менеджер. А потом Запрос №3 получает все эти таблицы и формирует окончательные данные.

Загружать все эти запросы в консоль по отдельности достаточно неудобно. Во-первых, надо три раза проделать операцию загрузки. Во-вторых, так мы не сможем отладить работу этих запросов как единую операцию. Вдруг мы, например, захотим поменять что-то в первом запросе и посмотреть, как поменяются данные в результирующем запросе.

Для упрощения отладки таких цепочек запросов я создал новый функционал в обработке Анализатор сложных запросов. Рассмотрим, например, как он работает:

1. Открываем обработку

 

 

2. Жмем кнопку "Создать скрипт выгрузки". Получаем форму создания скрипта:

 

 

3. Указываем количество запросов в цепочке. Их должно быть ровно столько, сколько мы собираемся установить точек останова в отладчике

В случае, если переменные разные, ставим галочку "Разные переменные запроса", и в таблице прописываем все переменные:

 

4. В нижнем окошке автоматически сформируется скрипт, который мы будем вставлять в окно отладки. Нам остается только нажать кнопку "Скопировать в буфер и закрыть".

При этом скрипт автоматически скопируется в буфер. И создадутся необходимые временные файлы, которые помогут нам осуществить выгрузку данных запросов.

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

5. После формирования скрипта и временных файлов переходим к коду и расставляем необходимые точки останова.

В рассматриваемом примере их две:

 

 

6. Запускаем необходимую процедуру. В данном примере это проведение документа.

В табло отладки вставляем код, который скопирован в буфер:

 

7. Убеждаемся, что результат его исполнения = Истина на всех точках останова.

Возвращаемся в предприятие, нажимаем на форме кнопку "Загрузить данные запроса":

 

 

8. Все. Данные запросов загружены в консоль! Теперь можно отлаживать его как один запрос.

Тексты запросов собраны в один сводный текст.

Для наглядности места, где кончается один запрос и начинается другой, обозначены разделителями:

 

 

Чтобы параметры запросов не перепутались (возможны параметры с одинаковыми именами в разных запросах), к ним добавлены префиксы с номерами запросов.

В текстах запросов выполнена соответствующая замена имен параметров:

 

 

В случае если цепочка запросов начата не с самого первого запроса, подтягиваются временные таблицы запроса первого в загруженной цепочке:

 

 

И обращаю ваше внимание: чтобы все сработало, у пользователя необходимо снять галочку "Защита ото опасных действий":

 

 

Кого заинтересовали эти возможности, переходите по ссылке и качайте обработку: Анализатор сложных запросов

консоль запрос отладчик

См. также

SALE! %

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

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

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

12000 10000 руб.

02.09.2020    93713    478    380    

532

Нахождение уникальных наборов строк таблицы запросом

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

Решение задачи нахождения уникальных наборов строк таблицы запросом

23.07.2023    4419    tormozit    78    

38

Структура запроса

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

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

1 стартмани

21.06.2023    4299    50    obmailok    35    

53

MS SQL Server: изучаем планы запросов

Запросы HighLoad оптимизация Запросы Бесплатно (free)

Многие знают, что для ускорения работы запроса нужно «изучить план». При этом сам план обычно обескураживает: куча разноцветных иконок и стрелочек; ничего не понятно, но очень интересно! Аналитик производительности Александр Денисов на конференции Infostart Event 2021 Moscow Premiere рассказал, как выполняется план запроса и что нужно сделать, чтобы с его помощью находить проблемы производительности.

20.06.2023    7849    Филин    37    

92

Все консоли запросов для 1С

Запросы Бесплатно (free)

Список всех популярных обработок.

17.03.2023    19620    kuzyara    70    

148

Обработка результатов запроса произвольными вычисляемыми полями. Обзор некоторых новых функций СКД

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

В данной статье вспомним, как обрабатывать результаты запроса в вычисляемых полях СКД, а также сделаем небольшой обзор на новые функции СКД платформы 8.3.20.

07.02.2023    4794    quazare    7    

38

Идентификатор объекта в запросе. Вы этого хотели?

Запросы Механизмы платформы 1С Платформа 1С v8.3 Запросы Бесплатно (free)

В платформе 8.3.22 появилась возможность получать идентификатор в запросе. Лично я ждал этого давно, но по итогу ждал большего. Что не так?

12.01.2023    22773    dsdred    24    

83

Избавиться от скана таблицы в плане запроса

HighLoad оптимизация Запросы Платформа 1С v8.3 Запросы Бесплатно (free)

Для запросов, содержащих "LIKE %СтрокаПоиска%". Справедливо для MS SQL и Postgres.

20.12.2022    3597    vasilev2015    31    

25
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. gucci76 361 28.03.23 11:49 Сейчас в теме
Хорошо бы видео как это работает на примере ЗУП )))))
2. manuel 440 31.03.23 15:02 Сейчас в теме
(1)Я выкладывал видео здесь: Анализатор сложных вопросов. Там правда разобран случай с одной точкой останова. Но здесь все аналогично.
Оставьте свое сообщение