Имя: Пароль:
1C
1С v8
Отладка СКД со сложным запросом
0 Baiji
 
26.09.24
17:18
Приветствие!

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

Есть консоль запросов, которая умеет перехватывать запросы. ( https://github.com/hal9000cc/RequestConsole9000 )

При формировании отчета я могу вытащить НаборДанных в котором сидят:
Текст запроса (реквизит "запрос" - строка)
Параметры запроса (структура)

Но вот именно объекта с типом запрос нет.

Вопросы:
Можно ли из объекта типа "НаборДанных" получить набор данных типа "Запрос"?
Возможно я вообще не правильно действую и есть более легкий путь?
1 Baiji
 
26.09.24
17:18
Заранее спасибо!
2 formista2000
 
26.09.24
17:25
1. Можешь выполнить пакет запросов с промежуточными результатами (временными таблицами) и посмотреть что в них;
2. Можешь сделать это с помощью консоли запросов, которая поддерживает пакетное выполнение запросов, их сейчас несколько гуляет, погугли.
3 Baiji
 
26.09.24
17:34
(2) <B>formista2000</B>, Благодарю.

Тут загвоздка в 20+ параметрах, которые устанавливаются програмно. Там и списки значений есть. Я хочу их тоже перехватить.
4 Baiji
 
26.09.24
17:37
Уточнение:
В НабореДанных, есть реквизит "ЗначенияПараметров" типа "ЗначенияПараметровМакетаКомпоновкиДанных" в котором пусто...
5 Baiji
 
26.09.24
17:40
Зато в "МакетКомпоновки" есть реквизит "ЗначенияПараметров", там все заполнено.

Как из всего этого богатства сварить объект с типом запрос?
Писать для этого свою функцию в общий модуль совсем не хочется...
6 d4rkmesa
 
26.09.24
22:18
(0) Зачем вам объект Запрос уперся?
Если результирующие запросы (например, МакетКомпоновки.НаборыДанных.НаборДанных1.Запрос после компоновки макета), которые можно сбросить в любую консоль запросов и выполнить не дают ответа, можно сохранить настройки СКД и подгрузить в консоль СКД, навроде консоли из ИР от уважаемого Tormozit. Что-то я не помню, чтобы попадались отчеты, которые невозможно отладить, хотя, был один по бюджетированию, ужасный франкенштейн, смысл которого я в итоге так и не постиг полностью.
7 TormozIT
 
26.09.24
22:47
8 Gucci76
 
26.09.24
23:57
(7) Сергей, надо переносить на другую платформу ваши ролики про ИР )))
9 TormozIT
 
27.09.24
08:00
(8) На какую? Их слишком много стало. Кажется, что не все выживут, т.к. просто не нужно столько. Пока еще не видно лидера.
10 DrZombi
 
27.09.24
09:00
(0) Я вот такой поделкой пользуюсь.
https://infostart.ru/1c/tools/1992643/

Есть еще поделка, но оно тяжеловато, но тоже робит.
https://devtool1c.ucoz.ru/
11 DrZombi
 
27.09.24
09:01
(3) Тоже есть такое. И программно можешь устанавливать, и ТЗ генерить в других запросах, своему запросу их подсовывать. :)

(просто копируя)
12 DrZombi
 
27.09.24
09:03
(7) Поддерживаю, рекомендую смотреть в сторону ВК.
По поводу РутуБа, что молва не благосклонна их системы секюрити... Народ жалуется, что ролики долго оценивают, видимо смотрят.
И если откажут, то никак не уведомят :)
13 DrZombi
 
27.09.24
09:09
(9) Точно, много. Яндекс дзен... та еще помойка, похоже там вообще секюрити нет :)
14 Baiji
 
27.09.24
11:41
(6) > (3) Придется пол дня потратить на установку параметров в консоли
(7)(10) Спасибо!
15 Baiji
 
27.09.24
11:45
Написал в общий модель в расширении простейшую процедуру ниже.
Она преобразует наборданных в запрос, в окне "вычесть выражение", который уже нормально хавает "RequestConsole9000". Может кому пригодится...


Функция ПолучитьЗапросИзНабораДанных(СтрЗапрос, ЗначенияПараметров) Экспорт
    
    Запрос = Новый Запрос(СтрЗапрос);
    
    Для каждого Параметр Из ЗначенияПараметров Цикл
        Запрос.УстановитьПараметр(Параметр.Имя, Параметр.Значение);    
    КонецЦикла;
    
    Возврат Запрос;    
    
КонецФункции
16 Gucci76
 
27.09.24
12:20
(9) На любую.
Я все же лелею планы освоить ИР. Крутая вещь, мне кажется там все что нужно разработчику реализовано.
Но... обычно ограничен во времени и делаешь уже привычными инструментами.