кусок из кода с запросом к бух итогам, может поможет разобраться
ТекстЗапроса = "
|set nocount on
|insert into #ttls__
|select
| РазделительУчета РазделительУчета,
| Счет Счет,
| Валюта Валюта,
| Субконто1 Субконто1,
| Субконто1_вид Субконто1_вид,
| Субконто2 Субконто2,
| Субконто2_вид Субконто2_вид,
| Субконто3 Субконто3,
| Субконто3_вид Субконто3_вид,
| Субконто4 Субконто4,
| Субконто4_вид Субконто4_вид,
| Субконто5 Субконто5,
| Субконто5_вид Субконто5_вид,
| sum(СуммаОстаток) СуммаОстаток,
| sum(ВалютнаяСуммаОстаток) ВалютнаяСуммаОстаток,
| sum(КоличествоОстаток) КоличествоОстаток
|from
| (
| select
| _1sbkttl_vt.sp599 РазделительУчета,
| _1sbkttl_vt.accid Счет,
| _1sbkttl_vt.currid Валюта,
| _1sbkttl_vt.sc0 Субконто1,
| _1sbkttl_vt.vsc0 Субконто1_вид,
| _1sbkttl_vt.sc1 Субконто2,
| _1sbkttl_vt.vsc1 Субконто2_вид,
| _1sbkttl_vt.sc2 Субконто3,
| _1sbkttl_vt.vsc2 Субконто3_вид,
| _1sbkttl_vt.sc3 Субконто4,
| _1sbkttl_vt.vsc3 Субконто4_вид,
| _1sbkttl_vt.sc4 Субконто5,
| _1sbkttl_vt.vsc4 Субконто5_вид,
| case when kind = '1' then "+стрВыражениеСальдо+" else 0 end СуммаОстаток,
| case when kind = '2' then "+стрВыражениеСальдо+" else 0 end ВалютнаяСуммаОстаток,
| case when kind = '3' then "+стрВыражениеСальдо+" else 0 end КоличествоОстаток
| from
| _1sbkttl _1sbkttl_vt (nolock)
| where
| _1sbkttl_vt.date = '"+ДатаОстатки+"' and
| _1sbkttl_vt.kind in ('1','2','3') and
| _1sbkttl_vt.planid = "+Метадата.ИдОбъекта(Метаданные.ПланСчетов("Основной"))+" and
| _1sbkttl_vt.sp599 = '"+Метадата.ЗначениеВСтрокуБД(спрФирма)+"' "+?(ТекстУсловия1 = "",""," and " + ТекстУсловия1)+"
| union all
| select
| _1sentry_vt.sp599,
| _1sentry_vt.accdtid,
| _1sentry_vt.currid,
| _1sentry_vt.dtsc0,
| _1sentry_vt.vdtsc0,
| _1sentry_vt.dtsc1,
| _1sentry_vt.vdtsc1,
| _1sentry_vt.dtsc2,
| _1sentry_vt.vdtsc2,
| _1sentry_vt.dtsc3,
| _1sentry_vt.vdtsc3,
| _1sentry_vt.dtsc4,
| _1sentry_vt.vdtsc4,
| _1sentry_vt.sum_,
| _1sentry_vt.cursum,
| _1sentry_vt.amount
| from
| _1sentry _1sentry_vt (nolock)
| where
| _1sentry_vt.date_time_docid between '"+ДатаПроводкиНач+"' and '"+ДатаПроводкиКон +"' and
| _1sentry_vt.active = ' ' and
| _1sentry_vt.provkind <> 'K' and
| _1sentry_vt.planid = "+Метадата.ИдОбъекта(Метаданные.ПланСчетов("Основной"))+" and
| _1sentry_vt.sp599 = '"+Метадата.ЗначениеВСтрокуБД(спрФирма)+"' and
| _1sentry_vt.accdtid <>' 0 ' "+?(ТекстУсловия2 = "",""," and " + ТекстУсловия2)+"
| union all
| select
| _1sentry_vt.sp599,
| _1sentry_vt.accktid,
| _1sentry_vt.currid,
| _1sentry_vt.ktsc0,
| _1sentry_vt.vktsc0,
| _1sentry_vt.ktsc1,
| _1sentry_vt.vktsc1,
| _1sentry_vt.ktsc2,
| _1sentry_vt.vktsc2,
| _1sentry_vt.ktsc3,
| _1sentry_vt.vktsc3,
| _1sentry_vt.ktsc4,
| _1sentry_vt.vktsc4,
| (-1)*_1sentry_vt.sum_,
| (-1)*_1sentry_vt.cursum,
| (-1)*_1sentry_vt.amount
| from
| _1sentry _1sentry_vt (nolock)
| where
| _1sentry_vt.date_time_docid between '"+ДатаПроводкиНач+"' and '"+ДатаПроводкиКон +"' and
| _1sentry_vt.active = ' ' and
| _1sentry_vt.provkind <> 'D' and
| _1sentry_vt.planid = "+Метадата.ИдОбъекта(Метаданные.ПланСчетов("Основной"))+" and
| _1sentry_vt.sp599 = '"+Метадата.ЗначениеВСтрокуБД(спрФирма)+"' and
| _1sentry_vt.accktid <>' 0 ' "+?(ТекстУсловия3 = "",""," and " + ТекстУсловия3)+"
| ) Остатки_vt
|group by
| РазделительУчета,
| Счет,
| Валюта,
| Субконто1,
| Субконто1_вид,
| Субконто2,
| Субконто2_вид,
| Субконто3,
| Субконто3_вид,
| Субконто4,
| Субконто4_вид,
| Субконто5,
| Субконто5_вид
|having
| sum(СуммаОстаток) <> 0 or
| sum(ВалютнаяСуммаОстаток) <> 0 or
| sum(КоличествоОстаток) <> 0
|";