![]() |
#1 |
Участник
|
Корреспонденция
Добрый день. Возникла такая ситуация (AX2009, RU5). Если по заказу на продажу в одной операции разносится и строка с положительной суммой и строка с отрицательной суммой (например, скидка) система "переворачивает" проводки сторно:
PHP код:
PHP код:
X++: static server void tutorialBondBatch_RU(Args _args) { LedgerVoucher ledgerVoucher; LedgerVoucherObject ledgerVoucherObject; LedgerBondClient_RU ledgerBondClient; NumberSeq numberSeq; dimension dimension; ; dimension = CustTrans::findFromInvoice('Нвт12/000916', 'К000001').Dimension; numberSeq = NumberSeq::newGetVoucher( LedgerParameters::numRefLedgerExchAdjVoucher()); ledgerVoucher = LedgerVoucher::newLedgerPost(DetailSummary::Summary, SysModule::Ledger, numberSeq.parmNumberSequenceCode(), TransactionLogType::LedgerJournal); ledgerVoucherObject = LedgerVoucherObject::newVoucher(numberSeq.voucher(), systemDateGet(), SysModule::Ledger, LedgerTransType::Sales, NoYes::No); ledgerVoucherObject.parmVoucherCheck(false); ledgerVoucher.addVoucher(ledgerVoucherObject); //ledgerVoucher.findLedgerVoucherObject().parmCorrection(true); ledgerVoucher.addTrans( //Проводка реализации по строке сторно LedgerVoucherTransObject::newCreateTrans( ledgerVoucher.findLedgerVoucherObject(), LedgerPostingType::SalesDisc, '90.01.1', // Ledger account dimension, CompanyInfo::find().currencyCode, 300, // Amount 0, 0) ); //ledgerVoucher.findLedgerVoucherObject().parmCorrection(! ledgerVoucher.findLedgerVoucherObject().parmCorrection()); ledgerVoucher.addTrans( //Проводка реализации по строке продажи LedgerVoucherTransObject::newCreateTrans( ledgerVoucher.findLedgerVoucherObject(), LedgerPostingType::SalesDisc, '90.01.1', // Ledger account dimension, CompanyInfo::find().currencyCode, -2000, // Amount 0, 0) ); ledgerVoucher.addTrans( //Итоговая сумма задолженности LedgerVoucherTransObject::newCreateTrans( ledgerVoucher.findLedgerVoucherObject(), LedgerPostingType::CustBalance, '62.01.1', // Ledger account dimension, CompanyInfo::find().currencyCode, 1700, // Amount 0, 0)); ledgerBondClient =ledgerVoucher.findLedgerVoucherObject().ledgerBondClient_RU(); if (ledgerBondClient && //корреспондируются реализация с проводкой с типом CustBalance ledgerBondClient.findVRefByPostingType(LedgerPostingType::CustBalance)) { ledgerBondClient.bondVRef2Log(ledgerBondClient.findVRefByPostingType(LedgerPostingType::CustBalance)); } ledgerVoucher.end(); Что делать? Подскажите.. ![]() Последний раз редактировалось Andrux; 04.04.2012 в 11:04. |
|