|
Как сделать запрос в условии виртуальной таблицы?
| ☑ |
0
23th
26.08.15
✎
07:05
|
У меня есть список товаров, я хочу узнать были ли они проданы по этому договору.
ВЫБРАТЬ
ВозвратТоваровОтПокупателяТовары.Номенклатура,
ВозвратТоваровОтПокупателяТовары.Коэффициент * ВозвратТоваровОтПокупателяТовары.Количество КАК Количество,
ПродажиОбороты.КоличествоОборот,
ПродажиОбороты.СтоимостьОборот
ИЗ
Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателяТовары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(, &ДатаОкончания, , ДоговорКонтрагента = &ДоговорКонтрагента) КАК ПродажиОбороты
ПО ВозвратТоваровОтПокупателяТовары.Номенклатура = ПродажиОбороты.Номенклатура
ГДЕ
ВозвратТоваровОтПокупателяТовары.Ссылка = &Ссылка
Можно ли сделать так чтобы сразу отобрать номенклатуру в условии вирт. таблицы ПродажиОбороты РегистрНакопления.Продажи.Обороты(, &ДатаОкончания, , ДоговорКонтрагента = &ДоговорКонтрагента) ?
|
|
1
cons74
26.08.15
✎
07:14
|
...Обороты(,,,номенклатура в (выбрать ...)) ?
|
|
2
Assena
26.08.15
✎
07:15
|
запросом собери список номенклатуры, выгрузи в таблицу значений, и используй как параметр в условии виртуальной таблицы ПродажиОбороты РегистрНакопления.Продажи.Обороты(, &ДатаОкончания, , ДоговорКонтрагента = &ДоговорКонтрагента И Номенклатура В (&Номенклатура))
|
|
3
patria0muerte
26.08.15
✎
07:43
|
(2) А нафига через параметр то, если можно сразу запрос написать как в (1)?
|
|
4
23th
26.08.15
✎
07:48
|
На самом деле мне нужно узнать как раз каких товаров не было в регистре продаж, то есть возвратили товары, которые не продавали по этому договору
|
|
5
shuhard_серый
26.08.15
✎
07:49
|
(4) и что мешает получить список проданных и соединить со справочником налево с условием есть NULL ?
|
|
6
23th
26.08.15
✎
07:59
|
(5) всмысле с уловием естьNULL ?
ИЗ
Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателяТовары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(, &ДатаОкончания, , ДоговорКонтрагента = &ДоговорКонтрагента) КАК ПродажиОбороты
ПО ВозвратТоваровОтПокупателяТовары.Номенклатура = ПродажиОбороты.Номенклатура
ГДЕ
ПродажиОбороты.Номенклатура = NULL
Вот так?
|
|
7
shuhard_серый
26.08.15
✎
08:02
|
(6) херово
надо писать есть NULL
|
|
8
patria0muerte
26.08.15
✎
08:06
|
Либо "ЕСТЬNULL(ПродажиОбороты.Номенклатура, 0) = 0", от одного бывшего коллеги слышал, что так мол получше чем "ПродажиОбороты.Номенклатура ЕСТЬ NULL".
Хотя почему - без понятия. Мож знает кто?
|
|
9
Апош
26.08.15
✎
08:09
|
лучше ЕСТЬNULL(ПродажиОбороты.Номенклатура, "авотфих") = "авотфих"
|
|
10
Kvant1C
26.08.15
✎
08:13
|
(9) чем лучше? в (7) правильно написано
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший