вот это
ТекстЗапроса = "
|set nocount on
|if exists (select * FROM tempdb..sysobjects where
|ID=OBJECT_ID('tempdb..#TempTabNom') AND sysstat & 0xf = 3 )
|drop table #TempTabNom;
|create table #TempTabNom (val char(9), primary key clustered(val))
|set nocount off";
RS.Выполнить(ТекстЗапроса);
RS.Подготовить("insert into #TempTabNom values(?)");
RS.ВыполнитьSQL_ИзТЗ(тч, тч.КоличествоСтрок());
можно заменить на
RS.УложитьСписокОбъектов(спТМЦ,"#TempTabNom","Номенклатура");
должно быть быстрее.
Немного подкорректировал запрос:
ТекстЗапроса = "set nocount on
|select
| Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура],
| Рег.Партия as [Партия $Справочник.Партии],
| Рег.Фирма as [Фирма $Справочник.Фирмы],
| Рег.СтатусПартии as [СтатусПартии $Перечисления.СтатусыПартии],
| Рег.МОЛ as [МОЛ $Справочник.ФизЛица],
| Рег.ЦенаПрод as ЦенаПрод,
| Рег.ДатаПартии as ДатаПартии,
| Рег.КоличествоОстаток as Количество,
| Рег.СуммаУпрОстаток as СуммаУпр,
| Рег.СуммаРубОстаток as СуммаРуб,
| Рег.СуммаБезНДСОстаток as СуммаБезНДС,
| Журнал.IDDoc as [ДокПартии $Документ],
| Журнал.IDDocDef as ДокПартии_вид,
| Журнал.IDDocDef [ВидДок $ВидДокумента],
| Журнал.Date_Time_IDDoc
|from
| $РегистрОстатки.ПартииНаличие(:ДатаРасчета~,
| inner join #TempTabNom as tmpN (nolock) on val = Номенклатура,
| МОЛ = :ВыбМОЛ and Фирма = :ВыбФирма and ЦенаПрод = :ЦенаПрод,
| (Номенклатура,Партия,Фирма,СтатусПартии,МОЛ,ЦенаПрод,ДатаПартии),
| (Количество,СуммаУпр,СуммаРуб,СуммаБезНДС)) as Рег
|left join
| $Справочник.Партии as Партии (nolock) ON Партии.ID = Рег.Партия
|left join
| _1Sjourn as Журнал (nolock) ON Журнал.iddoc = right($Партии.ПриходныйДокумент,9)
|order by Рег.Номенклатура, Журнал.Date_Time_IDDoc