将帐户加入子帐户

问题描述 投票:2回答:2

我正在尝试创建一个GI,以检索带有每个关联子帐户值的总帐帐户列表。我查看了数据库,找到了GroupMask列,该列将Account表和Sub表联系在一起,但存在一点关系,但我不知道如何将它们加入GI。我可以使用另一个解析表链接两个实体吗?

acumatica
2个回答
0
投票

我在标准Acumatica中唯一找到的是屏幕GL403000(按子帐户逐个帐户)。该屏幕是对历史总帐数据的查询。尽管我可能是错的,但我认为帐户和子帐户被定义为单独的实体,然后一起使用时便成为合法的组合。例如,子帐户可能映射到部门,而库存帐户可能映射到项目。发给部门的材料将导致帐户和子帐户的可报告组合。这意味着您必须查找帐户/子帐户的历史用法才能获得列表。 GL403000似乎正在这样做。

我不能肯定地告诉你这是正确的,但是看看是否可以从中找到所需的内容:

GL.Account-> GL.GLHistory-> GL.Sub

[通过AccountID将帐户加入GLHistory,通过SubID将GLHistory加入到Sub。您将需要将结果聚合为唯一的组合或按句点过滤。

GL403000的实际代码是:

PXSelectBase<GLHistoryByPeriod> cmd = new PXSelectJoinGroupBy<GLHistoryByPeriod,
                InnerJoin<Account,
                        On<GLHistoryByPeriod.accountID, Equal<Account.accountID>, And<Match<Account, Current<AccessInfo.userName>>>>,
                InnerJoin<Sub,
                        On<GLHistoryByPeriod.subID, Equal<Sub.subID>, And<Match<Sub, Current<AccessInfo.userName>>>>,
                LeftJoin<GLHistory, On<GLHistoryByPeriod.accountID, Equal<GLHistory.accountID>,
                        And<GLHistoryByPeriod.ledgerID, Equal<GLHistory.ledgerID>,
                        And<GLHistoryByPeriod.branchID, Equal<GLHistory.branchID>,
                        And<GLHistoryByPeriod.subID, Equal<GLHistory.subID>,
                        And<GLHistoryByPeriod.finPeriodID, Equal<GLHistory.finPeriodID>>>>>>,
                LeftJoin<AH, On<GLHistoryByPeriod.ledgerID, Equal<AH.ledgerID>,
                        And<GLHistoryByPeriod.branchID, Equal<AH.branchID>,
                        And<GLHistoryByPeriod.accountID, Equal<AH.accountID>,
                        And<GLHistoryByPeriod.subID, Equal<AH.subID>,
                        And<GLHistoryByPeriod.lastActivityPeriod, Equal<AH.finPeriodID>>>>>>>>>>,
                Where<GLHistoryByPeriod.ledgerID, Equal<Current<GLHistoryEnqFilter.ledgerID>>,
                        And<GLHistoryByPeriod.accountID, Equal<Current<GLHistoryEnqFilter.accountID>>,
                        And<GLHistoryByPeriod.finPeriodID, Equal<Current<GLHistoryEnqFilter.finPeriodID>>,
                        And<
                            Where2<
                                    Where<Account.accountID,NotEqual<Current<GLSetup.ytdNetIncAccountID>>,And<Where<Account.type, Equal<AccountType.asset>, 
                                        Or<Account.type, Equal<AccountType.liability>>>>>,
                            Or<Where<GLHistoryByPeriod.lastActivityPeriod, GreaterEqual<Required<GLHistoryByPeriod.lastActivityPeriod>>,
                                And<Where<Account.type, Equal<AccountType.expense>, 
                                Or<Account.type, Equal<AccountType.income>,
                                Or<Account.accountID,Equal<Current<GLSetup.ytdNetIncAccountID>>>>>>>>>>>>>,
                Aggregate<
                        Sum<AH.finYtdBalance,
                        Sum<AH.tranYtdBalance,
                        Sum<AH.curyFinYtdBalance,
                        Sum<AH.curyTranYtdBalance,
                        Sum<GLHistory.finPtdDebit,
                        Sum<GLHistory.tranPtdDebit,
                        Sum<GLHistory.finPtdCredit,
                        Sum<GLHistory.tranPtdCredit,
                        Sum<GLHistory.finBegBalance,
                        Sum<GLHistory.tranBegBalance,
                        Sum<GLHistory.finYtdBalance,
                        Sum<GLHistory.tranYtdBalance,
                        Sum<GLHistory.curyFinBegBalance,
                        Sum<GLHistory.curyTranBegBalance,
                        Sum<GLHistory.curyFinYtdBalance,
                        Sum<GLHistory.curyTranYtdBalance,
                        Sum<GLHistory.curyFinPtdCredit,
                        Sum<GLHistory.curyTranPtdCredit,
                        Sum<GLHistory.curyFinPtdDebit,
                        Sum<GLHistory.curyTranPtdDebit,
                        GroupBy<GLHistoryByPeriod.ledgerID,
                        GroupBy<GLHistoryByPeriod.accountID,
                        GroupBy<GLHistoryByPeriod.subID>>>>>>>>>>>>>>>>>>>>>>>>>(this);

如您所见,它会将Account加入GLHistoryByPeriod,然后再加入GLHistoryByPeriod。 AH继承自GLHistory。


0
投票

帐户和子帐户实体是单独的实体,彼此之间没有关系。 GroupMask字段是与它们之间的关系无关,它与访问限制有关。请更正您的问题并解释您真正需要什么?请注意,帐户和子帐户仅在某些交易或历史实体的范围内关联,例如总帐事务(GLTran),AR / AP文档(ARRegisterAPRegister)以及许多其他对象。

© www.soinside.com 2019 - 2024. All rights reserved.