0
paderub
12.02.14
✎
17:32
|
Добрый день!
УТ 11.0
Делаю запрос к регистрам Остатки и ЦеныНоменклатуры. Параметры период и вид цены. Цены в начале периода и в конце периода разные, поэтому использую 2 таблицы ЦеныНоменклатуры, для начала периода и для конца. Цены установлены не на всю номенклатуру, поэтому ставлю левое соединение по остаткам. Вроде как должен выводить остаток даже если цены нет. Но, как Я понял, так как в условии стоит вид цены, то он не выводит те строки где цена не установлена. Добавил условие ЕСТЬ NULL и он стал выводить все виды цен. Как сделать чтобы выводилась только одна строка по выбранному виду цен даже если цена не установлена?
Текст запроса:
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТоварыОрганизацийОстаткиИОбороты.Номенклатура,
| ТоварыОрганизацийОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток,
| ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток,
| ЦеныНоменклатурыСрезПоследних.Цена * ТоварыОрганизацийОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальнаяСумма,
| ЦеныНоменклатурыСрезПоследних1.Цена * ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечнаяСумма
|ИЗ
| РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты(&ДатаН, &ДатаК, , , ) КАК ТоварыОрганизацийОстаткиИОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаН, ) КАК ЦеныНоменклатурыСрезПоследних
| ПО ТоварыОрганизацийОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних1
| ПО ТоварыОрганизацийОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних1.Номенклатура
|ГДЕ
| ТоварыОрганизацийОстаткиИОбороты.Организация = &Организация
| И (ЦеныНоменклатурыСрезПоследних.ВидЦены = &ВидЦены
| ИЛИ ЦеныНоменклатурыСрезПоследних.ВидЦены ЕСТЬ NULL )
| И (ЦеныНоменклатурыСрезПоследних1.ВидЦены = &ВидЦены
| ИЛИ ЦеныНоменклатурыСрезПоследних.ВидЦены ЕСТЬ NULL )";
|
|