06.09.2007, 17:48 | #1 |
Участник
|
ошибка на dis в CustVendSettle? (для владельцев DAX 3.0 SP 6 EE)
Здравствуйте, коллеги.
при компиляции класса CustVendSettle ругается в методе postPennyDiff (стр 144): X++: this.postPennyDiffOnCashDisc((mSTDiffTrans.amountMST + taxSettled), _custVendTrans, (_custVendTrans.amountMST * 100/_custVendTrans.amountCur), custVendTransCredit,_dimension); X++: void postPennyDiffOnCashDisc(AmountCur _totalAmountCur,
CustVendTrans _custVendTrans,
ExchRate _exchRate,
CustVendTrans _custVendTransCredit) Это только у меня так? Последний раз редактировалось Diman; 06.09.2007 в 18:07. |
|
06.09.2007, 17:52 | #2 |
Участник
|
А при чем здесь глобальная компиляция?
Там же 4 параметра, а передается 5. Конечно ругается. Вот метод из 4ки (SP2). Возможно сможете подделать под него. Нужно просто все custVendTransCredit.Dimension заменить на dimension. Но вообще - это баг, имхо. Надо регистрировать, кто может. X++: void postPennyDiffOnCashDisc(AmountCur _totalAmountCur, CustVendTrans _custVendTrans, ExchRate _exchRate, CustVendTrans _custVendTransCredit, Dimension _dimension = custVendTransCredit.Dimension) { int idx = conlen(conLedgerAccount); int idxMax; LedgerAccount ledgerAccount; AmountCur remainAmountCur = -_totalAmountCur; AmountCur amountCur; ; if (idx) { idxMax = idx; while (idx != 0) { // if tax has been posted we can find the account here ledgerAccount = conpeek(conLedgerAccount, idx); if (idx == idxMax) { amountCur = remainAmountCur; } else { amountCur = conpeek(conTaxBaseAmountCur, idx); } // if no tax was posted we can find the account here if (!ledgerAccount) { ledgerAccount = this.cashDiscAccount(_custVendTrans); } idx--; remainAmountCur -= amountCur; ledgerVoucher.addTrans( LedgerVoucherTransObject::newCreateTrans( ledgerVoucher.findLedgerVoucherObject(), LedgerPostingType::MSTDiff, ledgerAccount, _dimension, CompanyInfo::standardCurrency(), amountCur, _custVendTrans.TableId, _custVendTrans.RecId, 0, _exchRate, 0, UnknownNoYes::No)); } } if (remainAmountCur) { if (!ledgerAccount) { ledgerAccount = this.cashDiscAccount(_custVendTrans); } ledgerVoucher.addTrans( LedgerVoucherTransObject::newCreateTrans( ledgerVoucher.findLedgerVoucherObject(), LedgerPostingType::MSTDiff, ledgerAccount, _dimension, CompanyInfo::standardCurrency(), remainAmountCur, _custVendTrans.TableId, _custVendTrans.RecId, 0, _exchRate, 0, UnknownNoYes::No)); } } |
|
06.09.2007, 18:01 | #3 |
Участник
|
Цитата:
Ну вообще-то там весь класс кривой: taxSettlement, taxCashDisc в этих методах тоже ошибки. Метода approvalVoucherDate вообще нет. Блин. Вот мне и стало интересно, откуда у ошибок ноги растут Понятно, что дело поправимое, но все-таки Последний раз редактировалось Diman; 06.09.2007 в 18:27. |
|
07.09.2007, 13:20 | #4 |
Участник
|
Конечно криво лег.
Пятый параметр добавлен в syp слое. Отсюда вывод, либо вы его вообще не положили, либо положили неправильный. Систему правильно поставили? Проверьте, должно помочь. |
|