(6) ВТ РегистрОстаткиОбороты насколько я помню выдавала неправильные результаты, когда она с периодичностью. Или что-то изменилось?
Еще вот такой вариант(используя таблицу с датами):
ТекстЗапроса = "
|select
| vt.Товар [Товар $Справочник.ТМЦ],
| vt.Склад [Склад $Справочник.Склады],
| sum(vt.ОстатокТовара) [ОстатокТовара],
| sum(vt.Стоимость) [Стоимость],
| vt.Дата [Дата]
|from
| (
| select
| $rg.Товар [Товар],
| $rg.Склад [Склад],
| isnull($rg.ОстатокТовара,0) [ОстатокТовара],
| isnull($rg.Стоимость,0) [Стоимость],
| Даты_vt.date [Дата]
| from
| tmp__ Даты_vt
| left join
| $РегистрИтоги.ПартииТоваров as rg (nolock) on rg.period = dateadd(m,-1,dateadd(dd,-day(Даты_vt.date)+1,Даты_vt.date))
| where
| rg.period = dateadd(m,-1,dateadd(dd,-day(Даты_vt.date)+1,Даты_vt.date)) and
| $rg.Фирма = $ПустойИд
| union all
| select
| $ra.Товар [Товар],
| $ra.Склад [Склад],
| isnull($ra.ОстатокТовара*(1-ra.debkred*2),0) [ОстатокТовара],
| isnull($ra.Стоимость*(1-ra.debkred*2),0) [Стоимость],
| Даты_vt.date [Дата]
| from
| tmp__ Даты_vt
| left join
| _1sjourn j (nolock) on (left(j.date_time_iddoc,8) between dateadd(m,-1,dateadd(dd,-day(Даты_vt.date)+1,Даты_vt.date)) and Даты_vt.date)
| left join
| $Регистр.ПартииТоваров ra (nolock) on ra.iddoc = j.iddoc
| where
| $ra.Фирма = $ПустойИд
| ) vt
|group by
| vt.Товар,
| vt.Склад,
| vt.Дата
|order by
| vt.Дата
|";