SET NOCOUNT ON SELECT prec FROM syscolumns sc WITH (nolock) WHERE (sc.id = OBJECT_ID('_1SBKTTL')) AND (sc.name = 'SC0') SELECT st.name Имя , sc.prec Длина , sc.scale Точность FROM syscolumns sc WITH (nolock) INNER JOIN systypes st WITH (nolock) ON sc.type = st.type WHERE (sc.id = OBJECT_ID('_1SBKTTL')) AND (sc.name = 'SP2636') if exists(select * from tempdb..sysobjects where id = object_id('tempdb..#БИОстатки_vt0')) drop table #БИОстатки_vt0 if exists(select * from tempdb..sysobjects where id = object_id('tempdb..#БИОбороты_vt0')) drop table #БИОбороты_vt0 SELECT РазделительУчета, Счет, Валюта , Субконто1, Субконто1_вид, Субконто2, Субконто2_вид , CAST(0 AS numeric(15, 3)) КоличествоНачальныйОстаток , CAST(0 AS numeric(15, 2)) СуммаНачальныйОстаток , CAST(0 AS numeric(15, 2)) ВалютнаяСуммаНачальныйОстаток , КоличествоОборотДт , КоличествоОборотКт , СуммаОборотДт , СуммаОборотКт , ВалютнаяСуммаОборотДт , ВалютнаяСуммаОборотКт , CAST(0 AS numeric(15, 3)) КоличествоКонечныйОстаток , CAST(0 AS numeric(15, 2)) СуммаКонечныйОстаток , CAST(0 AS numeric(15, 2)) ВалютнаяСуммаКонечныйОстаток , Период INTO #БИОбороты_vt0 FROM ( SELECT sq0_vt.РазделительУчета , sq0_vt.Счет , sq0_vt.Валюта , sq0_vt.Субконто1, sq0_vt.Субконто1_вид, sq0_vt.Субконто2, sq0_vt.Субконто2_вид , sq0_vt.Период , Sum(sq0_vt.СуммаОборотДт) - Sum(sq0_vt.СуммаОборотКт) СуммаОборот , Sum(sq0_vt.ВалютнаяСуммаОборотДт) - Sum(sq0_vt.ВалютнаяСуммаОборотКт) ВалютнаяСуммаОборот , Sum(sq0_vt.КоличествоОборотДт) - Sum(sq0_vt.КоличествоОборотКт) КоличествоОборот , Sum(sq0_vt.СуммаОборотДт) СуммаОборотДт , Sum(sq0_vt.ВалютнаяСуммаОборотДт) ВалютнаяСуммаОборотДт , Sum(sq0_vt.КоличествоОборотДт) КоличествоОборотДт , Sum(sq0_vt.СуммаОборотКт) СуммаОборотКт , Sum(sq0_vt.ВалютнаяСуммаОборотКт) ВалютнаяСуммаОборотКт , Sum(sq0_vt.КоличествоОборотКт) КоличествоОборотКт FROM ( SELECT _1SBKTTL_vt.SP2636 РазделительУчета , _1SBKTTL_vt.CURRID Валюта , _1SBKTTL_vt.ACCID Счет , CASE WHEN _1SBKTTL_vt.KIND = '1' THEN _1SBKTTL_vt.OBDT1 ELSE 0 END СуммаОборотДт , CASE WHEN _1SBKTTL_vt.KIND = '1' THEN _1SBKTTL_vt.OBKT1 ELSE 0 END СуммаОборотКт , CASE WHEN _1SBKTTL_vt.KIND = '2' THEN _1SBKTTL_vt.OBDT1 ELSE 0 END ВалютнаяСуммаОборотДт , CASE WHEN _1SBKTTL_vt.KIND = '2' THEN _1SBKTTL_vt.OBKT1 ELSE 0 END ВалютнаяСуммаОборотКт , CASE WHEN _1SBKTTL_vt.KIND = '3' THEN _1SBKTTL_vt.OBDT1 ELSE 0 END КоличествоОборотДт , CASE WHEN _1SBKTTL_vt.KIND = '3' THEN _1SBKTTL_vt.OBKT1 ELSE 0 END КоличествоОборотКт , CASE WHEN _1SBKTTL_vt.VSC0 = 1609 THEN _1SBKTTL_vt.SC0 WHEN _1SBKTTL_vt.VSC1 = 1609 THEN _1SBKTTL_vt.SC1 WHEN _1SBKTTL_vt.VSC2 = 1609 THEN _1SBKTTL_vt.SC2 WHEN _1SBKTTL_vt.VSC3 = 1609 THEN _1SBKTTL_vt.SC3 END Субконто1, 1609 Субконто1_вид , CASE WHEN _1SBKTTL_vt.VSC0 = 13426 THEN _1SBKTTL_vt.SC0 WHEN _1SBKTTL_vt.VSC1 = 13426 THEN _1SBKTTL_vt.SC1 WHEN _1SBKTTL_vt.VSC2 = 13426 THEN _1SBKTTL_vt.SC2 WHEN _1SBKTTL_vt.VSC3 = 13426 THEN _1SBKTTL_vt.SC3 END Субконто2, 13426 Субконто2_вид , _1SBKTTL_vt.[DATE] Период FROM _1SBKTTL AS _1SBKTTL_vt WITH (NOLOCK) WHERE (_1SBKTTL_vt.[DATE] = '20110101') AND (_1SBKTTL_vt.PLANID = 16046) AND ((_1SBKTTL_vt.SP2636 = ' A ') AND ((CASE WHEN _1SBKTTL_vt.VSC0 = 1609 THEN _1SBKTTL_vt.SC0 WHEN _1SBKTTL_vt.VSC1 = 1609 THEN _1SBKTTL_vt.SC1 WHEN _1SBKTTL_vt.VSC2 = 1609 THEN _1SBKTTL_vt.SC2 WHEN _1SBKTTL_vt.VSC3 = 1609 THEN _1SBKTTL_vt.SC3 END) = ' ELORTA')) AND (_1SBKTTL_vt.KIND IN ('1', '2', '3')) AND (1609 IN (_1SBKTTL_vt.VSC0, _1SBKTTL_vt.VSC1, _1SBKTTL_vt.VSC2, _1SBKTTL_vt.VSC3)) AND (13426 IN (_1SBKTTL_vt.VSC0, _1SBKTTL_vt.VSC1, _1SBKTTL_vt.VSC2, _1SBKTTL_vt.VSC3)) ) sq0_vt GROUP BY sq0_vt.РазделительУчета , sq0_vt.Счет , sq0_vt.Валюта , sq0_vt.Субконто1, sq0_vt.Субконто1_вид, sq0_vt.Субконто2, sq0_vt.Субконто2_вид , sq0_vt.Период HAVING (Sum(sq0_vt.СуммаОборотДт) <> 0) OR (Sum(sq0_vt.ВалютнаяСуммаОборотДт) <> 0) OR (Sum(sq0_vt.КоличествоОборотДт) <> 0) OR (Sum(sq0_vt.СуммаОборотКт) <> 0) OR (Sum(sq0_vt.ВалютнаяСуммаОборотКт) <> 0) OR (Sum(sq0_vt.КоличествоОборотКт) <> 0) ) sq1_vt SELECT РазделительУчета, Счет, Валюта , Субконто1, Субконто1_вид, Субконто2, Субконто2_вид , КоличествоОстаток , СуммаОстаток , ВалютнаяСуммаОстаток INTO #БИОстатки_vt0 FROM ((SELECT РазделительУчета , Счет , Валюта , Субконто1, Субконто2, 1609 Субконто1_вид, 13426 Субконто2_вид , Sum(СуммаОстаток) СуммаОстаток , CASE WHEN Sum(СуммаОстаток) > 0 THEN Sum(СуммаОстаток) ELSE 0 END СуммаОстатокДт , CASE WHEN Sum(СуммаОстаток) < 0 THEN -Sum(СуммаОстаток) ELSE 0 END СуммаОстатокКт , Sum(ВалютнаяСуммаОстаток) ВалютнаяСуммаОстаток , CASE WHEN Sum(ВалютнаяСуммаОстаток) > 0 THEN Sum(ВалютнаяСуммаОстаток) ELSE 0 END ВалютнаяСуммаОстатокДт , CASE WHEN Sum(ВалютнаяСуммаОстаток) < 0 THEN -Sum(ВалютнаяСуммаОстаток) ELSE 0 END ВалютнаяСуммаОстатокКт , Sum(КоличествоОстаток) КоличествоОстаток , CASE WHEN Sum(КоличествоОстаток) > 0 THEN Sum(КоличествоОстаток) ELSE 0 END КоличествоОстатокДт , CASE WHEN Sum(КоличествоОстаток) < 0 THEN -Sum(КоличествоОстаток) ELSE 0 END КоличествоОстатокКт FROM (SELECT _1SBKTTL_vt.SP2636 РазделительУчета , _1SBKTTL_vt.ACCID Счет , _1SBKTTL_vt.CURRID Валюта , CASE WHEN _1SBKTTL_vt.VSC0 = 1609 THEN _1SBKTTL_vt.SC0 WHEN _1SBKTTL_vt.VSC1 = 1609 THEN _1SBKTTL_vt.SC1 WHEN _1SBKTTL_vt.VSC2 = 1609 THEN _1SBKTTL_vt.SC2 WHEN _1SBKTTL_vt.VSC3 = 1609 THEN _1SBKTTL_vt.SC3 END Субконто1 , CASE WHEN _1SBKTTL_vt.VSC0 = 13426 THEN _1SBKTTL_vt.SC0 WHEN _1SBKTTL_vt.VSC1 = 13426 THEN _1SBKTTL_vt.SC1 WHEN _1SBKTTL_vt.VSC2 = 13426 THEN _1SBKTTL_vt.SC2 WHEN _1SBKTTL_vt.VSC3 = 13426 THEN _1SBKTTL_vt.SC3 END Субконто2 , CASE WHEN KIND = '1' THEN (_1SBKTTL_vt.SD) ELSE 0 END СуммаОстаток , CASE WHEN KIND = '2' THEN (_1SBKTTL_vt.SD) ELSE 0 END ВалютнаяСуммаОстаток , CASE WHEN KIND = '3' THEN (_1SBKTTL_vt.SD) ELSE 0 END КоличествоОстаток FROM _1SBKTTL AS _1SBKTTL_vt WITH (NOLOCK) WHERE (_1SBKTTL_vt.DATE = '20110101') AND (_1SBKTTL_vt.KIND IN ('1', '2', '3')) AND (_1SBKTTL_vt.PLANID = 16046) AND ((_1SBKTTL_vt.SP2636 = ' A ') AND ((CASE WHEN _1SBKTTL_vt.VSC0 = 1609 THEN _1SBKTTL_vt.SC0 WHEN _1SBKTTL_vt.VSC1 = 1609 THEN _1SBKTTL_vt.SC1 WHEN _1SBKTTL_vt.VSC2 = 1609 THEN _1SBKTTL_vt.SC2 WHEN _1SBKTTL_vt.VSC3 = 1609 THEN _1SBKTTL_vt.SC3 END) = ' ELORTA')) AND (1609 IN (_1SBKTTL_vt.VSC0, _1SBKTTL_vt.VSC1, _1SBKTTL_vt.VSC2, _1SBKTTL_vt.VSC3)) AND (13426 IN (_1SBKTTL_vt.VSC0, _1SBKTTL_vt.VSC1, _1SBKTTL_vt.VSC2, _1SBKTTL_vt.VSC3)) ) sq_vt GROUP BY РазделительУчета, Счет, Валюта, Субконто1, Субконто2 HAVING (Sum(СуммаОстаток) <> 0) OR (Sum(ВалютнаяСуммаОстаток) <> 0) OR (Sum(КоличествоОстаток) <> 0) )) sq1_vt CREATE UNIQUE CLUSTERED INDEX PK_vt ON #БИОбороты_vt0 (РазделительУчета, Счет, Валюта , Субконто1, Субконто2, Период) CREATE UNIQUE CLUSTERED INDEX PK_vt ON #БИОстатки_vt0 (РазделительУчета, Счет, Валюта , Субконто1, Субконто2) AccountsRecordset::ПарситьБИОстаткиОбороты(Строка ТекстЗапроса=SELECT Счет , Субконто1 Контрагент , Субконто2 Договор , SUM(СуммаНачальныйОстаток) СуммаНач , SUM(СуммаОборот) СуммаОборот , SUM(СуммаКонечныйОстаток) СуммаКон , Период INTO #ОборотыПоМесяцам FROM $БИОстаткиОбороты.Национальный(:НачДата, :КонДата ~,Месяц,,,, (Контрагенты,Договоры),(РазделительУчета = :ВыбФирма) AND (Субконто1 = :ВыбКонтрагент)) БИОборотыОсновной GROUP BY Счет, Субконто1, Субконто2, Период ) : Meta name parser error: недопустимое значение параметра "$НачалоПериода.МЕСЯЦ" (2) рс.ExecuteStatement(рсТекстЗапроса); {\\fstore\Dll\Classes\AccountsRecordsetV3.ert(3392) }