Last active
February 8, 2017 13:04
-
-
Save davidalencar/c9e7a118fdd74d2a8287efc56c512763 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void postJournal(CustTransOpenMobilePaym_AX4B _mobilePaym) | |
{ | |
CustVendOpenTransManager manager; | |
LedgerJournalCheckPost ledgerJournalCheckPost; | |
NumberSeq numberSeq; | |
ledgerJournalTrans ledgerJournalTrans; | |
ledgerJournalTable ledgerJournalTable; | |
AxLedgerJournalTrans axLedgerJournalTrans; | |
QueryRun qRun = new QueryRun(custTransQuery); | |
CustTrans custTrans; | |
CustTransOpen openTrans; | |
try | |
{ | |
ttsBegin; | |
// Create Journal | |
ledgerJournalTable.initFromLedgerJournalName(_mobilePaym.LedgerJournalNameId); | |
ledgerJournalTable.insert(); | |
// Create Line | |
numberSeq = NumberSeq::newGetVoucherFromCode(NumberSequenceTable::find(ledgerJournalTable.ledgerJournalName().NumberSequenceTable).NumberSequence); | |
axLedgerJournalTrans = new axLedgerJournalTrans(); | |
axLedgerJournalTrans.parmJournalNum(ledgerJournalTable.JournalNum); | |
axLedgerJournalTrans.parmVoucher(numberSeq.voucher()); | |
axLedgerJournalTrans.parmTransDate(today()); | |
axLedgerJournalTrans.parmDue(today()); | |
axLedgerJournalTrans.parmPaymMode(_mobilePaym.displayPaymMode_AX4B()); | |
axLedgerJournalTrans.parmPayment(_mobilePaym.displayPaymTermId_AX4B()); | |
axLedgerJournalTrans.parmAccountType(LedgerJournalACType::Cust); | |
axLedgerJournalTrans.parmLedgerDimension(DimensionStorage::getDynamicAccount(_mobilePaym.CustAccount, LedgerJournalACType::Cust)); | |
axLedgerJournalTrans.parmAmountCurCredit(_mobilePaym.AmountCur); | |
axLedgerJournalTrans.parmTxt(CustParameters::find().MobilePaymTransTxt_AX4B); | |
axLedgerJournalTrans.parmOffsetAccountType(ledgerJournalTable.ledgerJournalName().OffsetAccountType); | |
axLedgerJournalTrans.parmOffsetLedgerDimension(ledgerJournalTable.ledgerJournalName().OffsetLedgerDimension); | |
axLedgerJournalTrans.parmAuthorizationNumber_AX4B(_mobilePaym.AuthorizationNumber); | |
axLedgerJournalTrans.parmTEFDoc_AX4B(_mobilePaym.TEFDoc); | |
axLedgerJournalTrans.parmApproved(NoYes::Yes); | |
axLedgerJournalTrans.parmApprover(HcmWorker::userId2Worker(curUserId())); | |
axLedgerJournalTrans.parmTransactionType(LedgerTransType::Payment); | |
axLedgerJournalTrans.save(); | |
//Mark trans to pay | |
manager = CustVendOpenTransManager::construct(axLedgerJournalTrans.ledgerJournalTrans()); | |
while(qRun.next()) | |
{ | |
openTrans = qRun.get(tableNum(CustTransOpen)); | |
manager.updateTransMarked(openTrans,true); | |
manager.updateSettleAmount(openTrans, _mobilePaym.AmountCur); | |
} | |
//Update line | |
ledgerJournalTrans = axLedgerJournalTrans.ledgerJournalTrans(); | |
ledgerJournalTrans.selectForUpdate(true); | |
ledgerJournalTrans.SettleVoucher = SettlementType::SelectedTransact; | |
ledgerJournalTrans.BankTransType = _mobilePaym.BankTransType; | |
ledgerJournalTrans.DefaultDimension = ledgerJournalTable.ledgerJournalName().DefaultDimension; | |
ledgerJournalTrans.OffsetDefaultDimension = ledgerJournalTable.ledgerJournalName().DefaultDimension; | |
ledgerJournalTrans.OffsetLedgerDimension = ledgerJournalTable.ledgerJournalName().OffsetLedgerDimension; | |
ledgerJournalTrans.update(); | |
//Post journal | |
ledgerJournalCheckPost = LedgerJournalCheckPost::newLedgerJournalTable(ledgerJournalTable, NoYes::Yes); | |
ledgerJournalCheckPost.run(); | |
ttsCommit; | |
info (ledgerJournalTable.JournalNum); | |
} | |
catch | |
{ | |
ttsAbort; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment