Попробуй выполнить за несколько проходов:
сначала запрос
create temp table врем1 as select
СпрПост.Поступление [ПостТМЦ],
СпрПост.Количество [ПостКол],
Заказы.parentext [Ном],
Заказы.Направление [Направление],
Заказы.ДокументЗаказа [Заявка]
from Справочник_ПоступленияПоЗаказам as СпрПост
left join Справочник_ВиртуальныеЗаказы as Заказы on СпрПост.parentext = Заказы.id
where СпрПост.Поступление in СписокПост
Потом
create temp table врем2 as select
tt.Заявка,
Ссылки.childid Реализация
from (select distinct Заявка from врем1) tt
left join __1C_crdoc Ссылки
on (Ссылки.mdid=' 0' and Ссылки.parentval = 'O1' || :ВидДокумента.ЗаявкаПокупателя || tt.Заявка)
left join __1SJourn Журнал on (Ссылки.childid = Журнал.iddoc and Журнал.iddocdef=:ВидДокумента.Реализация)
Далее
create index звт2 on врем2(Заявка)
И результат:
select
РеалСтр.iddoc [Реализация: Документ.Реализация],
РеалСтр.Сумма + РеалСтр.СуммаНДС * (1 - Реал.СуммаВклНДС) [СуммаРеал],
врем1.Ном [Ном: Справочник.Номенклатура],
врем1.Направление [Направление: Справочник.НаправленияБрендов],
врем1.Заявка [Заявка: Документ.ЗаявкаПокупателя],
врем1.ПостТМЦ [ПостТМЦ: Документ.ПоступлениеТМЦ],
врем1.ПостКол [ПостКол]
from врем1 left join врем2 on врем1.Заявка = врем2.Заявка
left join Документ_Реализация as Реал on врем2.Реализация = Реал.iddoc
left join ДокументСтроки_Реализация as РеалСтр
on (РеалСтр.Номенклатура = врем1.Ном and РеалСтр.iddoc = Реал.iddoc)
Ну и дальше или базу закрыть, или временные таблички дропнуть.
Может я в полях че напутал, но подход я думаю понятен.