Payment journal creation and Posting through code in AX 2012
class T_VendPaym
{
public static void Main(Args _args)
{
Ledgerjournalname ledgerjournalname;
LedgerJournalTable jourTable;
LedgerJournalTrans jourTrans;
LedgerJournalCheckPost jourPost;
AccountNum accountNum;
NumberSeq voucherNumSeq;
NumberSequenceTable numberSequenceTable;
DimensionCombinationBase dimensionCombinationBase;
select ledgerjournalname where ledgerjournalname.JournalName == "VendPay";
ttsbegin;
jourTable.JournalName = ledgerjournalname.JournalName;
jourTable.JournalNum = JournalTableData::newTable(jourTable).nextJournalId();
accountNum = jourTable.JournalNum;
jourTable.JournalType = LedgerJournalType::Payment;
jourTable.insert();
jourTrans.JournalNum = jourTable.JournalNum;
numberSequenceTable = NumberSequenceTable::find(LedgerJournalName::find(jourTable.JournalName).NumberSequenceTable);
voucherNumSeq = NumberSeq::newGetVoucherFromCode(numberSequenceTable.NumberSequence);
jourTrans.Voucher = voucherNumSeq.voucher();
jourTrans.AccountType = LedgerJournalACType::Vend;
jourTrans.CurrencyCode = "USD";
jourTrans.initValue();
jourTrans.TransDate = systemDateGet();
dimensionCombinationBase = DimensionAttributeValueCombination::getDynamicDisplayValue("1003").RecId;
jourTrans.LedgerDimension = DimensionAttributeValueCombination::find(dimensionCombinationBase,true,true).RecId;
jourTrans.Txt = DimensionAttributeValueCombination::find(dimensionCombinationBase,true,true).DisplayValue;
jourTrans.offsetAccountType = LedgerJournalACType::Bank;
jourTrans.OffsetLedgerDimension = DimensionAttributeValueCombination::getDynamicDisplayValue("USMF EUR").RecId;
jourTrans.AmountCurDebit =2000;
jourTrans.PaymMode = "ELECTRONIC";
jourTrans.BankTransType = "01";
jourTrans.insert();
ttscommit;
info(strFmt("Journal '%1 %2' has been created", jourTable.JournalNum,jourTrans.Voucher));
jourTable = LedgerJournalTable::find(accountNum);
jourPost = LedgerJournalCheckPost::newLedgerJournalTable(jourTable,NoYes::Yes);
jourPost.run();
}
}
class T_VendPaym
{
public static void Main(Args _args)
{
Ledgerjournalname ledgerjournalname;
LedgerJournalTable jourTable;
LedgerJournalTrans jourTrans;
LedgerJournalCheckPost jourPost;
AccountNum accountNum;
NumberSeq voucherNumSeq;
NumberSequenceTable numberSequenceTable;
DimensionCombinationBase dimensionCombinationBase;
select ledgerjournalname where ledgerjournalname.JournalName == "VendPay";
ttsbegin;
jourTable.JournalName = ledgerjournalname.JournalName;
jourTable.JournalNum = JournalTableData::newTable(jourTable).nextJournalId();
accountNum = jourTable.JournalNum;
jourTable.JournalType = LedgerJournalType::Payment;
jourTable.insert();
jourTrans.JournalNum = jourTable.JournalNum;
numberSequenceTable = NumberSequenceTable::find(LedgerJournalName::find(jourTable.JournalName).NumberSequenceTable);
voucherNumSeq = NumberSeq::newGetVoucherFromCode(numberSequenceTable.NumberSequence);
jourTrans.Voucher = voucherNumSeq.voucher();
jourTrans.AccountType = LedgerJournalACType::Vend;
jourTrans.CurrencyCode = "USD";
jourTrans.initValue();
jourTrans.TransDate = systemDateGet();
dimensionCombinationBase = DimensionAttributeValueCombination::getDynamicDisplayValue("1003").RecId;
jourTrans.LedgerDimension = DimensionAttributeValueCombination::find(dimensionCombinationBase,true,true).RecId;
jourTrans.Txt = DimensionAttributeValueCombination::find(dimensionCombinationBase,true,true).DisplayValue;
jourTrans.offsetAccountType = LedgerJournalACType::Bank;
jourTrans.OffsetLedgerDimension = DimensionAttributeValueCombination::getDynamicDisplayValue("USMF EUR").RecId;
jourTrans.AmountCurDebit =2000;
jourTrans.PaymMode = "ELECTRONIC";
jourTrans.BankTransType = "01";
jourTrans.insert();
ttscommit;
info(strFmt("Journal '%1 %2' has been created", jourTable.JournalNum,jourTrans.Voucher));
jourTable = LedgerJournalTable::find(accountNum);
jourPost = LedgerJournalCheckPost::newLedgerJournalTable(jourTable,NoYes::Yes);
jourPost.run();
}
}
No comments:
Post a Comment