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