Консоль для отладки запросов в режиме трассировки

01.02.08

Разработка - Инструментарий разработчика

При отладке запросов надоело каждый раз заполнять в консоли текст и параметры запроса, которые уже прописаны в конфигурации.
Лень родила идею ...
Отдельное спасибо fixin!!! Идея как вытащить параметры из объекта "Запрос", принадлежит именно ему!!!

Скачать файлы

Наименование Файл Версия Размер
-
.1196061561 50,38Kb
574
.1196061561 50,38Kb 574 Скачать
Зачем это нужно :
При отладке я вызываю модально форму консоли, вызвав в отладчике Выражение:
ВнешниеОбработки.Создать("E:\1c\Консоль_запросов.epf ").ОткрытьДляОтладки(Запрос)
Туда передаю Объект - Запрос или ПостроительОтчета и заполняю всё необходимое для дальнейшей отладки, что бы не набивать параметры вручную(очень удобно)
В итоге в любом месте отладчика я могу вызвать консоль запросов уже настроенную для работы с запросом. Очень актуально в ЗУП , где движения по регистрам создаются на время выполнения кода.

См. также

SALE! 20%

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

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

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

13000 10400 руб.

02.09.2020    122171    670    389    

714

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 15300 руб.

06.10.2023    7294    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

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

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3541    11    1    

34

SALE! 30%

PowerTools

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

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

3600 2520 руб.

14.01.2013    177753    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

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

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99347    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

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

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18116    6    8    

39

1С HTML Шаблоны / HTML Templates

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

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28110    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23604    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. German 413 26.11.07 10:47 Сейчас в теме
Да давно руки не доходили сделать
2. ssn1978 70 27.11.07 13:49 Сейчас в теме
Спасибо, прикрутил вызов к Пунтосвитчеру, получилось здорава
user1487303; German; +2 Ответить
3. Ukrandruha 56 27.11.07 15:57 Сейчас в теме
ssn1978, что такое пунтосвитчер?
5. Ukrandruha 56 27.11.07 16:28 Сейчас в теме
http://www.punto.ru/ это понятно, но каким местом моя консоль прикрутилась к нему? :)
6. German 413 27.11.07 16:34 Сейчас в теме
Да не каким. писать в отладчике слишклм муторно
ВнешниеОбработки.Создать("E:\1c\Консоль_запросов.epf ").ОткрытьДляОтладки(Запрос)

он поставил автозамену ..
user1487303; +1 Ответить
7. tormozit 7136 03.12.07 08:54 Сейчас в теме
Аналогичная функциональность имеется и в моей консоли http://infostart.ru//projects/1274/ . Но она не мобильна.
8. Ukrandruha 56 03.12.07 09:26 Сейчас в теме
tormozit, я встречал уже у многих свой код, но идея принадлежит мне, по этому и решил выложить у себя в кладезе :)
12. tormozit 7136 09.12.07 03:33 Сейчас в теме
(8) Уж не знаю, кому она принадлежит, но я на родителя идеи не претендую =) Если ты родитель, то молодец. Идея отличная.
33. AlexO 135 29.07.17 13:21 Сейчас в теме
(8)так Fixin'у или Вам принадлежит идея?
9. Ukrandruha 56 03.12.07 09:34 Сейчас в теме
Надеюсь никто не обидется :)
10. German 413 03.12.07 09:39 Сейчас в теме
и в моей будет (если Андрей не возражает).. .. клево мне понравилось .. я добавил еще функционал без открытия => что бы в файл запросов сохранялся запрос и ВСЕ.
11. Ukrandruha 56 03.12.07 09:45 Сейчас в теме
German, не я не против:) для того и выкладываю, я сам не против у кого чего стянуть:)
13. 0tto 18.12.07 16:37 Сейчас в теме
Под 8.1 не хватает временных таблиц... точнее строчки
ОбъектЗапрос.МенеджерВременныхТаблиц = ЗапросОтладки.МенеджерВременныхТаблиц;
в процедуре ВыполнитьЗапрос()

Идея консольки понравилась

14. tormozit 7136 19.12.07 07:35 Сейчас в теме
Еще не хватает сообщений о том, какие параметры не получилось извлечь.
16. German 413 19.12.07 09:38 Сейчас в теме
(14) а какие например может не получится...? я еще не на одном не прокололся
15. Ukrandruha 56 19.12.07 09:33 Сейчас в теме
tormozit, да вроде и так видно в таблице параметров:)
25. tormozit 7136 19.12.07 22:38 Сейчас в теме
(15) Строго говоря не всегда видно. Вот например видишь ты параметр "МойПараметр" и значение у него Неопределено, но это еще не значит, что этот параметр не был извлечен.
Короче в моей консоли я все довел до ума, если интересно посмотри.
17. Ukrandruha 56 19.12.07 10:06 Сейчас в теме
German, например: Вид движения, Список разрезов регистра расчета
18. Ukrandruha 56 19.12.07 10:09 Сейчас в теме
Из объекта - запрос вынуть параметры целая история, если посмотрите код увидите как там пришлось извращаться, что бы вынуть хотя бы то что есть
19. German 413 19.12.07 10:20 Сейчас в теме
>Вид движения
Установите доступный тип для колонки значение таблицы параметров
20. German 413 19.12.07 10:21 Сейчас в теме
чуть переписал
Код
Если  ТипЗнч(ЗапросОтладки) =Тип("ПостроительОтчета") Тогда
            ЗапросОтладки = ЗапросОтладки.ПолучитьЗапрос();
         КонецЕсли;      
         //сохраняем текст запроса .. потом будем использовать 
         НоваяСтрока = ДеревоЗапросов.Строки.Добавить();
         НоваяСтрока.Запрос = ?(Лев(ЗаголовокЗапросаОтладки,1)="$",ЗаголовокЗапросаОтладки,"$"+ЗаголовокЗапросаОтладки);
         НоваяСтрока.ТекстЗапроса=Строка(ЗапросОтладки.Текст);
         НоваяСтрока.ТекстЗапросаSQL = "";
         НоваяСтрока.Язык= "";
         //определим параметры
         ПараметрыЗапроса = ЗапросОтладки.НайтиПараметры();
         НоваяСтрока.ПараметрыЗапроса=мФормаПараметров.Параметры.Скопировать();
         Для каждого ПараметрЗапроса Из ПараметрыЗапроса Цикл
            ИмяПараметра =  ПараметрЗапроса.Имя;
            СтрокаПараметров = НоваяСтрока.ПараметрыЗапроса.Добавить();
            СтрокаПараметров.ИмяПараметра = ИмяПараметра;
            //получаем значение параметра
            Попытка
               //изменим текст запроса и получим установлнные там параметры
               ЗапросОтладки.Текст = "Выбрать &"+ИмяПараметра;
               Выборка = ЗапросОтладки.Выполнить().Выбрать();
               Если Выборка.Следующий() Тогда
                  СтрокаПараметров.ЗначениеПараметра = Выборка[ИмяПараметра];
               КонецЕсли;   
            Исключение
               //Возможно это список параметров  ссылок
               Для каждого ТипПараметра Из ПараметрЗапроса.ТипЗначения.Типы() Цикл
                  Попытка
                     ИмяОбъекта = Метаданные.НайтиПоТипу(ТипПараметра).ПолноеИмя();
                     ЗапросОтладки.Текст = "Выбрать Ссылка Из "+ИмяОбъекта+" ГДЕ Ссылка В(&"+ ИмяПараметра+")";
                     РезультатЗапроса = ЗапросОтладки.Выполнить().Выгрузить();
                     Список=Новый СписокЗначений();
                     Список.ЗагрузитьЗначения(РезультатЗапроса.ВыгрузитьКолонку("Ссылка"));
                     СтрокаПараметров.ЗначениеПараметра = Список;
                  Исключение
                  КонецПопытки; 
               КонецЦикла;                                
            КонецПопытки;
         КонецЦикла;
         //восстановим текст запросачтобы можно было в дальнейшим продолжить отладку без проблемм
         ЗапросОтладки.Текст=НоваяСтрока.ТекстЗапроса;
Показать полностью
26. tormozit 7136 20.12.07 08:15 Сейчас в теме
(20) У меня надо сначала открыть построитель в консоли построителей, а потом уже из нее исполняемый запрос можно открыть в консоли запросов.
21. Ukrandruha 56 19.12.07 10:50 Сейчас в теме
German, ничего нового не нашел:)
22. Ukrandruha 56 19.12.07 10:56 Сейчас в теме
В общем как ни крути вынуть из параметра список из строковых значений нельзя :(
23. Ukrandruha 56 19.12.07 12:02 Сейчас в теме
Сейчас на конференции "1С:Предприятие 8" просят разработчиков добавить доступ к коллекции параметров, если сделают, тема параметров будет закрыта:)
24. tormozit 7136 19.12.07 22:27 Сейчас в теме
(23) Собственно это я и создал ту тему
27. marih 29.10.08 10:20 Сейчас в теме
Снимите уже рейтинг=3 для скачивания, пожа-а-а-луйста!
28. vet7777 591 14.01.09 14:30 Сейчас в теме
варианты решения проблемы, если параметр типа ВидДвиженияНакопления
- использовать первый попавшийся регистр накопления
- руками прописать имя существующего непустого регистра накопления остатков
- попробовать поискать и извлечь из текста запроса имя регистра накопления
вот пример по первому варианту:
Если ПараметрЗапроса.ТипЗначения = Новый ОписаниеТипов("ВидДвиженияНакопления") Тогда
Попытка
РегНак = Метаданные.РегистрыНакопления[0].Имя;
ЗапросОтладки.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 ВидДвижения ИЗ РегистрНакопления."+РегНак+"ГДЕ ВидДвижения=&"+ИмяПараметра;
РЗ = ЗапросОтладки.Выполнить().Выгрузить();
СтрокаПараметров.ЗначениеПараметра = РЗ[0]["ВидДвижения"];
Продолжить;
Исключение
КонецПопытки;
КонецЕсли;
29. пользователь 08.04.09 21:38
Сообщение было скрыто модератором.
...
30. baza1978 27.09.11 13:25 Сейчас в теме
31. bitrostov 08.02.12 16:54 Сейчас в теме
Спасибо, полезная вещь!
32. AlexO 135 29.07.17 13:19 Сейчас в теме
Андрей, у Вас же это доработка одной из первых консолей еще для 8.0 от DmitrO (Никоноров Дмитрий). А здесь, в тексте, ничего не указали, только в самой обработке.
Оставьте свое сообщение