Init Ledger Journal Trans偏移帐户

时间:2015-03-06 07:50:50

标签: axapta microsoft-dynamics x++

我正在尝试根据通过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初始化某些标准字段,例如AccountNumAmountCurDebit等。

我的问题是OffsetAccount没有从默认设置中填充(在我的特定情况下,它应该从Ledger Journal Name中默认,但它也可以从主帐户设置中获取),这会导致错误验证凭证(不平衡)。

使用一些标准功能来正确初始化抵消帐户会很棒。

谢谢!

2 个答案:

答案 0 :(得分:2)

我找到了一个解决方案:

ledgerJournalEngine = LedgerJournalEngine::construct(ledgerJournalTable.JournalType);
ledgerJournalEngine.newJournalActive(ledgerJournalTable);

ledgerJournalEngine.accountModified(ledgerJournalTrans);

这就成了伎俩!它取决于LedgerTableLedgerJournalName的偏移帐户,LedgerTable具有更高的优先级。

答案 1 :(得分:0)

您可以从LedgerJournalName记录中初始化偏移帐户和偏移维度。您有没有理由不这样做,或者您是否有更多正确的方式来开箱即用?

请在此处查看我的回答,其中有一个非常相似的问题:https://stackoverflow.com/a/27853468/1179573

相关问题