Hi guys,
I'm creating payment journal using X , initially it was fine and had been ran successfully (able to post via x ) for few days, but just recently (today) I got this error which I'm not sure what happened :
Function DimensionValidationRequest::newForLedgerDimensionType has been incorrectly called.
My code is as simple as like this :
ledgerjournalname = LedgerJournalName::find(CustParameters::find().TEST_CustomerPaymentJourName); ledgerjournaltable.JournalName = ledgerjournalname.JournalName; ledgerjournalTable.initFromLedgerJournalName(); ledgerjournalTable.JournalNum = JournalTableData::newTable(ledgerjournalTable).nextJournalId(); ledgerJournalTable.Name = strFmt("Payment on %1.", today()); ledgerjournalTable.insert(); While select.... { ttsbegin; NumberSeq numberSeqTransVoucher; CustTable custTable = CustTable::find(receiptGroupTmpSelect.CustAccount); RetailTransactionTable retailTable = RetailTransactionTable::findReceiptId(MyTable.receiptId); container txtReceiptIds; ledgerjournalTrans.JournalNum = ledgerjournalTable.JournalNum; numberSeqTransVoucher = NumberSeq::newGetVoucherFromId((ledgerjournalname.NumberSequenceTable)); ledgerJournalTrans.TransDate = MyTable.TransDate; LedgerJournalTrans.Company = curExt(); ledgerjournalTrans.Voucher = numberSeqTransVoucher.voucher(); ledgerjournalTrans.TransactionType = LedgerTransType::Payment; ledgerjournalTrans.AccountType = LedgerJournalACType::Cust; ledgerJournalTrans.LedgerDimension = LedgerDynamicAccountHelper::getDynamicAccountFromAccountNumber(custTable.AccountNum,LedgerJournalACType::Cust); ledgerJournalTrans.DefaultDimension = retailTable.DefaultDimension; ledgerjournalTrans.parmAccount(custTable.AccountNum,ledgerjournalTrans.AccountType); ledgerJournalTrans.postingProfile = CustParameters::find().PostingProfile; ledgerJournalTrans.Txt = MyTable.Txt; LedgerJournalTrans.PaymReference = MyTable.PaymReference; ledgerjournalTrans.CurrencyCode = retailTable.currency; txtReceiptIds = [receiptInvPayMatchMasterGroupbyReceipt.ReceiptId]; ledgerJournalTrans.ExchRate = CurrencyExchangeHelper::newExchangeDate(Ledger::current(), receiptGroupTmpSelect.transDate). calculateCurrencyToCurrency(ledgerjournalTrans.CurrencyCode, Ledger::accountingCurrencyByLedger(Ledger::current()), MyTable.paymentAmount,true); ledgerJournalTrans.PaymMode = MyTable.CustPaymMode; ledgerJournalTrans.modifiedField(fieldNum(LedgerJournalTrans,PaymMode)); ledgerJournalTrans.OffsetAccountType = MyTable.OffsetAccountType; ledgerjournaltrans.OffsetCompany = curExt(); ledgerjournalTrans.OffsetLedgerDimension = CustPaymModeTable::find(ledgerJournalTrans.PaymMode).PaymentLedgerDimension; ledgerJournalTrans.modifiedField(fieldNum(LedgerJournalTrans,OffsetLedgerDimension)); ledgerJournalTrans.insert(); } LedgerjournalCheckPost LedgerjournalCheckPost; LedgerjournalCheckPost = LedgerjournalCheckPost::newLedgerJournalTable(LedgerjournalTable,NoYes::Yes); LedgerjournalCheckPost.run();
Someone mentioned about Account structure changed, but there is no changes and currently is Active.
Thanks