|
запрос выбор из временной таблице по условию - в(выбрать) | ☑ | ||
---|---|---|---|---|
0
prtx
18.09.18
✎
16:52
|
товарищи. мой котелок сейчас взорвется. подскажите в чем проблема, чего я не знаю о запросах.
первый запрос не работает, а второй работает, с фигали такое происходит? это дело принципа выяснить сие чудо. запрос 1 --- ВЫБРАТЬ Склады.Ссылка КАК Ссылка ПОМЕСТИТЬ Склады ИЗ Справочник.Склады КАК Склады ГДЕ Склады.Ссылка В(&Склады) ИНДЕКСИРОВАТЬ ПО Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыНаПеремещение.СкладОтправитель КАК СкладОтправитель, ТоварыНаПеремещение.СкладПолучатель КАК СкладПолучатель, ТоварыНаПеремещение.Характеристика КАК Характеристика, ТоварыНаПеремещение.Количество ИЗ &ТоварыНаПеремещение КАК ТоварыНаПеремещение ГДЕ ТоварыНаПеремещение.Номенклатура = &Номенклатура И ТоварыНаПеремещение.СкладОтправитель В (ВЫБРАТЬ Склады.Ссылка ИЗ Склады КАК Склады) И ТоварыНаПеремещение.СкладПолучатель В (ВЫБРАТЬ Склады.Ссылка ИЗ Склады КАК Склады) запрос 2 --- ВЫБРАТЬ Склады.Ссылка КАК Ссылка ПОМЕСТИТЬ Склады ИЗ Справочник.Склады КАК Склады ГДЕ Склады.Ссылка В(&Склады) ИНДЕКСИРОВАТЬ ПО Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыНаПеремещение.СкладОтправитель КАК СкладОтправитель, ТоварыНаПеремещение.СкладПолучатель КАК СкладПолучатель, ТоварыНаПеремещение.Характеристика КАК Характеристика, ТоварыНаПеремещение.Количество ИЗ &ТоварыНаПеремещение КАК ТоварыНаПеремещение ГДЕ ТоварыНаПеремещение.Номенклатура = &Номенклатура И ТоварыНаПеремещение.СкладОтправитель В(&Склады) И ТоварыНаПеремещение.СкладПолучатель В(&Склады) вот вы мне объясните какого черта из в запросе1 из второй таблицы выбирается кукиш, а в запросе2 из второй таблицы выбираются нужные записи? у меня уже лыжи вообще не едут... всем спасибо. |
|||
1
prtx
18.09.18
✎
16:53
|
и ненужно мне писать, что во втором запросе не нужна первая часть, я и сам знаю, это для наглядности.
|
|||
2
prtx
18.09.18
✎
16:58
|
(0) если этот метод -
(ВЫБРАТЬ Склады.Ссылка ИЗ Склады КАК Склады) применять допустим при выборе остатков из регистра, то все отрабатывает, а если этот же метод применять к выборке из таблицы которая передается параметром, то все накрывается медным тазом. |
|||
3
AllJoke
18.09.18
✎
17:07
|
Таблицу параметром - во временную, а потом условие накладывать.
Типа... ВЫБРАТЬ ТоварыНаПеремещение.СкладОтправитель КАК СкладОтправитель, ТоварыНаПеремещение.СкладПолучатель КАК СкладПолучатель, ТоварыНаПеремещение.Характеристика КАК Характеристика, ТоварыНаПеремещение.Количество поместить ВТ_ТоварыПеремещение ИЗ &ТоварыНаПеремещение КАК ТоварыНаПеремещение; ///// Выбрать ... ИЗ ВТ_ТоварыПеремещение Где .... |
|||
4
AllJoke
18.09.18
✎
17:15
|
ВЫБРАТЬ
Склады.Ссылка КАК Ссылка ПОМЕСТИТЬ Склады ИЗ Справочник.Склады КАК Склады ГДЕ Склады.Ссылка В(&Склады) ИНДЕКСИРОВАТЬ ПО Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПеремещениеТоваровТовары.Ссылка КАК Ссылка, ПеремещениеТоваровТовары.Номенклатура КАК Номенклатура, ПеремещениеТоваровТовары.Количество КАК Количество, ПеремещениеТоваровТовары.Ссылка.СкладОтправитель КАК СкладОтправитель, ПеремещениеТоваровТовары.Ссылка.СкладПолучатель КАК СкладПолучатель ИЗ Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары ГДЕ ПеремещениеТоваровТовары.Ссылка = &Ссылка И ПеремещениеТоваровТовары.Ссылка.СкладОтправитель В (ВЫБРАТЬ Склады.Ссылка ИЗ Склады КАК Склады) И ПеремещениеТоваровТовары.Ссылка.СкладОтправитель В (ВЫБРАТЬ Склады.Ссылка ИЗ Склады КАК Склады) И ПеремещениеТоваровТовары.Номенклатура = &Номенклатура вот это работает. Правда тут условие на ссылку. |
|||
5
prtx
18.09.18
✎
17:19
|
в этой части
ПеремещениеТоваровТовары.Ссылка.СкладОтправитель передается типа ссылка на документ или т.п. правильно? |
|||
6
prtx
18.09.18
✎
17:21
|
(3) это выявлено методом "проб и ошибок" или есть документация? это я к тому - в моей ситуации не работает только условие типа - в(выбрать), а условие типа - ТоварыНаПеремещение.Номенклатура = &Номенклатура, нормально отрабатывает?
|
|||
7
prtx
18.09.18
✎
17:21
|
(6) в таких случаях
|
|||
8
AllJoke
18.09.18
✎
17:21
|
(5) - ПеремещениеТоваровТовары.Ссылка = &Ссылка
|
|||
9
AllJoke
18.09.18
✎
17:22
|
(6) - ТоварыНаПеремещение.Номенклатура = &Номенклатура, нормально отрабатывает? - Да.
|
|||
10
AllJoke
18.09.18
✎
17:25
|
Моё предположение, когда берем поле из Таблицы, как параметр, запрос её не может привести к типу "Справочник.Склад", и поэтому в "запрос1" условие "выбрать СкладОтпр в......" не отрабатывает.
А в "запрос2" ты явно указываешь тип поля. Но это просто предположение. Повторюсь, попробовать выборку из Таблицы-параметр внести во временную и уже с временной накладывать условия. |
|||
11
Вафель
18.09.18
✎
17:26
|
а смысл массив складов во временную класть?
|
|||
12
prtx
18.09.18
✎
17:26
|
(9) спасибо. буду пробывать.
как говориться - таких приколов я еще не видел! |
|||
13
Вафель
18.09.18
✎
17:26
|
...
ПеремещениеТоваровТовары.Ссылка.СкладОтправитель В (&Склады) |
|||
14
AllJoke
18.09.18
✎
17:27
|
(11) автору так хочется видать.
|
|||
15
prtx
18.09.18
✎
17:28
|
(11) для красоты. потом можно в этой же временной таблице наложить какие-то условия, и при этом не трогать остальные части запроса... как-то так.
|
|||
16
prtx
18.09.18
✎
17:29
|
(13) не обратил внимания что выборка из документов. сорян.
|
|||
17
olegves
18.09.18
✎
17:48
|
(0) у тебя главный запрос из ТЗ, поэтому тебе надо приводить типы полей запроса из ТЗ через ф-ю ВЫРАЗИТЬ и помещать рез-т этого запроса во временную таблицу, а потом уже с ней соединяться
|
|||
18
prtx
18.09.18
✎
17:58
|
(17) ну это-то понятно чтобы потом с этой таблице работать дальше нужно поместить ее во временную таблицу, для меня просто было открытием, что условие вида в(выбрать) не работает до помещения во временную таблицу, и все это на фоне того, что условие вида - номенклатура = &номенклатура, работает...
по поводу ВЫРАЗИТЬ, наверное это излишне в данном случае т.к. после помещения во временную таблицу все условия отрабатываю. з.ы. в таблице &ТоварыНаПеремещение, СкладОтправитель и СкладПолучатель это ссылки. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |