Имя: Пароль:
1C
1С v8
Временные таблицы в запросе
0 Kvitok8320
 
13.09.13
13:36
Подскажите пожалуйста, как можно посмотреть в процессе отладки - что попало после выполнения запроса во временную таблицу?
1 Fragster
 
модератор
13.09.13
13:37
используй инструменты разработчика - там есть такая возможность.
http://devtool1c.ucoz.ru/index/funkcii_dlja_otladki/0-33
2 Fragster
 
модератор
13.09.13
13:38
3 Kvitok8320
 
13.09.13
13:39
спасибо
4 Kvitok8320
 
14.09.13
10:52
Подскажите, пожалуйста (не могу взаимосвязь до конца понять): Если во временной таблице такое поле есть (проверил инструментом, который указан выше), а в последующем запросе который к этой временной таблице обращается выдается ошибка "Поле не входит в группу ..." - что это может означать?
Это как то связано со "СГРУППИРОВАТЬ ПО" и если да, то в котором запросе - в том, в котором я получал эту временную таблицу, или в том, в котором я пытаюсь из нее записи получить?
В первом запросе
Группировок никаких не ставил

Запрос02=Новый Запрос;
Запрос02.МенеджерВременныхТаблиц = МВТ;
Запрос02.Текст = "
|выбрать ДатаОтбора КАК Период, ДоговорЗайма
|поместить ВТ_0
|ИЗ регистрсведений.ДЗВспомогательный";
результат02 = запрос02.Выполнить();

Во втором если СГРУППИРОВАТЬ ПО
не устанавливаю - выдает ошибку ВТ_0.Период не входит в группу

запрос2 =  новый запрос;
запрос2.МенеджерВременныхТаблиц = МВТ;
запрос2.Текст = "
|Выбрать
|ВТ_0.Период,
|Максимум(регистрсведений.договорызаймазадолженность.период) как максимум
|Поместить ВТ2
|ИЗ  ВТ_0
|Левое Соединение
|регистрсведений.договорызаймазадолженность
|ПО ВТ_0.Период >= регистрсведений.договорызаймазадолженность.период    
|Сгруппировать по
|ВТ_0.Период";
результат2 = запрос2.Выполнить();
5 Fragster
 
гуру
15.09.13
18:39
предлагаю воспользоваться конструктором запроса, вкладкой "группировка"
6 Kvitok8320
 
16.09.13
09:32
понятно, а как в конструкторе запросов обратиться ко временным таблицам запроса это где прочитать можно? я просто в описании не нашел ...
7 Галахад
 
гуру
16.09.13
09:41
Внизу слева.
8 Kvitok8320
 
16.09.13
09:50
спасибо, понял
9 Kvitok8320
 
16.09.13
10:31
в указанном месте, кроме кнопки, запускающей окно с редактором запроса ничего почему-то не вижу.... про "визуальную работу" со временными таблицами в конструкторе запросов где-то написано? или хотя бы просто про работу со временными таблицами? Заранее извиняюсь за непонятливость ....
10 Полотенчик
 
16.09.13
10:47
11 Kvitok8320
 
16.09.13
10:51
(10) Понял, спасибо!
12 Kvitok8320
 
16.09.13
10:53
а не подскажете (из практики), что лучше использовать для большого массива: несколько запросов с созданием и обращением ко временным таблицам, или вложенные запросы?
13 ЛЮС
 
17.09.13
18:36
(12) Соединение с временными таблицами эффективнее, чем с подзапросами. Так же забываем про индексы.
14 Sammo
 
17.09.13
19:03
(12) Использование временных таблиц пзволят управлять планом запроса. Использование вложенных таблиц приводит к непрогнозируемому плану запроса, что _иногда_ приводит к деградации производительности (иногда очень существенной).
Нюанс - разбухает tempdb (использование временных таблиц критично к тому - где таблицы у tempdb)
15 Kvitok8320
 
19.09.13
11:34
спасибо, учту!
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.