Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Axapta 初始分类账日记帐转换抵销科目_Axapta_Microsoft Dynamics_X++ - Fatal编程技术网

Axapta 初始分类账日记帐转换抵销科目

Axapta 初始分类账日记帐转换抵销科目,axapta,microsoft-dynamics,x++,Axapta,Microsoft Dynamics,X++,我正在尝试根据通过AIF入站服务接收的数据创建(和过账)分类账日记帐。数据与所有必要的字段一起写入自定义暂存表中 现在,我需要从这个暂存表创建日志和日志事务记录。我能够使用多条LedgerJournalTrans记录创建LedgerJournalTable记录 下面是一段代码片段,用于创建LedgerJournalTrans: ledgerJournalTrans = this.initJournalTransFromStaging(ledgerJournalStaging); ledger

我正在尝试根据通过AIF入站服务接收的数据创建(和过账)分类账日记帐。数据与所有必要的字段一起写入自定义暂存表中

现在,我需要从这个暂存表创建日志和日志事务记录。我能够使用多条
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
初始化它,但我一直在寻找更标准的方法。