Axapta 初始分类账日记帐转换抵销科目
我正在尝试根据通过AIF入站服务接收的数据创建(和过账)分类账日记帐。数据与所有必要的字段一起写入自定义暂存表中 现在,我需要从这个暂存表创建日志和日志事务记录。我能够使用多条Axapta 初始分类账日记帐转换抵销科目,axapta,microsoft-dynamics,x++,Axapta,Microsoft Dynamics,X++,我正在尝试根据通过AIF入站服务接收的数据创建(和过账)分类账日记帐。数据与所有必要的字段一起写入自定义暂存表中 现在,我需要从这个暂存表创建日志和日志事务记录。我能够使用多条LedgerJournalTrans记录创建LedgerJournalTable记录 下面是一段代码片段,用于创建LedgerJournalTrans: ledgerJournalTrans = this.initJournalTransFromStaging(ledgerJournalStaging); ledger
LedgerJournalTrans
记录创建LedgerJournalTable
记录
下面是一段代码片段,用于创建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.initJournalTransformStaging
初始化一些标准字段,如AccountNum
,AmountCurDebit
等
我的问题是,OffsetAccount
不是从默认设置填充的(在我的特定情况下,它应该从分类账日记账名称中默认,但也可以从主帐户设置中获取),这导致验证凭证时出错(不平衡)
最好使用一些标准功能来正确初始化抵销帐户
谢谢 您可以从
LedgerJournalName
记录初始化抵销科目和抵销维度。你不这么做有什么原因吗?或者你是在问是否有一种更合适的方式可以开箱即用
关于一个非常类似的问题,请参见我的回答:我找到了一个解决方案:
ledgerJournalEngine = LedgerJournalEngine::construct(ledgerJournalTable.JournalType);
ledgerJournalEngine.newJournalActive(ledgerJournalTable);
ledgerJournalEngine.accountModified(ledgerJournalTrans);
这就成功了!它从
LedgerTable
或LedgerJournalName
初始化抵销帐户,其中LedgerTable
具有更高的优先级。确切地说,我知道我可以从LedgerJournalName
初始化它,但我一直在寻找更标准的方法。