0
kinazarov
28.10.13
✎
16:11
|
Имеется запрос
[code]
ВЫБРАТЬ РАЗЛИЧНЫЕ
ПТНС.Номенклатура КАК Номенклатура,
ПТНС.КоличествоНачальныйОстаток КАК КНОст,
ПТНС.КоличествоПриход КАК КПрих,
ПТНС.КоличествоРасход КАК КРасх,
ПТНС.КоличествоКонечныйОстаток КАК ККОст,
ПТНС.СтоимостьНачальныйОстаток КАК СНОст,
ПТНС.СтоимостьПриход КАК СПрих,
ПТНС.СтоимостьРасход КАК СРасх,
ПТНС.СтоимостьКонечныйОстаток КАК СКОст,
ПТНС.СтоимостьКонечныйОстаток - ПТНС.СтоимостьНачальныйОстаток КАК СКОборот,
ОТТ.Качество КАК Качество,
ОТ.Подразделение КАК Подразделение,
ОТ.Ответственный,
ОТ.Ссылка,
ВЫБОР
КОГДА ПТНС.Номенклатура.Наименование ПОДОБНО "%б/у%"
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК БЭУ
ИЗ
РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Период, , ) КАК ПТНС
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОприходованиеТоваров.Товары КАК ОТТ
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОприходованиеТоваров КАК ОТ
ПО ОТТ.Ссылка = ОТ.Ссылка
ПО ПТНС.Номенклатура = ОТТ.Номенклатура
ГДЕ
ОТ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
УПОРЯДОЧИТЬ ПО
БЭУ,
ПТНС.Номенклатура.Наименование
ИТОГИ
СУММА(СКОборот)
ПО
БЭУ
[/code]
Который выбирает все остатки, обороты за выбранный период и ссылки на документы оприходования за выбранный период.
Но мне нужно выбирать не все ссылки на оприходования за период, а по условию:
Если за период по определенной позиции номенклатуры есть оприходования - выбрать то что есть
Если за период по определенной позиции номенклатуры нет оприходований - выбрать последнее оприходование из предыдущего периода
Если и в предыдущем пусто - то null
Это можно сделать одним запросом (может через подзапросы?) или только через встроенный язык?
|
|