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

01.02.08

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

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

См. также

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

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

12000 руб.

02.09.2020    171599    960    403    

924

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14186    108    46    

107

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    27212    96    48    

137

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

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

22200 руб.

06.10.2023    17231    43    15    

75

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

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

15000 руб.

10.11.2023    11875    45    27    

67

SALE! %

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

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

4800 3840 руб.

14.01.2013    191130    1152    0    

920

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1102    2    0    

5

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

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

5000 руб.

07.02.2018    104105    244    100    

307
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. German 413 26.11.07 10:47 Сейчас в теме
Да давно руки не доходили сделать
2. ssn1978 71 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 7250 03.12.07 08:54 Сейчас в теме
Аналогичная функциональность имеется и в моей консоли http://infostart.ru//projects/1274/ . Но она не мобильна.
8. Ukrandruha 56 03.12.07 09:26 Сейчас в теме
tormozit, я встречал уже у многих свой код, но идея принадлежит мне, по этому и решил выложить у себя в кладезе :)
12. tormozit 7250 09.12.07 03:33 Сейчас в теме
(8) Уж не знаю, кому она принадлежит, но я на родителя идеи не претендую =) Если ты родитель, то молодец. Идея отличная.
33. AlexO 136 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 7250 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 7250 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 7250 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 7250 19.12.07 22:27 Сейчас в теме
(23) Собственно это я и создал ту тему
27. marih 29.10.08 10:20 Сейчас в теме
Снимите уже рейтинг=3 для скачивания, пожа-а-а-луйста!
28. vet7777 596 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 136 29.07.17 13:19 Сейчас в теме
Андрей, у Вас же это доработка одной из первых консолей еще для 8.0 от DmitrO (Никоноров Дмитрий). А здесь, в тексте, ничего не указали, только в самой обработке.
Оставьте свое сообщение