Всем привет!
Вот запросик в проведении документа, который начал тормозить прямо пропорционально количеству строк в документе. Помогите пожалуйста выловить косяк!
Запрос = СоздатьОбъект("OdbcRecordSet");
ТабРез = СоздатьОбъект("Addin.ValTable");
MW = СоздатьОбъект("MetaDataWork");
Запрос.РежимRPC(1);
ьПозициюДокумента(ТекущийДокумент())));
Запрос.УстановитьТекстовыйПараметр("ТД", ТекущийДокумент());
Запрос.УстановитьТекстовыйПараметр("Склад", загСклад);
Запрос.УстановитьТекстовыйПараметр("Раб", enum.ВидыТоваров.Работа);
ТЗ = "
|select
|БигС.НомСтр [НомСтр $число],
|БигС.Тов [Товар $Спраочник.Товары],
|БигС.Скл [Склад $Справочник.Склады],
|БигС.Док [Док $Документ],
|БигС.ДДок [ДДок $Дата],
|БигС.КонОст [КонОст $число],
|БигС.СумБаз [СумБаз $число],
|БигС.СумВал [СумВал $число]
|from
|(select
|ДокС.lineNO_ НомСтр,
|$ДокС.табТовар Тов,
|case
| when $ДокС.табСклад = $ПустойИД then :Склад
| else $ДокС.табСклад
|end Скл ,
|null Док,
|null ДДок,
|0 КонОст,
|0 СумБаз,
|0 СумВал
|from $ДокументСтроки.РасходнаяНакл ДокС
|inner join $Справочник.Товары СпрТ (nolock) on СпрТ.id = $ДокС.табТовар
|Where ДокС.iddoc = :ТД and $ДокС.табКоличество>0 and $СпрТ.спрВидТовара <> :Раб
|union
|select
|null,
|РегОст.измТовар,
|РегОст.измСклад,
|РегОст.измДокумент,
|max(Left(j.Date_Time_iddoc,8)),
|Min(РегОст.ресКоличествоОстаток),
|Min(РегОст.ресСуммаБазОстаток),
|Min(РегОст.ресСуммаВалОстаток)
|from $РегистрОстатки.Товары(:ДатаН, inner join (
| select distinct
| $Д.табТовар Тов,
| Case
| when $Д.табСклад = $ПустойИД then :Склад
| else $Д.табСклад end Скл
| from $ДокументСтроки.РасходнаяНакл Д
| inner join $Справочник.Товары СпрТ (nolock) on СпрТ.id = $Д.табТовар
| where Д.iddoc = :ТД and $Д.табКоличество>0 and $СпрТ.спрВидТовара <> :Раб) ДокС on ДокС.Тов = измТовар and ДокС.Скл = измСклад, , (измТовар, измСклад, измДокумент), (ресКоличество, ресСуммаБаз, ресСуммаВал)
|) РегОст
|left join _1sjourn j (nolock) on j.iddoc = Right(РегОст.измДокумент,9)
|group by
|РегОст.измТовар,
|РегОст.измСклад,
|РегОст.измДокумент
|having Min(РегОст.ресКоличествоОстаток)>0
|) БигС
|";
ТабРез.Загрузить(Запрос.ВыполнитьИнструкцию(ТЗ));