|
13.09.2009, 21:26 | #1 |
Участник
|
Цитата:
Сообщение от ViV
Вопрос про блок X++: where factureJour.FactureId == factureTrans.FactureId
&& factureJour.Module == module
&& factureJour.CustVendInvoiceAccount == this.InvoiceAccount Следует ли отсюда, что условие "&& factureJour.CustVendInvoiceAccount == this.InvoiceAccount" лишнее? Цитата:
Цитата:
Сообщение от mazzy Т.е. нужно делать примерно так
X++: // Header markups // SHiSHok.FRA_Optimize --> factureJour.clear(); while select RecId from markupTrans where markupTrans.TransRecId == this.RecId && markupTrans.TransTableId == this.TableId join RecId from factureTrans where factureTrans.MarkupRefRecId == markupTrans.RecId && factureTrans.Module == module && factureTrans.FactureLineType == FactureLineType_RU::Markup join * from factureJour index CustVendModuleIdx where factureJour.FactureId == factureTrans.FactureId && factureJour.Module == module && factureJour.CustVendInvoiceAccount == this.InvoiceAccount Цитата:
Сообщение от SHiSHok
X++: DIS : // Header markups while select factureJour join RecId from factureTrans join RecId from markupTrans where factureJour.Module == module && factureJour.CustVendInvoiceAccount == this.InvoiceAccount && factureTrans.FactureId == factureJour.FactureId && factureTrans.Module == module && factureTrans.FactureLineType == FactureLineType_RU::Markup && markupTrans.RecId == factureTrans.MarkupRefRecId && markupTrans.TransTableId == this.TableId && markupTrans.TransRecId == this.RecId { if ( ! ret.find(factureJour)) { ret.ins(factureJour); } } P.S. Мне не понятно - другое, в варианте после оптимизации : Цитата:
Сообщение от SHiSHok
X++: // Header markups // SHiSHok.FRA_Optimize --> factureJour.clear(); while select forceselectorder forcenestedloop forceplaceholders RecId from markupTrans join RecId from factureTrans join * from factureJour index CustVendModuleIdx where markupTrans.TransTableId == this.TableId && markupTrans.TransRecId == this.RecId && factureTrans.FactureLineType == FactureLineType_RU::Markup && factureTrans.MarkupRefRecId == markupTrans.RecId && factureJour.FactureId == factureTrans.FactureId && factureJour.Module == factureTrans.Module && factureJour.Module == module && factureJour.CustVendInvoiceAccount == this.InvoiceAccount { if ( ! ret.find(factureJour)) { ret.ins(factureJour); } } // SHiSHok.FRA_Optimize <-- X++: join * from factureJour index CustVendModuleIdx
__________________
Sergey Nefedov |
|
Теги |
axapta, faq, запрос (query), производительность |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|