我正在尝试根据通过AIF入站服务收到的数据创建(和发布)分类帐日记帐。数据写入包含所有必填字段的自定义临时表中。
现在,我需要从此临时表创建日记和日记转换记录。我可以使用多个LedgerJournalTable
记录创建LedgerJournalTrans
条记录。
以下是用于创建LedgerJournalTrans
的代码段:
ledgerJournalTrans = this.initJournalTransFromStaging(ledgerJournalStaging);
ledgerJournalTrans.initValue();
ledgerJournalTrans.JournalNum = ledgerJournalTable.JournalNum;
ledgerJournalTrans.Voucher = numberSeq.voucher();
if (ledgerJournalTrans.validateWrite())
{
ledgerJournalTrans.insert();
}
// After that comes voucher validation using JedgerJournalCheckPost, which issues error that the voucher does not balance
this.initJournalTransFromStaging
初始化某些标准字段,例如AccountNum
,AmountCurDebit
等。
我的问题是OffsetAccount
没有从默认设置中填充(在我的特定情况下,它应该从Ledger Journal Name中默认,但它也可以从主帐户设置中获取),这会导致错误验证凭证(不平衡)。
使用一些标准功能来正确初始化抵消帐户会很棒。
谢谢!
答案 0 :(得分:2)
我找到了一个解决方案:
ledgerJournalEngine = LedgerJournalEngine::construct(ledgerJournalTable.JournalType);
ledgerJournalEngine.newJournalActive(ledgerJournalTable);
ledgerJournalEngine.accountModified(ledgerJournalTrans);
这就成了伎俩!它取决于LedgerTable
或LedgerJournalName
的偏移帐户,LedgerTable
具有更高的优先级。
答案 1 :(得分:0)
您可以从LedgerJournalName
记录中初始化偏移帐户和偏移维度。您有没有理由不这样做,或者您是否有更多正确的方式来开箱即用?
请在此处查看我的回答,其中有一个非常相似的问题:https://stackoverflow.com/a/27853468/1179573