Все добрый день!
Суть задачи - помесячное получение сумм Балансовой стоимости и амортизации по основным средствам.
Вот что изобразил (вообще то запрос формируется динамически)
Select
ИтЗапрос.СтавкаНалогаНаИмущество СтавкаНалогаНаИмущество
,ИтЗапрос.СчетУчета [Счет $Счет.ЕПСБУ]
,ИтЗапрос.ОсновноеСредство [ОсновноеСредство $Справочник.ОсновныеСредства]
, SUM(ИтЗапрос.Стоимость_1) Стоимость_1
, SUM(ИтЗапрос.СтоимостьА_1) СтоимостьА_1
From
(--Выборка по месяцам
Select
ОтборСубконто.ACCID as СчетУчета
,ОтборСубконто.SC2 as ОсновноеСредство
,ОтборСубконто.VSC2 as ВидСубконтоОС
,ОтборСубконто.SC0 as КБКУчета
,(
select top 1
left(c13329_vv.value, 9)
from
_1sconst as c13329_vv (nolock)
where
c13329_vv.id = 13329 and
c13329_vv.objid = СпрОс.ID and
(c13329_vv.date <= '20070101')
order by c13329_vv.date desc, c13329_vv.time desc, c13329_vv.docid desc, c13329_vv.row_id desc
) as СостояниеОС
,(
select top 1
cast(c13339_vv.value as numeric(4, 2))
from
_1sconst as c13339_vv (nolock)
where
c13339_vv.id = 13339 and
c13339_vv.objid = СпрОс.ID and
(c13339_vv.date <= '20070101')
order by c13339_vv.date desc, c13339_vv.time desc, c13339_vv.docid desc, c13339_vv.row_id desc
) as СтавкаНалогаНаИмущество
,СпрОс.sp13341 as АмортизационнаяГруппа
,СпрМХ.sp13229 as МОЛ
,СпрМХ.sp13230 as Подразделение
,(ОтборСубконто.SD) as Стоимость_1
,(ОтборСубконтоА.SD) as СтоимостьА_1
From _1SBKTTL as ОтборСубконто
LEFT JOIN
_1SBKTTL as ОтборСубконтоА
On
(ОтборСубконтоА.SC2 = ОтборСубконто.SC2) AND (ОтборСубконтоА.VSC2 = ОтборСубконто.VSC2) AND (ОтборСубконтоА.DATE = ОтборСубконто.DATE)
INNER JOIN
sc13357 СпрОс ON
(СпрОс.ID = ОтборСубконто.SC2)
INNER JOIN
sc528 as СпрМХ
ON
(СпрМх.ID = ОтборСубконто.SC3)
INNER JOIN
_1SACCS as ПланСчетов
On
(ПланСчетов.ID = ОтборСубконто.ACCID)
Where
(ОтборСубконто.VSC2 = 467) AND
(ОтборСубконто.KIND=1) AND
(ОтборСубконтоА.KIND=1) AND
(ОтборСубконтоА.ACCID in (Select Val From #СчетаАмортизации)) AND
(ОтборСубконто.DATE = '20070101')
AND (СпрОС.ID in (Select Val From #ОсновныеСредства_1))) as ИтЗапрос
Group By ИтЗапрос.СтавкаНалогаНаИмущество,ИтЗапрос.СчетУчета,ИтЗапрос.ОсновноеСредство
Так вот на соединении с таблицей ОтборСубконтоА (для расчета амортизации) если амортизации нет вообще никакой - то в итоговый Select ничего не попадает. Кстати - счет учета амортизации есть в справочнике основных средств - но я че-т не могу понять как его привязать к таблице ОтборСубконтоА.
Подскажите - в чем я не прав?
и Второй вопрос:
В подзапросе используется виртуальная таблица $ПоследнееЗначение как правильно на него наложить фильтр - нужно ли оборачивать в еще один Select?
(Пока сделал $ПоследнееЗначение(....) in (Select Val From #СзФильтра) )
Огромное спасибо!!!