|
![]() |
#1 |
Боец
|
0. Тему бы раздел "Программирование"
1. Какой SQL используете? 2. Посмотреть бы ещё на кверю GroupFinancLedgerJournalTrans, возможно туда можно подцепить JournalNum, тогда от одного цикла можно было бы избавиться - это самый злой момент. X++: (while select RecId, budget, JournalNum, Voucher, AccountNum, AmountCurCredit from ledgerTrans where ledgerTrans.RecId == qLedgerTrans.RecId join JournalNum, Posted, JournalType from ledgerTable index hint PostedJournalNumIdx where ledgerTable.JournalNum == ledgerTrans.JournalNum && ledgerTable.Posted == NoYes::Yes) 3. "join ... from ledgerTable" заменить на "exists join ... from ledgerTable" 4. Заменить индекс OffsetVoucherIdx на TransIndex X++: while select OffsetTransVoucher, AccountNum, OffsetRecid, TransRecId, SettleAmountCur from custSettlement index hint TransIndex //orig: index hint OffsetVoucherIdx //where custSettlement.OffsetTransVoucher == ledgerTrans.Voucher && // custSettlement.AccountNum == ledgerTrans.AccountNum && where custSettlement.TransRecId == custTrans.RecId && custSettlement.AccountNum == custTrans.AccountNum && custSettlement.CanBeReversed == NoYes::Yes |
|
|
За это сообщение автора поблагодарили: Alexanderrrr (1). |
![]() |
#2 |
Участник
|
Да, в GroupFinancLedgerJournalTrans две таблицы: LedgerJournalTrans и RContractTable, связынные по AccountNum, RContractCodeDebit и RContractAccountDebit.
Цитата:
и я бы indexhint проверил...
Цитата:
Какой SQL используете?
Цитата:
3. "join ... from ledgerTable" заменить на "exists join ... from ledgerTable"
4. Заменить индекс OffsetVoucherIdx на TransIndex
__________________
..в каждой программе есть хотя бы одна ошибка.. |
|
![]() |
#3 |
Moderator
|
__________________
Андрей. |
|