berezdetsky писал(а) 01. Апреля 2009 :: 18:41:Будь осторожнее с недокументированными возможностями
- БИОборотыДтКт не всегда строится по проводкам.
а можно добавить функционал ?
что для оборотных запросов строящихся на таблице проводок, можно было запрашивать реквизиты проводок
надо добавить выделенное красным, при наличии в запросе $РеквизитПроводки.*
либо при наличии запроса $РеквизитПроводки.*
собирать данные только через таблицу проводок
к примеру для такого запроса
| select
| Основной.Субконто1 [Субконто1 $Субконто]
| , Основной.Субконто1_вид
| , Основной.СуммаОборот as Факт
| , $РеквизитПроводки.РеквизитПроводки as СтатусПроводки
| FROM $БИОборотыДтКт.Основной(:НачДата, :КонДата~,,,,,,) AS Основной
select
Основной.СубконтоДт1 [СубконтоДт1 $Субконто]
, Основной.СубконтоДт1_вид
, 0 as План
, Основной.СуммаОборот as Факт
,Основной. РеквизитПроводки as РеквизитПроводки FROM (SELECT РазделительУчета
, Валюта
, СчетДт
, СчетКт
, СубконтоДт1, СубконтоДт1_вид, СубконтоДт2, СубконтоДт2_вид, СубконтоДт3, СубконтоДт3_вид, СубконтоКт1, СубконтоКт1_вид, СубконтоКт2, СубконтоКт2_вид, СубконтоКт3, СубконтоКт3_вид
, РеквизитПроводки , Sum(СуммаОборот) СуммаОборот
, Sum(ВалютнаяСуммаОборот) ВалютнаяСуммаОборот
, Sum(КоличествоОборот) КоличествоОборот
FROM (
SELECT _1SENTRY_vt.SP5124 РазделительУчета
, _1SENTRY_vt.CURRID Валюта
, _1SENTRY_vt.ACCDTID СчетДт
, _1SENTRY_vt.ACCKTID СчетКт
, _1SENTRY_vt.DTSC0 СубконтоДт1, _1SENTRY_vt.VDTSC0 СубконтоДт1_вид, _1SENTRY_vt.DTSC1 СубконтоДт2, _1SENTRY_vt.VDTSC1 СубконтоДт2_вид, _1SENTRY_vt.DTSC2 СубконтоДт3, _1SENTRY_vt.VDTSC2 СубконтоДт3_вид, _1SENTRY_vt.KTSC0 СубконтоКт1, _1SENTRY_vt.VKTSC0 СубконтоКт1_вид, _1SENTRY_vt.KTSC1 СубконтоКт2, _1SENTRY_vt.VKTSC1 СубконтоКт2_вид, _1SENTRY_vt.KTSC2 СубконтоКт3, _1SENTRY_vt.VKTSC2 СубконтоКт3_вид
, _1SENTRY_vt.SP8968 РеквизитПроводки , _1SENTRY_vt.SUM_ СуммаОборот
, _1SENTRY_vt.CURSUM ВалютнаяСуммаОборот
, _1SENTRY_vt.AMOUNT КоличествоОборот
FROM _1SENTRY AS _1SENTRY_vt WITH (NOLOCK)
WHERE (_1SENTRY_vt.ACTIVE = ' ')
AND (_1SENTRY_vt.PROVKIND = ' ')
AND ((_1SENTRY_vt.KTSC0 is not null or _1SENTRY_vt.DTSC0 is not null )) AND (_1SENTRY_vt.DATE_TIME_DOCID Between '20090401' AND '20090401Z')
) sq_vt
GROUP BY РазделительУчета, СчетДт, СчетКт, Валюта, СубконтоДт1, СубконтоДт1_вид, СубконтоДт2, СубконтоДт2_вид, СубконтоДт3, СубконтоДт3_вид, СубконтоКт1, СубконтоКт1_вид, СубконтоКт2, СубконтоКт2_вид, СубконтоКт3, СубконтоКт3_вид
, РеквизитПроводки HAVING (Sum(СуммаОборот) <> 0)
OR (Sum(ВалютнаяСуммаОборот) <> 0)
OR (Sum(КоличествоОборот) <> 0)
) AS Основной