GeneralJournalAccountEntry 和 LedgerJournalTrans_Project 之间的关系
Relationship between GeneralJournalAccountEntry and LedgerJournalTrans_Project
我们正在尝试将 GL 事务 GeneralJournalAccountEntry
与其适当的项目类别 ID LedgerJournalTrans_Project
相关联,但很难将这两个表相关联。
我们可以通过这条路线到达那里:
- GeneralJournalAccountEntry.GeneralJournalEntry = GeneralJournalEntry.RecId(多对一)
- GeneralJournalEntry.SubLedgerVoucher = LedgerJournalTrans.Voucher(1 到多)
- LedgerJournalTrans.RecId = LedgerJournalTrans_Project.RefRecId (1 比 1)
但是在多对一和一对多关系中,交易的个别部分会丢失。我们知道这些表格来自不同 "modules",但希望有某种方法可以将两者联系起来,而不依赖于像交易金额这样混乱的事情。
这可能吗,或者有其他方法可以实现我们的目标吗?
没有一对一的关系。
最接近的是在 LedgerJournalTrans 上使用 Voucher 和 TransDate 来获取分类帐交易。
参见this post。
有一篇白皮书描述了AX 2012 ledger posting framework。
我不确定我是否已经完全弄明白了,但我认为这可以用来创建类似的 link。我正在尝试 link generaljournalaccountentry 行项目到 inventjounrnaltrans 行项目。这应该根据凭证和行项目编号在两个表之间提供 link,并给我 itemid。我认为该项目必然会有类似的 link,因为能够在前端应用程序中以这种方式导航。在前端执行操作时跟踪 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]
我们正在尝试将 GL 事务 GeneralJournalAccountEntry
与其适当的项目类别 ID LedgerJournalTrans_Project
相关联,但很难将这两个表相关联。
我们可以通过这条路线到达那里:
- GeneralJournalAccountEntry.GeneralJournalEntry = GeneralJournalEntry.RecId(多对一)
- GeneralJournalEntry.SubLedgerVoucher = LedgerJournalTrans.Voucher(1 到多)
- LedgerJournalTrans.RecId = LedgerJournalTrans_Project.RefRecId (1 比 1)
但是在多对一和一对多关系中,交易的个别部分会丢失。我们知道这些表格来自不同 "modules",但希望有某种方法可以将两者联系起来,而不依赖于像交易金额这样混乱的事情。
这可能吗,或者有其他方法可以实现我们的目标吗?
没有一对一的关系。
最接近的是在 LedgerJournalTrans 上使用 Voucher 和 TransDate 来获取分类帐交易。
参见this post。
有一篇白皮书描述了AX 2012 ledger posting framework。
我不确定我是否已经完全弄明白了,但我认为这可以用来创建类似的 link。我正在尝试 link generaljournalaccountentry 行项目到 inventjounrnaltrans 行项目。这应该根据凭证和行项目编号在两个表之间提供 link,并给我 itemid。我认为该项目必然会有类似的 link,因为能够在前端应用程序中以这种方式导航。在前端执行操作时跟踪 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]