Axapta 一般日志会计中心与账本JournalTrans_项目的关系

Axapta 一般日志会计中心与账本JournalTrans_项目的关系,axapta,microsoft-dynamics,dynamics-ax-2012,Axapta,Microsoft Dynamics,Dynamics Ax 2012,我们正试图将总账交易GeneralJournalAccountEntry与其相应的项目类别IdLedgerJournalTrans\u项目关联起来,但很难将这两个表关联起来 我们可以通过这条路线到达那里: GeneralJournalAccountEntry.GeneralJournalEntry=GeneralJournalEntry.RecId(多对1) GeneralJournalEntry.SubgradgerVoucher=LedgerJournalTrans.凭单(1对多) Led

我们正试图将总账交易
GeneralJournalAccountEntry
与其相应的项目类别Id
LedgerJournalTrans\u项目
关联起来,但很难将这两个表关联起来

我们可以通过这条路线到达那里:

  • GeneralJournalAccountEntry.GeneralJournalEntry=GeneralJournalEntry.RecId(多对1)
  • GeneralJournalEntry.SubgradgerVoucher=LedgerJournalTrans.凭单(1对多)
  • LedgerJournalTrans.RecId=LedgerJournalTrans_Project.RefRecId(1到1)
但是,在多对1和1对多的关系中,事务的各个分支会丢失。我们理解这些表格来自不同的“模块”,但希望有某种方式将两者联系起来,而不依赖于交易金额等混乱的东西


这是可能的,还是有其他方法可以实现我们的目标?

没有一对一的关系

最接近的方法是在分类账JournalTrans上使用凭证和TransDate来获取分类账交易


有一份白皮书描述了这个问题。

我不确定我是否已经完全弄明白了,但我认为这可以用来创建一个类似的链接。我正在尝试将generaljournalaccountentry行项目链接到InventJournAllTrans行项目。这将根据凭证和行项目编号提供两个表之间的链接,并提供itemid。我认为必然会有一个与项目类似的链接,因为它能够在前端应用程序中以这种方式导航。在前端执行操作时,跟踪SQL查询也可能有帮助

SELECT itp.[PARTITION]
     , itp.[DATAAREAID]
     , itp.[TRANSDATE]
     , itp.[VOUCHER]
     , itp.[ITEMID]
     , itojt.[INVENTJOURNALLINENUM]
     , MAX(ito.[REFERENCEID]) AS [REFERENCEID]
FROM [dbo].[INVENTTRANSPOSTING] itp WITH(NOLOCK)
    INNER JOIN [dbo].[INVENTTRANSORIGIN] ito WITH(NOLOCK)
        ON ito.[RECID] = itp.[INVENTTRANSORIGIN]
    INNER JOIN [dbo].[INVENTTRANSORIGINJOURNALTRANS] itojt WITH(NOLOCK)
        ON itojt.[INVENTTRANSORIGIN] = ito.[RECID]
WHERE (itp.[INVENTTRANSPOSTINGTYPE] = 1 OR itp.[INVENTTRANSPOSTINGTYPE] = 0)
      AND itp.[ISPOSTED] = 1
GROUP BY itp.[PARTITION]
       , itp.[DATAAREAID]
       , itp.[TRANSDATE]
       , itp.[VOUCHER]
       , itp.[ITEMID]
       , itojt.[INVENTJOURNALLINENUM]

我假设您已经阅读了“将账本交易表映射到一般日记账表(白皮书)[AX 2012]”?实际上我还没有看到,谢谢你的发帖!感谢Jan。看来我们需要另一种方法或者一种方法来将这些信息包含在发布框架中……祝你好运,这不是标准的。我一直在关注同样的事情,我认为“祝你好运”是完全正确的。我不相信有办法做到这一点。请记住,即使在过账后,一般日记账也可以删除。在AX中甚至有这样做的工作。