При обработке с/ф по накладной очень долго вызывается форма "Обработка счета-фактуры".
При анализе выяснилось, что максимальная задержка в методе
FactureEditLinesEngineVend_RU\dsExecuteMarkup
Там стоит такой загадочный код:
Код:
select markupCursor
where markupCursor.CustVendPosted_RU &&
! markupCursor.ItemPosted_RU
exists join tTrans
where (markupCursor.TransTableId == tTrans.TableId &&
markupCursor.TransRecId == tTrans.RecId &&
tTrans.PurchID == tJour.PurchId &&
tTrans.InvoiceId == tJour.InvoiceId &&
tTrans.InvoiceDate == tJour.InvoiceDate &&
tTrans.NumberSequenceGroup == tJour.NumberSequenceGroup &&
tTrans.InternalInvoiceId == tJour.InternalInvoiceId
) ||
(
markupCursor.TransTableId == tJour.TableId &&
markupCursor.TransRecId == tJour.RecId
);
После изменеия его на
Код:
select markupCursor index TableRecIdIdx
where markupCursor.CustVendPosted_RU &&
! markupCursor.ItemPosted_RU &&
markupCursor.TransTableId == tJour.TableId &&
markupCursor.TransRecId == tJour.RecId;
if (!markupCursor)
select markupCursor
where markupCursor.CustVendPosted_RU &&
! markupCursor.ItemPosted_RU
exists join tTrans index InvoiceIdx
where
markupCursor.TransTableId == tTrans.TableId &&
markupCursor.TransRecId == tTrans.RecId &&
tTrans.PurchID == tJour.PurchId &&
tTrans.InvoiceId == tJour.InvoiceId &&
tTrans.InvoiceDate == tJour.InvoiceDate &&
tTrans.NumberSequenceGroup == tJour.NumberSequenceGroup &&
tTrans.InternalInvoiceId == tJour.InternalInvoiceId;
форма вызывается на порядок быстрее.
Т.к. я не проограммист, у меня вопрос - одинаковый результат у этих запросов, или я в чем -то ошибся.
Спасибо.