Axapta 在AX 2012 x+中创建常规日记帐时刷新固定资产的价值模型+;

Axapta 在AX 2012 x+中创建常规日记帐时刷新固定资产的价值模型+;,axapta,x++,dynamics-ax-2012,Axapta,X++,Dynamics Ax 2012,我正在使用固定资产通过x++创建日记账分录。。我使用固定资产账户设置分类账交易,保存,然后使用分类账日记账引擎“刷新”并触发它,以便在幕后设置价值模型组合。它确实设置了价值模型,但当我去验证它时,它会抱怨它没有设置。当我单击该行并进行验证时,错误基本上消失,并转到下一行进行投诉。如果我单击每一行并单击“验证”,错误就会消失,最终日志就可以发布了。我的问题是,是否有其他东西可以调用或触发,这样它就知道这是正确设置的,而不会出现此错误 我们需要更多的代码来最好地回答您的问题。我们在这里不是为了真

我正在使用固定资产通过x++创建日记账分录。。我使用固定资产账户设置分类账交易,保存,然后使用分类账日记账引擎“刷新”并触发它,以便在幕后设置价值模型组合。它确实设置了价值模型,但当我去验证它时,它会抱怨它没有设置。当我单击该行并进行验证时,错误基本上消失,并转到下一行进行投诉。如果我单击每一行并单击“验证”,错误就会消失,最终日志就可以发布了。我的问题是,是否有其他东西可以调用或触发,这样它就知道这是正确设置的,而不会出现此错误


我们需要更多的代码来最好地回答您的问题。我们在这里不是为了真正猜测可能的错误,当我们只看代码时,我们可以给出答案

根据我所看到的,你有没有尝试过一些显而易见的东西,比如确保你的记录被选中进行更新,然后再执行更新

这可能太明显了,但由于我们只有几行代码,这是我最好的猜测。试着把你的最后三行改成这四行

ledgerJournalTrans = LedgerJournalTrans::findRecId(journalTrans.ledgerJournalTrans().RecId, true);
lje = LedgerJournalEngine::construct(ledgerJournalTrans.ledgerJournalTable().JournalType);
lje.accountModified(LedgerJournalTrans);    

ledgerJournalTrans.update();

将来,不要发布遗漏变量定义的代码
journalTrans
可以是任何内容。我只是认识到这个模式,并且知道它可能是AxLedgerJournalTrans是的,变量journalTrans是AxLedgerJournalTrans。journalTrans.parmAccountType(账本JournalActType::FixedAssets);journalTrans.parmOffsetAccountType(分类账JournalActType::分类账);。。ledgerJournalTrans就是ledgerJournalTrans。还有,你建议的第一行不起作用,如果我这样做的话,尺寸根本不会显示出来。你用谷歌搜索?我忽略了更新,不管你是否进行了更新,它都会做同样的事情。@Sirus-你需要提供更多的代码。我的答案是正确的,因为在您提供的代码中,您遗漏了必要的位。如果你从更多的代码开始,你会得到一个更好的答案。否决我的答案是让我进入另一个问题的好方法。希望你能理解。我想我已经提供了足够的信息,剩下的对我想要实现的目标没有多大帮助,除了我遗漏的一些声明。。ok@Sirus-不,你没有提供足够的信息。如果我们没有代码来验证,那么您所说的要完成的一切都是无用的。当错误指向问题时,您还应该提供代码中发生错误的位置。查看
\Classes\AssetPost\check#59
。它的意思是,
assetTrans.BookId
未填充。现在,我基本上是在扮演福尔摩斯,试图解决你提供的这个难题。我已经从您提供的几行代码中看出,您没有采用标准方法。
ledgerJournalTrans = LedgerJournalTrans::findRecId(journalTrans.ledgerJournalTrans().RecId, true);
lje = LedgerJournalEngine::construct(ledgerJournalTrans.ledgerJournalTable().JournalType);
lje.accountModified(LedgerJournalTrans);    

ledgerJournalTrans.update();