SELECT
Выборка.НомерСтроки НомерСтроки,
СпрНоменклатура.ID [Номенклатура $Справочник.Номенклатура],
СпрЕдиницы.ID as [Единица $Справочник.Единицы],
СпрОКЕИ.Descr as Единица_Имя,
СпрНоменклатура.Descr as Номенклатура_Имя,
СпрНоменклатура.Code as Номенклатура_Код,
Выборка.Партия [Партия $Документ],
Журнал.IDDocDef as Партия_Вид,
Выборка.ПоЗаявке ПоЗаявке,
Выборка.РезервыВПути РезервыВПути
FROM (
SELECT
СтрокиЗаявки.LineNo_ НомерСтроки,
$СтрокиЗаявки.Номенклатура Номенклатура,
РезервыВПути.Партия Партия,
ISNULL(Заявки.КоличествоРасходОстаток,0) ПоЗаявке,
ISNULL(РезервыВПути.КоличествоОстаток,0) РезервыВПути
FROM
$ДокументСтроки.ЗаявкаПокупателя as СтрокиЗаявки
// ЗАПРОС ПО РЕГИСТРУ ЗАЯВОК
LEFT JOIN $РегистрОстатки.Заявки(
,
,
ЗаявкаПокупателя = :ВыбЗаявка,
(Номенклатура),
(КоличествоРасход)
) Заявки ON Заявки.Номенклатура = $СтрокиЗаявки.Номенклатура
// ЗАПРОС ПО РЕЗЕРВАМ В ПУТИ
LEFT JOIN $РегистрОстатки.РезервыТМЦВПути(
,
,
ЗаявкаПокупателя = :ВыбЗаявка,
(Номенклатура, Партия),
(Количество)
) РезервыВПути ON РезервыВПути.Номенклатура = $СтрокиЗаявки.Номенклатура
WHERE
СтрокиЗаявки.IDDoc = :ВыбЗаявка
) Выборка
INNER JOIN
$Справочник.Номенклатура as СпрНоменклатура (nolock)
ON СпрНоменклатура.ID = Выборка.Номенклатура
AND $СпрНоменклатура.ВидНоменклатуры = :ВидТовара
LEFT JOIN
$Справочник.Единицы as СпрЕдиницы (nolock) ON СпрЕдиницы.ID = $СпрНоменклатура.БазоваяЕдиница
LEFT JOIN
$Справочник.ОКЕИ as СпрОКЕИ (nolock) ON СпрОКЕИ.ID = $СпрЕдиницы.ОКЕИ
LEFT JOIN
_1Sjourn as Журнал (nolock) ON Журнал.IDDoc = Выборка.Партия
ORDER BY
Выборка.НомерСтроки
В результате получается:
строка1: Номенклатура1, 30 (ПоЗаявке), Партия1, 24 (РезервыВПути)
Как можно получить еще одну строку вида:
строка2: Номенклатура1, 30 (ПоЗаявке), NULL, 6 (30-24) ?