Need to update/carry/flow Custom Fields In CustTrans/VendTrans From LedgerJournalTrans during the posting of journal.
Sample Code
[ExtensionOf(classStr(CustVendVoucher))] final class AcxCustVendVoucher_Extension { public void post( LedgerVoucher _ledgerPostingJournal, CustVendTrans _custVendTrans, NoYes _approval, UnknownNoYes _euroTriangulation, boolean _withHoldTaxType, boolean _useSubLedger) { LedgerJournalTrans ledgerJournalTransLocal; VendTrans vendTransUpdate; Common commonLocal = common; next post(_ledgerPostingJournal, _custVendTrans, _approval, _euroTriangulation, _withHoldTaxType, _useSubLedger); if (commonLocal.TableId == tableNum(LedgerJournalTrans)) { ledgerJournalTransLocal = commonLocal; if (_custVendTrans.tableid == tableNum(vendTrans)) { ttsbegin; //*******NOT Recommended********* //either update in vendTrans or custtrans select firstonly1 vendTransUpdate where vendTransUpdate.RecId == _custVendTrans.RecId; vendTransUpdate.selectForUpdate(true); vendTransUpdate.DocumentNum = ledgerJournalTransLocal.accountName(); vendTransUpdate.doUpdate(); ttscommit; //*******Recommended********* //or insert record with reference of VendTrans.RecId into a seperate table like AcxVendTrans } } } }
To update custom fields in CustTrans/VendTrans HostMyCode from LedgerJournalTrans during journal posting in D365 FO X++, you can override the post method in LedgerJournalTrans and add your update logic for the custom fields there.
ReplyDelete