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

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С.

15500 руб.

02.09.2020    177613    986    403    

943

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

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

8400 руб.

20.08.2024    19124    127    70    

131

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

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

15000 руб.

10.11.2023    12793    53    33    

72

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

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

22200 руб.

06.10.2023    18754    49    19    

82

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

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

9360 руб.

17.05.2024    28914    100    48    

146

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18613    7    32    

43

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

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

3600 руб.

27.12.2024    1713    2    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 7267 03.12.07 08:54 Сейчас в теме
Аналогичная функциональность имеется и в моей консоли http://infostart.ru//projects/1274/ . Но она не мобильна.
8. Ukrandruha 56 03.12.07 09:26 Сейчас в теме
tormozit, я встречал уже у многих свой код, но идея принадлежит мне, по этому и решил выложить у себя в кладезе :)
12. tormozit 7267 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 7267 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 7267 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 7267 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 7267 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 (Никоноров Дмитрий). А здесь, в тексте, ничего не указали, только в самой обработке.
Оставьте свое сообщение