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

21.03.23

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

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

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

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

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

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

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

 

 

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

 

 

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

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

 

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

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

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

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

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

 

 

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

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

 

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

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

 

 

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

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

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

 

 

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

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

 

 

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

 

 

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

 

 

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

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

См. также

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

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

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

10000 руб.

02.09.2020    128198    691    389    

742

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

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

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

11.04.2024    2538    andrey_sag    10    

30

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

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

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

13.02.2024    6205    KawaNoNeko    23    

26

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

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

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

1 стартмани

31.01.2024    2244    2    Yashazz    0    

31

Запрос 1С copilot

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

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

5 стартмани

15.01.2024    6927    32    mkalimulin    31    

53

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

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

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

14.12.2023    1985    vandalsvq    7    

29

Консоль запросов УФ 8.3.2.24.12 (мод от Dr.Zombi)

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

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц. Главное скорость отладки запроса и данных, а красота вторична.

1 стартмани

07.12.2023    3437    52    DrZombi    54    

20

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

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

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

06.12.2023    5741    user1923546    26    

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