Всем привет!
Третий день сабж.
Вот запрос, который работает неправильно:
select
РегОст.измТовар [Товар $Справочник.Товары],
j.iddoc [Док $Документ],
Max(j.iddocdef) Док_вид,
max(j.date_time_iddoc) [ДДок $Дата],
Min(РегОст.ресКоличествоОстаток) [КонОст $число],
Min(РегОст.ресСуммаБазОстаток) [СумБаз $число],
Min(РегОст.ресСуммаВалОстаток) [СумВал $число]
from
$РегистрОстатки.Товары(:ДатаК,,
измТовар in (
select distinct $Д.табТовар
from $ДокументСтроки.РасходнаяРозн Д
inner join $Справочник.Товары СпрТ (nolock) on СпрТ.id = $Д.табТовар
where Д.iddoc = :ТД and $Д.табКоличество>0 and $СпрТ.спрВидТовара <> :Раб) and измСклад = :Склад, (измТовар, измСклад, измДокумент), (ресКоличество, ресСуммаБаз, ресСуммаВал)) РегОст
left join _1sJourn j (nolock) on j.iddoc = Right(РегОст.измДокумент,9)
group by РегОст.измТовар, j.iddoc
having Min(РегОст.ресКоличествоОстаток)>0 and Min(РегОст.ресСуммаБазОстаток)>0
Здесь почему-то прокидывается фильтр на :Склад.
То есть, если УстановитьТекстовыйПараметр("Склад", <Допустим Отдел1>) ,
в запрос попадают документы, которые в регистре идут по складу <Розница>.
А вот запрос, который выводит то, что надо ...
select
РегОбор.измТовар [Товар $Справочник.Товары],
Right(РегОбор.ПозицияДокумента,9) [Док $Документ],
Max(РегОбор.ВидДокумента) Док_вид,
max(Left(РегОбор.ПозицияДокумента,8)) [ДДок $Дата],
Min(РегОст.ресКоличествоОстаток) [КонОст $число],
Min(РегОст.ресСуммаБазОстаток) [СумБаз $число],
Min(РегОст.ресСуммаВалОстаток) [СумВал $число]
from
$РегистрОбороты.Товары(:ДатаН, :ДатаК, Документ,
inner join (
select distinct $Д.табТовар
from $ДокументСтроки.РасходнаяРозн Д
inner join $Справочник.Товары СпрТ (nolock) on СпрТ.id = $Д.табТовар
where Д.iddoc = :ТД and $Д.табКоличество>0 and $СпрТ.спрВидТовара <> :Раб) ДокС on ДокС.Тов = измТовар, измСклад = :Склад, (измТовар, измСклад), ресКоличество) РегОбор
left join $РегистрОстатки.Товары(:ДатаК,
inner join (
select distinct
$Д.табТовар
from $ДокументСтроки.РасходнаяРозн Д
inner join $Справочник.Товары СпрТ (nolock) on СпрТ.id = $Д.табТовар
where Д.iddoc = :ТД and $Д.табКоличество>0 and $СпрТ.спрВидТовара <> :Раб) ДокС on ДокС.Тов = измТовар, измСклад = :Склад, (измТовар, измСклад), (ресКоличество, ресСуммаБаз, ресСуммаВал)) РегОст on РегОст.измТовар = РегОбор.измТовар and РегОст.измСклад = РегОбор.измСклад
where РегОбор.ресКоличествоПриход>0
group by
РегОбор.измТовар,
Right(РегОбор.ПозицияДокумента,9)
having Min(РегОст.ресКоличествоОстаток)>0
Помогите разобраться, плиз, а то совсем запарился ...