Имя: Пароль:
1C
 
Использование ВТ в условии запроса без ее описания в таблицах этого запроса
0 bvb
 
11.09.14
10:47
Можно ли использовать ранее созданную временную таблицу в условии основного запроса не описывая ее в данного таблицах ?
Например :

ВЫБРАТЬ
    ПриходСостав.Товар КАК Товар
ПОМЕСТИТЬ ВТ_ПриходСостав
ИЗ
    Документ.ПриходнаяНакладная.Состав КАК ПриходСостав
ГДЕ
    ПриходСостав.Ссылка = &ПриходнаяНакладная
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РасходныеНакладные.Ссылка,
    РасходныеНакладные.Покупатель
ИЗ
    Документ.РасходнаяНакладная КАК РасходныеНакладные,
    ВТ_ПриходСоставТовар КАК ВТ_ПриходСоставТовар
ГДЕ
    РасходныеНакладные.Состав.Товар В (ВТ_ПриходСоставТовар.Товар)

избавиться от конструкции "ВТ_ПриходСоставТовар КАК ВТ_ПриходСоставТовар"  ?
1 ДенисЧ
 
11.09.14
10:48
КАК можно убрать и обращаться напрямую по имени
2 Ёпрст
 
11.09.14
10:50
(0) можно. Используй МенежджерВременныхТаблиц
3 Ёпрст
 
11.09.14
10:52
а ёпт.. не прочитал до конца
4 BuHu
 
11.09.14
10:55
(0)а если

ГДЕ
    РасходныеНакладные.Состав.Товар В (Выбрать ВТ_ПриходСоставТовар.Товар Из ВТ_ПриходСоставТовар КАК ВТ_ПриходСоставТовар  )

?
5 BuHu
 
11.09.14
10:57
+(4) или это при каждой проверке условия будет происходить выборка из ВТ ?
6 Maxus43
 
11.09.14
10:59
ИЗ
    Документ.РасходнаяНакладная КАК РасходныеНакладные,
    ВТ_ПриходСоставТовар КАК ВТ_ПриходСоставТовар

нафиг тут кросс джойн и условие потом? разберитесь в запросе для начала
7 Maxus43
 
11.09.14
11:00
правильно (4), из "ИЗ" надо убрать ВТ
8 Maxus43
 
11.09.14
11:00
Либо Левое соединение, с проверкой на null, либо внутреннее соединени по Товар... короче вариантов 100500
9 Maxus43
 
11.09.14
11:02
Если таблицы здоровые - есть приёмы ускорения, индексирование опять же
10 Maxus43
 
11.09.14
11:04
З.ы. да и ВТ тут по большому счету не нужна, соединяй приходную с расходной сразу
11 bvb
 
11.09.14
11:45
(10) Знаю что не нужна. Интерес чисто академический (вариантиспользование ВТ как ограничителя условий)


Рабочий вариант :
ВЫБРАТЬ
    ПриходСостав.Товар КАК Товар
ПОМЕСТИТЬ ВТ_ПриходСостав
ИЗ
    Документ.ПриходнаяНакладная.Состав КАК ПриходСостав
ГДЕ
    ПриходСостав.Ссылка = &ПриходнаяНакладная
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РасходныеНакладные.Ссылка,
    РасходныеНакладные.Покупатель
ИЗ
    Документ.РасходнаяНакладная КАК РасходныеНакладные
ГДЕ
    РасходныеНакладные.Состав.Товар В
            (ВЫБРАТЬ
                ВТ_ПриходСостав.Товар
            ИЗ
                ВТ_ПриходСостав)
                
Всем большое спасибо за участие
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший