select name from dbo.sysobjects (nolock) where id = object_id(N'[dbo].[StrToId]')
Время подготовки запроса: 0 мс, время выполнения запроса: 6 мс.
set nocount on
Время подготовки запроса: 0 мс, время выполнения запроса: 6 мс.

IF EXISTS(SELECT * FROM tempdb..sysobjects WHERE id = object_id('tempdb..#tconst_'))
	DROP TABLE #tconst_
Время подготовки запроса: 0 мс, время выполнения запроса: 10 мс.
create table #tconst_(objid char(9), id int, date datetime, time int, iddoc char(9))
Время подготовки запроса: 0 мс, время выполнения запроса: 8 мс.
insert into #tconst_
select
	tconst.objid
	,tconst.id
	,substring(tconst.date_time_iddoc, 1, 8) as date
	,dbo.StrToID(substring(tconst.date_time_iddoc, 9, 6)) as time
	,substring(tconst.date_time_iddoc, 15, 9) as iddoc
from (
	select 
		tconst_1.objid
		,tconst_1.id
		,max(const_j.date_time_iddoc) date_time_iddoc
	from _1SCONST tconst_1 (nolock)
	inner join _1SJOURN const_j (nolock)
		on tconst_1.docid = const_j.iddoc
		
		where tconst_1.date <= '20120330'
		and tconst_1.id = 7897
		
	group by tconst_1.id, tconst_1.objid) tconst
Время подготовки запроса: 10 мс, время выполнения запроса: 70 мс.
set nocount off
Время подготовки запроса: 0 мс, время выполнения запроса: 6 мс.
select name from dbo.sysobjects (nolock) where id = object_id(N'[dbo].[StrToId]')
Время подготовки запроса: 0 мс, время выполнения запроса: 6 мс.
set nocount on
Время подготовки запроса: 0 мс, время выполнения запроса: 6 мс.

IF EXISTS(SELECT * FROM tempdb..sysobjects WHERE id = object_id('tempdb..#tconst_'))
	DROP TABLE #tconst_
Время подготовки запроса: 0 мс, время выполнения запроса: 13 мс.
create table #tconst_(objid char(9), id int, date datetime, time int, iddoc char(9))
Время подготовки запроса: 0 мс, время выполнения запроса: 6 мс.
insert into #tconst_
select
	tconst.objid
	,tconst.id
	,substring(tconst.date_time_iddoc, 1, 8) as date
	,dbo.StrToID(substring(tconst.date_time_iddoc, 9, 6)) as time
	,substring(tconst.date_time_iddoc, 15, 9) as iddoc
from (
	select 
		tconst_1.objid
		,tconst_1.id
		,max(const_j.date_time_iddoc) date_time_iddoc
	from _1SCONST tconst_1 (nolock)
	inner join _1SJOURN const_j (nolock)
		on tconst_1.docid = const_j.iddoc
		
		where tconst_1.date <= '20120330'
		and tconst_1.id = 7897
		
	group by tconst_1.id, tconst_1.objid) tconst
Время подготовки запроса: 11 мс, время выполнения запроса: 83 мс.
set nocount off
Время подготовки запроса: 0 мс, время выполнения запроса: 4 мс.
select name from dbo.sysobjects (nolock) where id = object_id(N'[dbo].[StrToId]')
Время подготовки запроса: 0 мс, время выполнения запроса: 4 мс.
set nocount on
Время подготовки запроса: 0 мс, время выполнения запроса: 5 мс.

IF EXISTS(SELECT * FROM tempdb..sysobjects WHERE id = object_id('tempdb..#tconst_'))
	DROP TABLE #tconst_
Время подготовки запроса: 0 мс, время выполнения запроса: 8 мс.
create table #tconst_(objid char(9), id int, date datetime, time int, iddoc char(9))
Время подготовки запроса: 0 мс, время выполнения запроса: 6 мс.
insert into #tconst_
select
	tconst.objid
	,tconst.id
	,substring(tconst.date_time_iddoc, 1, 8) as date
	,dbo.StrToID(substring(tconst.date_time_iddoc, 9, 6)) as time
	,substring(tconst.date_time_iddoc, 15, 9) as iddoc
from (
	select 
		tconst_1.objid
		,tconst_1.id
		,max(const_j.date_time_iddoc) date_time_iddoc
	from _1SCONST tconst_1 (nolock)
	inner join _1SJOURN const_j (nolock)
		on tconst_1.docid = const_j.iddoc
		
		where tconst_1.date <= '20120330'
		and tconst_1.id = 4506
		
	group by tconst_1.id, tconst_1.objid) tconst
Время подготовки запроса: 9 мс, время выполнения запроса: 30 мс.
set nocount off
Время подготовки запроса: 0 мс, время выполнения запроса: 5 мс.
select name from dbo.sysobjects (nolock) where id = object_id(N'[dbo].[StrToId]')
Время подготовки запроса: 0 мс, время выполнения запроса: 4 мс.
set nocount on
Время подготовки запроса: 0 мс, время выполнения запроса: 5 мс.

IF EXISTS(SELECT * FROM tempdb..sysobjects WHERE id = object_id('tempdb..#tconst_'))
	DROP TABLE #tconst_
Время подготовки запроса: 0 мс, время выполнения запроса: 10 мс.
create table #tconst_(objid char(9), id int, date datetime, time int, iddoc char(9))
Время подготовки запроса: 0 мс, время выполнения запроса: 5 мс.
insert into #tconst_
select
	tconst.objid
	,tconst.id
	,substring(tconst.date_time_iddoc, 1, 8) as date
	,dbo.StrToID(substring(tconst.date_time_iddoc, 9, 6)) as time
	,substring(tconst.date_time_iddoc, 15, 9) as iddoc
from (
	select 
		tconst_1.objid
		,tconst_1.id
		,max(const_j.date_time_iddoc) date_time_iddoc
	from _1SCONST tconst_1 (nolock)
	inner join _1SJOURN const_j (nolock)
		on tconst_1.docid = const_j.iddoc
		
		where tconst_1.date <= '20120330'
		and tconst_1.id = 7910
		
	group by tconst_1.id, tconst_1.objid) tconst
Время подготовки запроса: 10 мс, время выполнения запроса: 29 мс.
set nocount off
Время подготовки запроса: 0 мс, время выполнения запроса: 5 мс.
SELECT  	ЦеныВДолларе.Квартира  [Квартира $Справочник],ЦеныВДолларе.КатегорияЦены  [КатегорияЦены $Справочник.КатегорииЦен], 
 			СпрВалюты.ID [Валюта $Справочник.Валюты],
 			CASE WHEN ISNULL(ЦеныСправочникНеДоллар.Цена,0) <> 0 THEN 
	       		ISNULL(ЦеныСправочникНеДоллар.Цена,0)
	  		ELSE 
			CASE WHEN (СпрВалюты.ID <> ЦеныВДолларе.Валюта) AND (cast( СрезКурсы.КурсУправленческийПокупка  as real) <> 0)  THEN 
	        	(cast(ЦеныВДолларе.Цена as real) *  cast(СрезКурсДоллар.КурсУправленческийПродажа as real)  /   cast( СрезКурсы.КурсУправленческийПокупка  as real) ) 
 		 	ELSE ЦеныВДолларе.Цена  END 
 			END AS Цена,
 			CASE WHEN   (СпрВалюты.ID = '     2   ')  THEN 0 
 	  		WHEN ISNULL(ЦеныСправочникНеДоллар.Цена,0) <> 0 THEN 
				0 
 			ELSE 1 END AS ФлагРасчета
FROM SC14 AS СпрВалюты (nolock) 
CROSS JOIN (
				SELECT СпрЦены.SP7907 AS Квартира, СпрЦены.SP7895 AS КатегорияЦены,
			 			СпрЦены.SP7893 Валюта ,
 			 			Цена Цена 
				FROM (
	select
		vt_slicelast_SC7892.ТекущийЭлемент
		
		,max(vt_slicelast_SC7892.Цена) as Цена
	from (
		select
			slicelast_SC7892.objid ТекущийЭлемент
			
			,case when slicelast_SC7892.id = 7897 then slicelast_SC7892.VALUE end Цена
		from (
			
			select tconst_2.objid, tconst_2.id, tconst_2.date, tconst_2.time, tconst_2.docid, tconst_2.value
			from #tconst_ slicelast_SC78921
			inner join _1SCONST tconst_2 (nolock)
			on slicelast_SC78921.id = tconst_2.id
			and slicelast_SC78921.objid = tconst_2.objid
			and slicelast_SC78921.date = tconst_2.date
			and slicelast_SC78921.time = tconst_2.time
			and slicelast_SC78921.iddoc = tconst_2.docid
		) slicelast_SC7892
	) vt_slicelast_SC7892
	group by vt_slicelast_SC7892.ТекущийЭлемент
		

) AS СрезЦены
				LEFT JOIN SC7892 AS СпрЦены (nolock) ON СпрЦены.ID = СрезЦены.ТекущийЭлемент
				WHERE (CASE WHEN СпрЦены.ISMARK = 1 THEN 1 ELSE 0 END = 0) AND (СпрЦены.SP7893 = '     2   ' )   AND (СпрЦены.SP7907 = ' 66Q     8   ' )  
			) AS ЦеныВДолларе
LEFT JOIN (
						SELECT СпрЦены.SP7907 AS Квартира,СпрЦены.SP7895 AS КатегорияЦены,
					 		СпрЦены.SP7893 Валюта ,
		 			 		Цена Цена 
						FROM (
	select
		vt_slicelast_SC7892.ТекущийЭлемент
		
		,max(vt_slicelast_SC7892.Цена) as Цена
	from (
		select
			slicelast_SC7892.objid ТекущийЭлемент
			
			,case when slicelast_SC7892.id = 7897 then slicelast_SC7892.VALUE end Цена
		from (
			
			select tconst_2.objid, tconst_2.id, tconst_2.date, tconst_2.time, tconst_2.docid, tconst_2.value
			from #tconst_ slicelast_SC78921
			inner join _1SCONST tconst_2 (nolock)
			on slicelast_SC78921.id = tconst_2.id
			and slicelast_SC78921.objid = tconst_2.objid
			and slicelast_SC78921.date = tconst_2.date
			and slicelast_SC78921.time = tconst_2.time
			and slicelast_SC78921.iddoc = tconst_2.docid
		) slicelast_SC7892
	) vt_slicelast_SC7892
	group by vt_slicelast_SC7892.ТекущийЭлемент
		

) AS СрезЦены
						LEFT JOIN SC7892 AS СпрЦены (nolock) ON СпрЦены.ID = СрезЦены.ТекущийЭлемент

						WHERE (CASE WHEN СпрЦены.ISMARK = 1 THEN 1 ELSE 0 END = 0) AND (СпрЦены.SP7893 <> '     2   ' )   AND (СпрЦены.SP7907 = ' 66Q     8   ' )   
				  ) AS ЦеныСправочникНеДоллар ON 
					(ЦеныСправочникНеДоллар.Валюта =  СпрВалюты.ID) AND
					(ЦеныВДолларе.Квартира = ЦеныСправочникНеДоллар.Квартира) AND
					(ЦеныВДолларе.КатегорияЦены = ЦеныСправочникНеДоллар.КатегорияЦены)
LEFT JOIN (
	select
		vt_slicelast_SC14.ТекущийЭлемент
		
		,max(vt_slicelast_SC14.КурсУправленческийПокупка) as КурсУправленческийПокупка
	from (
		select
			slicelast_SC14.objid ТекущийЭлемент
			
			,case when slicelast_SC14.id = 4506 then slicelast_SC14.VALUE end КурсУправленческийПокупка
		from (
			
			select tconst_2.objid, tconst_2.id, tconst_2.date, tconst_2.time, tconst_2.docid, tconst_2.value
			from #tconst_ slicelast_SC141
			inner join _1SCONST tconst_2 (nolock)
			on slicelast_SC141.id = tconst_2.id
			and slicelast_SC141.objid = tconst_2.objid
			and slicelast_SC141.date = tconst_2.date
			and slicelast_SC141.time = tconst_2.time
			and slicelast_SC141.iddoc = tconst_2.docid
		) slicelast_SC14
	) vt_slicelast_SC14
	group by vt_slicelast_SC14.ТекущийЭлемент
		

) AS СрезКурсы
				  ON СпрВалюты.ID = СрезКурсы.ТекущийЭлемент 
LEFT JOIN (
	select
		vt_slicelast_SC14.ТекущийЭлемент
		
		,max(vt_slicelast_SC14.КурсУправленческийПродажа) as КурсУправленческийПродажа
	from (
		select
			slicelast_SC14.objid ТекущийЭлемент
			
			,case when slicelast_SC14.id = 7910 then slicelast_SC14.VALUE end КурсУправленческийПродажа
		from (
			
			select tconst_2.objid, tconst_2.id, tconst_2.date, tconst_2.time, tconst_2.docid, tconst_2.value
			from #tconst_ slicelast_SC141
			inner join _1SCONST tconst_2 (nolock)
			on slicelast_SC141.id = tconst_2.id
			and slicelast_SC141.objid = tconst_2.objid
			and slicelast_SC141.date = tconst_2.date
			and slicelast_SC141.time = tconst_2.time
			and slicelast_SC141.iddoc = tconst_2.docid
		) slicelast_SC14
	) vt_slicelast_SC14
	group by vt_slicelast_SC14.ТекущийЭлемент
		

) AS СрезКурсДоллар
				  ON ЦеныВДолларе.Валюта = СрезКурсДоллар.ТекущийЭлемент
Время подготовки запроса: 543 мс, время выполнения запроса: 164 мс.