Имеется запрос по расчету остатка: ТекстСКЛ = " |select | Товар [Товар $Справочник.Номенклатура], | sum(Количество) Количество, | sum(Остаток) Остаток, | sum(Резерв) Резерв, | sum(РезервПоСчету) РезервПоСчету |from( | select | $Строки.Товар Товар, | $Строки.Количество*$Строки.Коэффициент Количество, | 0 Остаток, | 0 Резерв, | 0 РезервПоСчету | from $ДокументСтроки.РасходнаяНакладная Строки (nolock) | | Inner Join | $Справочник.Номенклатура As СпрН (Nolock) On СпрН.ID = $Строки.Товар And ||$СпрН.ВидТовара <> :Услуга | where Строки.iddoc = :ТекДок | | union all | | select | Right(Товар,9) Товар, | 0 Количество, | ОстатокТовараОстаток Остаток, | 0 Резерв, | 0 РезервПоСчету | from $РегистрОстатки.ОстаткиТоваров( | :Позиция~, | join( | select Distinct $Строки.Товар СтрТовар | from $ДокументСтроки.РасходнаяНакладная Строки (nolock) | where Строки.iddoc = :ТекДок | )Док on $ВидСправочника36.Номенклатура + Док.СтрТовар = Товар,, | (Склад = :Склад), | (Товар,Склад),ОстатокТовара | ) Остатки | | union all | | select | Товар, | 0 Количество, | 0 Остаток, | РезервТовараОстаток Резерв, | ПоСчету РезервПоСчету | from $РегистрОстатки.РезервыТоваров( | :Позиция~, | join( | select Distinct $Строки.Товар СтрТовар | from $ДокументСтроки.РасходнаяНакладная Строки (nolock) | where Строки.iddoc = :ТекДок | )Док on Док.СтрТовар = Товар, | (Статус = :Жестко And ПоСчету = :ДокРезервирования), | (Товар,Статус,ПоСчету),РезервТовара | ) Резервы | where РезервТовараОстаток>0 |)tmp |group by Товар |having (sum(Количество) > sum(Остаток) Or (sum(Количество) > sum(Остаток) - sum(Резерв) And sum(Количество) > sum(РезервПоСчету))) |"; ТЗ = Recordset.ВыполнитьИнструкцию(ТекстСКЛ);
Запрос расположен в модуле расходной накладной. Сначала все было замечательно - время проведения уменьшилось. Но пару дней назад начались транзакции. В процессе разбирательства выяснилось, что этот запрос стал выполнятся намного медленее (раз в 10 - 20). Пробовал на старой тестовой базе - проводилось нормально, накатил бэкап основной базы - сразу же тормоза. В чем может быть проблема?
Релиз 1С - 25. Релиз 1С++ - 2.0.3.1
|