Просмотр временных таблиц запроса в отладчике без изменения кода

24.04.18

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

Данный способ можно использовать для просмотра содержимого временных таблиц запросов (менеджеров временных таблиц) без внесения изменений в код.

После выполнения запроса с созданием временной таблицы ставим точку останова и открываем для просмотра объект Запрос (Shift+F9).

Меняем Текст запроса на "Выбрать * ИЗ {НазваниеВременнойТаблицы}", где {НазваниеВременнойТаблицы} - это имя временной таблицы, которую необходимо просмотреть (в моём случае это ВТСотрудникиДляПечатиТрудовыхДоговоров). 

Далее в диалоговом окне "Выражение" пишем "Запрос.Выполнить().Выгрузить()" (без кавычек) и жмем Рассчитать - получаем таблицу значений с данными временной таблицы.

Для просмотра содержимого таблицы значений нужно выделить саму таблицу и нажать F2.

Вот и всё! Надеюсь, кому-нибудь пригодится:)

временные таблицы запрос

См. также

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

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

12000 руб.

02.09.2020    169272    937    403    

905

Запросы Программист Бесплатно (free)

Увидел cheatsheet по SQL и захотелось нарисовать подобное, но про запросы.

18.10.2024    11393    sergey279    18    

65

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

Столкнулся с интересной ситуацией, которую хотел бы разобрать, ввиду её неочевидности. Речь пойдёт про использование функции запроса АВТОНОМЕРЗАПИСИ() и проблемы, которые могут возникнуть.

11.10.2024    6338    XilDen    36    

83

Запросы Программист Запросы Бесплатно (free)

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

16.08.2024    9068    user1840182    5    

28

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

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

08.07.2024    2727    ivanov660    9    

22

Запросы СКД Программист Стажер Система компоновки данных Россия Бесплатно (free)

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

15.05.2024    10219    implecs_team    6    

48

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

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

11.04.2024    3623    andrey_sag    10    

38
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. taiimer 11 24.04.18 11:51 Сейчас в теме
Спасибо, очень полезная тема, часто приходилось изворачиваться и придумывать велосипед!
user1835472; +1 Ответить
11. пользователь 25.04.18 08:26
Сообщение было скрыто модератором.
...
15. пользователь 26.04.18 03:59
Сообщение было скрыто модератором.
...
16. пользователь 27.04.18 03:52
Сообщение было скрыто модератором.
...
17. пользователь 28.04.18 05:25
Сообщение было скрыто модератором.
...
2. Pixar0000 24.04.18 11:55 Сейчас в теме
Вообще-то для этого есть Консоль запросов в которой отлаживаешь запрос как хочешь, а потом переносиш в код
19. Craig 275 29.04.18 03:28 Сейчас в теме
(2) Ну- Ну, попробуй в ЗУПе консоль запроса использовать, когда тысяча и одна временная таблица формируют промежуточный итог, а тебе нужно посмотреть, только этот маленький промежуточный итог.
dmitryada; sound; dill; de0nis; silly; pvl_mksv; user991739; Ingraf; unknown181538; atom_1C; 1c_ssnik; AleksAaron; xantif_2000; cleaner_it; Ktyfa; user712426; AloneWolf; user1485342; 13KrAs; ZOMI; eLeMeNtaLe; 24rus; user1092594; nnnnnndfge; TigerAdmin; user717534; user1027191; yuri_an; user721122; maxst22; doda666; TeMochkiN; Алексей Воробьев; petenko; user693240_abramovskaya; rabid_otter; user1170869; nata008; collider; armeec; ilyaleontyev; Chai Nic; chembulatov76; Wersia; Ulfhedhinn; Lacrimosa0000; user1058210; wowik; Anthon; +49 Ответить
38. user1270109 20.03.23 08:06 Сейчас в теме
(2) и как его отладить в консоле если в запрос передается ТЗ с кучей колонок?
3. dandykry 12 24.04.18 12:02 Сейчас в теме
Запрос.МенеджерВременныхТаблиц.Таблицы[Индекс].ПолучитьДанные().Выгрузить()

Где индекс это порядковый номер временной таблицы
user2107421; user611669_Alex_33_93; simgo83; user976457; sound; 1c_help_aoeks; SkAt91; Alexoniq; Hogyoku; Flextor74; aupovy; olsy; de0nis; firma_unix; user807393; DoctorRoot; hellbe; wild83; fortran; vx_gas; krlexa; RIS2020; StasZn; ДимонД; user1954423; saver77; muzzombie; asae; BuhBuhov; str_anton; Nikitos_NSK; VKuser330779760; fixin; greenlist; titanium2008; freeek; Alister; user1238589; Legavaz; Mechanik21; AndreySchel; kabantus; Salinarius; kondrat230386; likeabus; Jokemas; savant; ValeraEm; silly; О.Ж; InJey; RomanIvanov; user1486489; MaiorovYury; vvh74; zabaluev; pvl_mksv; mikl79; Vary; Ingraf; ALagutin; avalakh; thang_madi; COMPER; Nucleus; prog1c_vl; trv2001; mi13; Zevzm; Exor; native-api; user1188801; user1270109; AleksAaron; xantif_2000; amiralnar; veslav; rrustam11983; hamec; Serg2000mr; ahtyamovar; Aks_Legendary; user1300191; stupidgamer; user652198_orlov.anton.88; SAGerasimov; cleaner_it; LomayaZakat; mongiilol; ybatiaev; viktor_and_ko; pavlov_a; imbaZeratul; nekit_rdx; 1c_ssnik; Ankare; prickly; talib; ашот; user1667741; awp234; EgorSP; Invodev; One_Assembler; graphbuh; yohan19; ilnazio; Yurushev; rusha77; user712426; Ktyfa; wuff; i132; OksanaM; a_a_burlakov; natal_tihom; user1496703; aegoncharov; officeRebot; pilotfitz; user820492; Romario_; user1485342; AskezaMax; nnnnnndfge; _1c_coder; jun-ko; user1593228; ErshKUS; eLeMeNtaLe; Andrei_Ivanov; surr; mpvrus21; Antonov.AV; igor_L; user602678_maxipunchik; 24rus; vshish; shtinalex; TigerAdmin; user717534; NO_FEAR; SometimesItDoesWork; Roman_Go; pro100; mos_apit; lolozhiga; Tash.B; user721122; jafariuse; Zwek; zoikins; JohnConnor; shapoval; adhocprog; doda666; FatPanzer; TeMochkiN; abkam; Jeka44; Nefrit88; rabid_otter; SirStefan; Dizel; Лис Р; Andy_NTG; Kazaams; fokses; CratosX; user_2010; VooDOOPRo; user1145086; vyak13; KolBbl4; DrinkMaster; armeec; Matveev_VS; stepani4; eeeio; CepeLLlka; link_l; ResetAtreides; Batman; Dima_; Dimeron; vita8383; chembulatov76; Wersia; Ulfhedhinn; Darlok; kuzyara; korppinen; monopolij; user811769; dablack; fvr2000; EVKash; Painted; cdromscsi; wowik; Sevt_RND; m_aster; MarinaLed; Wilka; TaTaPuH-Magic; asoft-is; APTEM_SLV; FarhadIlyazov; BruSeV; Meson; bforce; ProgrammistC; manlak; suepifanov; mike1970; Danila-Master; veretennikoff; gucci76; tulakin_s; Brawler; PetrPan; Ziggurat; abadonna83; kuntashov; zarankony; Artem-B; artfa; vvr908; PVG_73; antz; stoptime; DmitrySinichnikov; AlexGroovy; LeXXuS_ju; andron77777; elvira17; fxmike; rpgshnik; HAMMER_59; rusmil; madonov; SerVer1C; Shaldryn; kiruha; vladismi; Art1387; A_Max; user705522_constantin_h; CyberCerber; +249 Ответить
5. vladismi 168 24.04.18 16:54 Сейчас в теме
(3) Как вариант:

Запрос.МенеджерВременныхТаблиц.Таблицы.Найти(<Имя временной таблицы>).ПолучитьДанные().Выгрузить()

Индекс временной таблицы может меняться, а вот имя никогда...
sound; Alexoniq; Никулин Леонид; Andrekaa; krlexa; RIS2020; asae; Jokemas; RomanIvanov; pvl_mksv; Vary; rrustam11983; thang_madi; Exor; native-api; AleksAaron; ahtyamovar; Aks_Legendary; SagittariusA; cleaner_it; bugtester; mongiilol; ybatiaev; TaTaPuH-Magic; Batman; nekit_rdx; poyson; EvgenMokrousov; фокусник; Invodev; graphbuh; rusha77; user712426; alul; aegoncharov; user1485342; 13KrAs; Alister; Andrei_Ivanov; mpvrus21; realEvgenius; A1ex_2; TigerAdmin; consplus_pavlov; yuri_an; tormozit; shalupov61; Tash.B; user721122; AnddnA; maxst22; mikl79; shapoval; adhocprog; FatPanzer; rabid_otter; bohdan-k; hcooh; CratosX; Alien_RS_Forever; schslava; elizarovs; tiro; armeec; Aspire1C; stepani4; eeeio; Wersia; Painted; wowik; user705522_constantin_h; romankoav; spezc; manlak; mike1970; Danila-Master; brr; tulakin_s; abadonna83; fxmike; kiruha; +81 Ответить
10. dandykry 12 25.04.18 08:24 Сейчас в теме
(5) Как угодно, все зависит от ситуации. Мне проще посмотреть Запрос.МенеджерВременныхТаблиц.Таблицы и посмотреть индекс. Это удобство.

ВыполнитьПакетСПромежуточнымиДанными() - когда хочется посмотреть все таблицы и проанализировать. Все находится перед глазами. Особенно хорошо, когда временных таблиц не много, иначе все равно приходится копаться в них. В таком случае в табло отладки интересующие таблицы удобнее вставить.

Запрос.МенеджерВременныхТаблиц.Таблицы.Найти(<Имя временной таблицы>).ПолучитьДанные().Выгрузить() - когда видишь текст запроса, видишь имя таблицы, а индекс понять сложно.

Своя функция в общем модуле или метод автора - Если 8.2 и ранние 8.3, то метод автора или своя процедура в общем модуле. С появлением расширений в 8.3.6 можно обойтись экспортной функцией в обработке.

Хорошо знать инструменты и использовать их в нужный момент.
P.S. Лично я не догадывался, что можно хитрить с текстом запроса. Буду использовать в других случаях.
sound; Yan_Malyakov; Altermedica; slige; freeek; user1835100; AndreySchel; user2028303; user726666; Jokemas; cleaner_it; simuljakr; RomanIvanov; Mizhgan42; Exor; chng; native-api; 1c_ssnik; Santa1; mpvrus21; bocharovki; QbeeQ; ybatiaev; user717534; One_Assembler; user712426; Kreitr; buddha667; wuff; Kostik_; _Ramzes; bondaleksey; 24rus; TigerAdmin; user711584_y475; Ponommax; shalupov61; ibataltsev; Andy_NTG; Designer1C; vyak13; RodinMax; tiro; Nucleus; &rew; BruSeV; molodoi1sneg; +47 Ответить
33. Kindman1980 81 06.10.20 22:58 Сейчас в теме
(10)
(5) Как угодно, все зависит от ситуации. Мне проще посмотреть Запрос.МенеджерВременныхТаблиц.Таблицы и посмотреть индекс. Это удобство.

ВыполнитьПакетСПромежуточнымиДанными() - когда хочется посмотреть все таблицы и проанализировать. Все находится перед глазами. Особенно хорошо, когда временных таблиц не много, иначе все равно приходится копаться в них. В таком случае в табло отладки интересующие таблицы удобнее вставить.

Запрос.МенеджерВременныхТаблиц.Таблицы.Найти().ПолучитьДанные().Выгрузить() - когда видишь текст запроса, видишь имя таблицы, а индекс понять сложно.

Своя функция в общем модуле или метод автора - Если 8.2 и ранние 8.3, то метод автора или своя процедура в общем модуле. С появлением расширений в 8.3.6 можно обойтись экспортной функцией в обработке.

Хорошо знать инструменты и использовать их в нужный момент.
P.S. Лично я не догадывался, что можно хитрить с текстом запроса. Буду использовать в других случаях.


Только сейса понял если у вас Запрос.МенеджерВременныхТаблиц = неопределено, тогда вам подойдет только ВыполнитьПакетСПромежуточнымиДанными() . Законспектировал
user991739; lev6975; Kostik_; webester; +4 Ответить
37. poyson 29.06.22 12:09 Сейчас в теме
6. balanton 314 24.04.18 17:39 Сейчас в теме
(3)
Таблицы[Индекс]

можно и не Индекс, а имя таблицы
redtram; Mikeware; bohdan-k; tiro; +4 Ответить
9. HAMMER_59 254 25.04.18 07:00 Сейчас в теме
Комментарии лучше чем сама статья.
На текущий вариант при отладке пользуюсь вариантом предложенным (3), получаю результаты через менеджер временных таблиц, но без изменения текста запрос не всегда получается обойтись, т.к. некоторые временные таблицы уничтожаются.
Непонятно как поступает метод ВыполнитьПакетСПромежуточнымиДанными() предложенный (4), возможно, выгружает все таблицы, тогда такой вариант это то что нужно.
bugtester; user712426; sstas007; Roman_Go; shalupov61; Yan_Malyakov; EVKash; Brawler; +8 Ответить
20. dmitryburykin 8 18.10.18 16:49 Сейчас в теме
(3) Спокойно отрабатывает и по имени таблицы, не только по индексу
Запрос.МенеджерВременныхТаблиц.Таблицы["НалоговаяБазаПоНалогуНаИмущество"].ПолучитьДанные().Выгрузить()
redtram; IncomeGroup; thang_madi; native-api; ybatiaev; +5 Ответить
21. dandykry 12 18.10.18 17:25 Сейчас в теме
(20) Пол года почти уже прошло))

Как угодно, все зависит от ситуации. Мне проще посмотреть Запрос.МенеджерВременныхТаблиц.Таблицы и посмотреть индекс. Это удобство.


Хорошо знать инструменты и использовать их в нужный момент.
22. dmitryburykin 8 18.10.18 23:36 Сейчас в теме
(21) для меня была тема актуальна, сегодня.
может еще кому-то пригодится.
27. Matveev_VS 166 30.01.20 17:41 Сейчас в теме
4. CyberCerber 876 24.04.18 12:12 Сейчас в теме
А еще можно, нажав Shift+F9, обратиться к переменной Запрос, и вызвать ее метод "ВыполнитьПакетСПромежуточнымиДанными()". Там будет массив результатов со всеми временными таблицами.
user1779799; ybatiaev; user712426; kimskiysanya; TigerAdmin; doda666; Kindman1980; VooDOOPRo; tiro; eeeio; chembulatov76; Wersia; EVKash; wowik; st4rk; spezc; ixijixi; Огонек; PVG_73; fxmike; vl_vedernikov; frkbvfnjh; unichkin; TSSV; kiruha; Dream_kz; Art1387; user774630; A_Max; корум; Ponommax; user705522_constantin_h; Ivan_Sol; kudlach; dandykry; +35 Ответить
8. frkbvfnjh 808 25.04.18 05:37 Сейчас в теме
(4) Это самый лаконичный и правильный вариант на мой взгляд для новых версий платформы, но вариант автора как я понял будет работать даже в 8.1.
13. DmitrySinichnikov 295 25.04.18 10:31 Сейчас в теме
(8) Ну давайте еще под 7х будем варианты всякие писать)))
35. mikl79 120 18.11.20 15:47 Сейчас в теме
(4)
ВыполнитьПакетСПромежуточнымиДанными()
, да массив получается, но он содержит 1-у строку с результатом запроса - там нет никаких временных таблиц
а вот этот вариант работает хорошо: Запрос.МенеджерВременныхТаблиц.Таблицы["ИМЯТАБЛИЦЫ"].ПолучитьДанные().Выгрузить()

проще чем автор описывает, хотя метод автора тоже работает
user1835472; аколит; graphbuh; terver; +4 Ответить
7. unichkin 1583 24.04.18 19:21 Сейчас в теме
Давным давно еще был прием, когда в общем модуле есть отладочная функция, типа такой:
Функция ПросмотрВТ(Запрос, ИмяВременнойТаблицы) Экспорт

 ЗапросТМП = Новый Запрос("ВЫБРАТЬ * ИЗ " + ИмяВременнойТаблицы);
 ЗапросТМП.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
 Возврат ЗапросТМП.Выполнить().Выгрузить();

КонецФункции
Показать


Но на самом деле и это - фигня.. После того как я узнал про отложенную отладку в ИР, все это ни к чему.
CratosX; Manticor; brr; zqzq; CSiER; PetrPan; tormozit; v_id; bashinsky; +9 Ответить
12. пользователь 25.04.18 08:27
Сообщение было скрыто модератором.
...
14. Dzenn 899 25.04.18 16:26 Сейчас в теме
Спасибо, пригодится :-)
18. ixijixi 1975 28.04.18 12:12 Сейчас в теме
В 8.3 можно расширение с общим модулем прикрутить для просмотра ВТ, ну и вызывать по SHIFT+F9 расчет
Отладка.ПолучитьВТ(Запрос)
23. cdromscsi 21.03.19 13:46 Сейчас в теме
24. svetanik 5 07.08.19 02:50 Сейчас в теме
Спасибо автору за тему и вариант. Также пригодились комментарии. В УПП 1.3 на 8.2, боюсь, отложенная отладка не существует.
25. sokol_5441 143 10.12.19 12:41 Сейчас в теме
Запрос.МенеджерВременныхТаблиц.Таблицы[2].ПолучитьДанные().Выгрузить()
thang_madi; chinkovs; talib; graphbuh; +4 Ответить
26. stepani4 11.01.20 19:14 Сейчас в теме
тема и комментарии пригодились, причем тема больше.
TigerAdmin; +1 Ответить
28. vkozak 05.02.20 15:59 Сейчас в теме
Спасибо, полезная тема, дельные комментарии.
29. Kindman1980 81 10.02.20 10:31 Сейчас в теме
Привет! Записал видео на вашу публикацию. https://youtu.be/QhGlswJl27E
user591389_aska_rabota; zyama; ivorotnikov; Andy_NTG; +4 Ответить
30. p.ugrumov 178 14.02.20 15:13 Сейчас в теме
Огромное спасибо за: Запрос.МенеджерВременныхТаблиц.Таблицы["ИМЯТАБЛИЦЫ"].ПолучитьДанные().Выгрузить()
А то отладка ЗУП замучала
31. EKutuzov 05.04.20 15:17 Сейчас в теме
32. Pashintsev90 06.06.20 11:51 Сейчас в теме
Блин, а я в свое время для ЗУП, запихал все временные запросы в один общий запрос и через обработку консоль заданий выполнил этот огромный склеенный запрос по шагам, чтобы найти ошибку в заполнении...Наверное было бы проще выгружать данные временных таблиц в отладку и смотреть результат. Спасибо за комментарии и статью
34. daa147 6 13.11.20 06:11 Сейчас в теме
Спасибо большое. Очень удобно
36. user686924_shipikVV 25.03.22 11:49 Сейчас в теме
В УТ есть такое. И в каждой конфигурации подобное. Намного удобнее.

ОбщегоНазначенияУТ.ПоказатьВременнуюТаблицу(Запрос, "ТаблицаСводная")
sr5; unknown181538; AndreySchel; chinkovs; lev6975; SagittariusA; user1605577; graphbuh; papche; +9 Ответить
39. lev6975 21.03.23 16:32 Сейчас в теме
(36) Да, кстати... Индексы ленива считать просче по уникальному названию
42. BuhBuhov 29.03.24 16:40 Сейчас в теме
(39) Зачем их считать? Переносите в табло МенеджерВременныхТаблиц.Таблицы и нажимаете F2. Видите имена всех таблиц и их индексы.
40. user859753 26.02.24 12:20 Сейчас в теме
41. 4esz 15.03.24 06:45 Сейчас в теме
Спасибо!!! Это очень помогло!!! Запрос.МенеджерВременныхТаблиц.Таблицы["ТаблицаСчетов"].ПолучитьДанные().Выгрузить()
bolegb17; +1 Ответить
Оставьте свое сообщение