Имя: Пароль:
1C
1С v8
Программный просмотр временных таблиц в консоли запросов
,
0 breezee
 
24.07.18
06:25
Коллеги, добрый день!
Где-то на мисте видел код по просмотру временных таблиц напрямую в отладке. Можете, пожалуйста, поделиться еще раз? Я потерял этот код
1 Mankubus
 
24.07.18
06:30
(0) для этого у меня в общем модуле есть функция которая выбирает все записи из менеджера временных таблицы по переданному имени таблицы.
В окне вычисления выражения я просто вызываю эту функцию.
Где-то в типовых тоже встречал такое, но не вспомню
2 Redkiy
 
24.07.18
06:31
Запрос.Текст = "ВЫБРАТЬ * ИЗ ВТ"
вычислить Запрос.Выполнить().Выгрузить()
3 VladZ
 
24.07.18
06:33
(0) лови: Запрос.ВыполнитьПакетСПромежуточнымиДанными()
4 VladZ
 
24.07.18
06:33
+3 Работает с версии 8.3.8
5 breezee
 
24.07.18
06:34
(3) Спасибо, но мы еще на 8.2 живем(
6 VladZ
 
24.07.18
06:38
(5) И что вам мешает обновить платформу?
7 breezee
 
24.07.18
06:47
(6) Руководство)
8 VladZ
 
24.07.18
06:50
Ясно. Ищи консоль запросов, которая умеет показывать содержимое временных таблиц.
9 1Сергей
 
24.07.18
06:50
ИР не предлагали ещё?
10 breezee
 
24.07.18
06:54
ДА я видел какую-то строчку кода, где создавалась обработка консоли запросов программно, и в какой-то метод обработки текст запроса передавался и этот метод возвращал временные таблицы, а вспомнить метод не могу
11 VladZ
 
24.07.18
06:55
Точняк! Качай ИР. Там консоль запросов умеет смотреть временные таблицы.
12 Redkiy
 
24.07.18
07:31
(10) чем тебе метод в (2) не устраивает?

1. Ставишь точку останова после выполнения запроса.
2. Шифт + Ф9 (твой запрос)
3. В реквизит "текст" пишешь то, что хочешь вытащить из ВТ
4. В поле выражение пишешь: Запрос.Выполнить().Выгрузить()
5. кн. Расчитать

Все на лету, конфа на замке. И не надо изобретать лисапед.
13 Chameleon1980
 
24.07.18
07:38
обновись и
ВременнаяТаблицаЗапроса.ПолучитьДанные (QueryTempTable.GetData)
ВременнаяТаблицаЗапроса (QueryTempTable)
ПолучитьДанные (GetData)
Синтаксис:

ПолучитьДанные()
Возвращаемое значение:

Тип: РезультатЗапроса.

Описание:

Возвращает содержимое временной таблицы.

Доступность:

Сервер, толстый клиент, внешнее соединение.
14 fgaabbb
 
24.07.18
07:59
http://catalog.mista.ru/public/173803/ 15 сек гугления
15 Радим1987
 
24.07.18
08:08


Функция Отладка(МенеджерВременныхТаблиц,Порядок = "") Экспорт
    
    Если Ложь Тогда
        МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    КонецЕсли;
    
    Структура = новый Структура;
    
    Для каждого Элемент Из МенеджерВременныхТаблиц.Таблицы Цикл       

    
        Запрос = Новый Запрос;
        Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
        Запрос.Текст =
        "ВЫБРАТЬ
        | *
        |ИЗ
        | ВремТаб КАК ВремТаб
        |
        |УПОРЯДОЧИТЬ ПО Порядок";
        
        Запрос.Текст = СтрЗаменить(Запрос.Текст,"ВремТаб",Элемент.ПолноеИмя);
        Если Порядок = "" тогда
            Запрос.Текст = СтрЗаменить(Запрос.Текст,"УПОРЯДОЧИТЬ ПО Порядок","");
        Иначе
            Запрос.Текст = СтрЗаменить(Запрос.Текст,"Порядок",Порядок);
        КонецЕсли;
        
        Структура.Вставить(Элемент.ПолноеИмя,Запрос.Выполнить().Выгрузить());
    
    КонецЦикла;

    Возврат Структура;
    
КонецФункции

16 breezee
 
24.07.18
08:22
(2) Так разве не только последний пакет вернет?
(15) (14) Так тут надо менеджер ВТ подключать. Хотя да, вариант рабочий, спасибо, его использовал
17 Redkiy
 
24.07.18
08:37
(16) Еще раз: в свойство "текст" пишешь руками запрос к данным которые хочешь вытащить.
18 TormozIT
 
гуру
24.07.18
10:41
Вот как это делается через ИР https://www.youtube.com/watch?v=hiw_aYVOvFc
19 Вафель
 
24.07.18
10:42
так на последних вресиях 1с временные можно и через отладчик посмотреть
20 Рэйв
 
24.07.18
11:11
(0)>> код по просмотру временных таблиц напрямую в отладке

Вызываешь прямо в табло из внешней обработки:
ВнешниеОбработки.Создать(<Путь>).ЛукВТ(Запрос, ИмяВременнойТаблицы)


//-------
Функция  ЛукВТ(Запрос, ИмяВременнойТаблицы) Экспорт
    Перем ЗапросТМП, Р;
    //Получаем таблицу из менеджера временных таблиц запроса

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


Оно?
21 Franchiser
 
гуру
24.07.18
11:29
(20) в отладке есть кнопочка для изменения переменных на лету. Меняешь текст запроса : запрос.текст = "выбрать * из вт", далее запрос.выполнить().выгрузить()
22 Fragster
 
гуру
24.07.18
11:30
http://devtool1c.ucoz.ru/index/funkcii_dlja_otladki/0-33

вычисление входящих в запрос временных таблиц - ПолВТ(ЗапросИлиМенеджерВременныхТаблиц, ИмяВременнойТаблицы = "", ДопустимоеЧислоСтрок = 500000)

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


но вот это круче:

    открытие специализированных консолей - От(Объект, НастройкаКомпоновки=, ВнешниеНаборыДанных=)
        варианты использования
            От(Запрос) - открывает запрос в консоли запросов
            От(ПостроительЗапроса) - открывает результирующий запрос построителя запросов в консоли запросов
            От(ПостроительОтчета) - открывает построитель отчета в консоли построителей отчетов, откуда можно открыть результирующий запрос построителя отчета в консоли запросов
            От(СхемаКомпоновки, НастройкаКомпоновки=, ВнешниеНаборыДанных=) - открывает схему компоновки в консоли компоновки данных, откуда можно открыть результирующие (из макета компоновки) запросы в консоли запросов
            От(МакетКомпоновки) - открывает запросы макета компоновки в консоли запросов
        при вызове на сервере выполняется только сохранение копий переданных объектов для отложенной отладки в новый элемент справочника "Объекты для отладки"; вместе с запросам сохраняются и их временные таблицы с ограничением числа строк (по умолчанию 500000), факт урезания таблицы отражается в результате функции

https://youtu.be/QqM8qXGcUVU
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший