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