|
Соединение табличной части с Рег.Сведений в запросе | ☑ | ||
---|---|---|---|---|
0
bek_bassar
08.05.13
✎
12:46
|
Здравствуйте.
В запросе хочу получить номенклатуру, количество из таб частей документа и цену последнюю из РС Цены номенклатуры. Вот собственно текст запроса Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПересчетТоваровТовары.Номенклатура, | ПересчетТоваровТовары.Характеристика, | ПересчетТоваровТовары.КоличествоФакт КАК КоличествоУпаковок, | ПересчетТоваровТовары.Упаковка, | ПересчетТоваровТовары.КоличествоФакт КАК Количество, | ВЫБОР | КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL | ТОГДА 0 | ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена | КОНЕЦ КАК Цена |ИЗ | Документ.ПересчетТоваров.Товары КАК ПересчетТоваровТовары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних | ПО ПересчетТоваровТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура |ГДЕ | ПересчетТоваровТовары.Ссылка.ДокументОснование = &ДокументОснование | И ПересчетТоваровТовары.КоличествоФакт > 0 | И ЦеныНоменклатурыСрезПоследних.ВидЦены = &ВидЦены"; Запрос.УстановитьПараметр("ДокументОснование", Док ); Запрос.УстановитьПараметр("ВидЦены", ВидЦены); Результат = Запрос.Выполнить(); Выборка = Результат.Выгрузить(); Если у номенклатуры нет цены то в запрос эта номенклатура не попадает, а мне нужно чтоб в не зависимости есть цена или нету номенклатура попадала в запрос. Думал связать левым соединением но чето не получается. Помогите |
|||
1
Ненавижу 1С
гуру
08.05.13
✎
12:48
|
условие ЦеныНоменклатурыСрезПоследних.ВидЦены = &ВидЦены занеси в параметры вирт. таблицы
|
|||
2
BadTouch
08.05.13
✎
13:01
|
Или в условие соединения
|
|||
3
BadTouch
08.05.13
✎
13:03
|
Еще (просто корректировка):
ВЫБОР | КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL | ТОГДА 0 | ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена | КОНЕЦ КАК Цена Замени на ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена |
|||
4
Aprobator
08.05.13
✎
13:12
|
(1) +100500.
Поскольку из за условия: ГДЕ .... И ЦеныНоменклатурыСрезПоследних.ВидЦены = &ВидЦены"; тут не левое, а внутреннее соединение получается. |
|||
5
anddro
08.05.13
✎
13:22
|
и в параметры виртуальной таблицы надо поставить отбор по номенклатуре документа: незачем для документа получать срез последних для всей номенклатуры.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |