Notifications
Announcements
No record found.
[Form] public class ISLFoCInvoicedSalesOrderForm extends FormRun { [Control("Button")] class Post { /// <summary> /// /// </summary> public void clicked() { super(); int recordsCount; ISLFoCInvoicedSalesOrder _iSLFoCInvoicedSalesOrder,iSLFoCInvoicedSalesOrderLoc; container con; Args args; str multiSelectString; DialogButton Button; int i; RecId recid; NumberSeq numberSeq; CustParameters custparameter; CustTable custtable_g; Ledgerjournalname ledgerjournalname; LedgerjournalTable ledgerjournalTable; LedgerjournalTrans ledgerjournalTrans; LedgerJournalCheckPost ledgerJournalCheckPost; ; args = new Args(); recordsCount = ISLFoCInvoicedSalesOrder_ds.recordsMarked().lastIndex(); // gets the total records selected _iSLFoCInvoicedSalesOrder = ISLFoCInvoicedSalesOrder_ds.getFirst(1); while (_iSLFoCInvoicedSalesOrder) { // storing recid of selected field in container con = conIns(con,1,_iSLFoCInvoicedSalesOrder.RecId); // converting container to string with comma separated multiSelectString = con2Str(con,","); _iSLFoCInvoicedSalesOrder = ISLFoCInvoicedSalesOrder_ds.getNext(); // moves to next record } if(con == conNull()) { Info('please select lines to transfer '); } else { Button= Box::okCancel("Do you want to post the journal?",DialogButton::No); if (Button == DialogButton::Ok) { select DTJournalName,DTMainAccountId FROM custparameter; select ledgerjournalname where ledgerjournalname.JournalName == custparameter.DTJournalName; //use correct payment journal name ledgerjournalTable.JournalName = ledgerjournalname.JournalName; ledgerjournalTable.initFromLedgerJournalName(); ledgerjournalTable.JournalNum = JournalTableData::newTable(ledgerjournalTable).nextJournalId(); ledgerjournalTable.insert(); for(i = 1;i<= conLen(con) ;i++) { recid = conPeek(con,i); select * from iSLFoCInvoicedSalesOrderLoc where iSLFoCInvoicedSalesOrderLoc.RecId == recid; select * from custtable_g where custtable_g.AccountNum == iSLFoCInvoicedSalesOrderLoc.CustAccount; numberSeq = NumberSeq::newGetVoucherFromId((ledgerjournalname.NumberSequenceTable)); ledgerjournalTrans.Voucher = numberSeq.voucher(); ledgerjournalTrans.JournalNum = ledgerjournalTable.JournalNum; ledgerjournalTrans.AccountType = LedgerJournalACType::Cust; ledgerjournalTrans.Company = curext(); ledgerjournalTrans.parmAccount(custtable_g.AccountNum,ledgerjournalTrans.AccountType); ledgerjournalTrans.initFromCustTable(custtable_g); ledgerjournalTrans.TransDate = systemDateGet(); ledgerjournalTrans.ExchRate = ExchangeRateHelper::exchRate(ledgerjournalTrans.CurrencyCode); ledgerjournalTrans.Txt = strFmt('Payment for item sale for sales id : %1',iSLFoCInvoicedSalesOrderLoc.SalesId); ledgerjournalTrans.DefaultDimension = custtable_g.DefaultDimension; ledgerjournalTrans.OffsetDefaultDimension = custtable_g.DefaultDimension; LedgerJournalTrans.OffsetLedgerDimension = LedgerDynamicAccountHelper::getDynamicAccountFromAccountNumber("500002",LedgerJournalACType::Ledger); ledgerJournalTrans.OffsetAccountType = LedgerJournalACType::Ledger; ledgerjournalTrans.TransactionType = LedgerTransType::Payment; ledgerjournalTrans.AmountCurCredit = iSLFoCInvoicedSalesOrderLoc.InvoiceAmount; ledgerjournalTrans.PaymMode = custtable_g.PaymMode; //ledgerjournalTrans.SettleVoucher = SettlementType::SelectedTransact; ledgerjournalTrans.modifiedField(fieldNum(LedgerjournalTrans,PaymMode)); ledgerjournalTrans.insert(); //element.settlement(LedgerjournalTrans,ledgerjournalTrans.AmountCurCredit); //look for method //Post Journal ledgerJournalCheckPost = LedgerJournalCheckPost::newLedgerJournalTable(ledgerjournalTable,NoYes::Yes); ledgerJournalCheckPost.run(); ttsCommit; info(strFmt("Journal %1 created for item sales Id %2 to Student id %3",ledgerjournalTable.JournalNum,iSLFoCInvoicedSalesOrderLoc.SalesId,custtable_g.AccountNum)); } } else if(Button == DialogButton::Cancel) { select DTJournalName FROM custparameter; select ledgerjournalname where ledgerjournalname.JournalName == custparameter.DTJournalName; //use correct payment journal name ledgerjournalTable.JournalName = ledgerjournalname.JournalName; ledgerjournalTable.initFromLedgerJournalName(); ledgerjournalTable.JournalNum = JournalTableData::newTable(ledgerjournalTable).nextJournalId(); ledgerjournalTable.insert(); for(i = 1;i<= conLen(con) ;i++) { recid = conPeek(con,i); select * from iSLFoCInvoicedSalesOrderLoc where iSLFoCInvoicedSalesOrderLoc.RecId == recid; select * from custtable_g where custtable_g.AccountNum == iSLFoCInvoicedSalesOrderLoc.CustAccount; numberSeq = NumberSeq::newGetVoucherFromId((ledgerjournalname.NumberSequenceTable)); ledgerjournalTrans.Voucher = numberSeq.voucher(); ledgerjournalTrans.JournalNum = ledgerjournalTable.JournalNum; ledgerjournalTrans.AccountType = LedgerJournalACType::Cust; ledgerjournalTrans.Company = curext(); ledgerjournalTrans.parmAccount(custtable_g.AccountNum,ledgerjournalTrans.AccountType); ledgerjournalTrans.initFromCustTable(custtable_g); ledgerjournalTrans.TransDate = systemDateGet(); ledgerjournalTrans.ExchRate = ExchangeRateHelper::exchRate(ledgerjournalTrans.CurrencyCode); ledgerjournalTrans.Txt = strFmt('Payment for item sale for sales id : %1',iSLFoCInvoicedSalesOrderLoc.SalesId); ledgerjournalTrans.DefaultDimension = custtable_g.DefaultDimension; ledgerjournalTrans.OffsetDefaultDimension = custtable_g.DefaultDimension; ledgerjournalTrans.OffsetLedgerDimension = MainAccount::findByMainAccountId(custparameter.DTMainAccountId).RecId; ledgerjournalTrans.TransactionType = LedgerTransType::Payment; ledgerjournalTrans.AmountCurCredit = iSLFoCInvoicedSalesOrderLoc.InvoiceAmount; ledgerjournalTrans.PaymMode = custtable_g.PaymMode; //ledgerjournalTrans.SettleVoucher = SettlementType::SelectedTransact; ledgerjournalTrans.modifiedField(fieldNum(LedgerjournalTrans,PaymMode)); ledgerjournalTrans.insert(); } } } } } }
LedgerDimensionFacade::serviceCreateLedgerDimension( LedgerDefaultAccountHelper::getDefaultAccountFromMainAccountId(...));
numberSeq = NumberSeq::newGetVoucherFromId((ledgerjournalname.NumberSequenceTable)); ledgerjournalTrans.Voucher = numberSeq.voucher(); ledgerjournalTrans.JournalNum = ledgerjournalTable.JournalNum; ledgerjournalTrans.AccountType = LedgerJournalACType::Cust; ledgerjournalTrans.Company = curext(); ledgerjournalTrans.parmAccount(custtable_g.AccountNum,ledgerjournalTrans.AccountType); ledgerjournalTrans.initFromCustTable(custtable_g); ledgerjournalTrans.TransDate = systemDateGet(); ledgerjournalTrans.ExchRate = ExchangeRateHelper::exchRate(ledgerjournalTrans.CurrencyCode); ledgerjournalTrans.Txt = strFmt('Payment for item sale for sales id : %1',iSLFoCInvoicedSalesOrderLoc.SalesId); ledgerjournalTrans.DefaultDimension = custtable_g.DefaultDimension; ledgerjournalTrans.OffsetDefaultDimension = 0; ledgerJournalTrans.OffsetAccountType = LedgerJournalACType::Ledger; ledgerJournalTrans.OffsetLedgerDimension = LedgerDimensionFacade::serviceCreateLedgerDimension(LedgerDefaultAccountHelper::getDefaultAccountFromMainAccountId(custparameter.DTMainAccountId),custtable_g.DefaultDimension); ledgerJournalTrans.modifiedField(fieldNum(LedgerJournalTrans, OffsetLedgerDimension)); ledgerjournalTrans.TransactionType = LedgerTransType::Payment; ledgerjournalTrans.AmountCurCredit = iSLFoCInvoicedSalesOrderLoc.InvoiceAmount; ledgerjournalTrans.PaymMode = custtable_g.PaymMode; //ledgerjournalTrans.SettleVoucher = SettlementType::SelectedTransact; ledgerjournalTrans.modifiedField(fieldNum(LedgerjournalTrans,PaymMode)); ledgerjournalTrans.insert();
LedgerDimensionFacade::serviceCreateLedgerDimension(LedgerDefaultAccountHelper::getDefaultAccountFromMainAccountId(custParameter.DTMainAccountId), custTable_g.DefaultDimension);
public static LedgerDimensionAccount serviceCreateLedgerDimension( RecId _ledgerDimensionId, DimensionDefault _dimensionDefault1 = 0, DimensionDefault _dimensionDefault2 = 0, DimensionDefault _dimensionDefault3 = 0) { container cachedResult; LedgerDimensionAccount createdLedgerDimension; LedgerRecId ledgerRecId; // Add ledger to cache key as default accounts only reference a main account which are only striped by COA, which can cause collisions across ledgers ledgerRecId = Ledger::current(); // If no dimension is specified, just return 0 if (_ledgerDimensionId == 0) { createdLedgerDimension = 0; } else { cachedResult = DimensionCache::getValue( DimensionCacheScope::DefaultingCreateLedgerDimension, [_ledgerDimensionId, ledgerRecId, _dimensionDefault1, _dimensionDefault2, _dimensionDefault3]); if (cachedResult == connull()) { cachedResult = [LedgerDimensionFacade::createLedgerDimension(_ledgerDimensionId, _dimensionDefault1, _dimensionDefault2, _dimensionDefault3)]; DimensionCache::insertValue( DimensionCacheScope::DefaultingCreateLedgerDimension, [_ledgerDimensionId, ledgerRecId, _dimensionDefault1, _dimensionDefault2, _dimensionDefault3], cachedResult); } [createdLedgerDimension] = cachedResult; } return createdLedgerDimension; }
ledgerJournalTrans.OffsetAccountType = LedgerJournalACType::Ledger; DimensionDynamicAccount dimensionDynamicAccount ; dimensionDynamicAccount = LedgerDimensionFacade::serviceCreateLedgerDimension(LedgerDefaultAccountHelper::getDefaultAccountFromMainAccountId(custparameter.DTMainAccountId),custtable_g.DefaultDimension); ledgerJournalTrans.OffsetLedgerDimension = dimensionDynamicAccount ;
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
As AI tools become more common, we’re introducing a Responsible AI Use…
We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…
These are the community rock stars!
Stay up to date on forum activity by subscribing.
Martin Dráb 584 Most Valuable Professional
André Arnaud de Cal... 499 Super User 2025 Season 2
Sohaib Cheema 254 User Group Leader