我正试图为我的一个客户创建一个AX安全框架。这里的关键任务是在AX 2012 环境中启用分支会计。这意味着我需要根据位置和财务维度分别筛选不同的事务/客户/供应商/转移订单,例如每个分支(地点)应该查看相应分支的记录。
我在它们上创建了自定义的安全角色启用XDS框架,在客户、供应商等的情况下,这很容易,我有一个位置选择字段。
但是,对于交易,即'LedgerJournalTrans'表,我不能基于金融维度进行过滤。由于字段LedgerDimesion是不同维度的组合,在AOT查询中很难使用它。
如果有人对如何在金融维度组合的基础上过滤交易或任何其他记录有深入的见解?
注意:我已经研究过在XDS上筛选维度的白皮书,但是这里提到的示例是基于myDepartment表和方法的,我无法在我的场景中使用这些
发布于 2015-08-09 09:49:42
您必须创建一个查询或视图来获取每个分类帐维度的值。您可以通过加入DimensionAttributeValueGroupCombination (这里有分类账维度id)、DimensionAttributeLevelValue (字段DisplayValue是维度值)、DimensionAttributeValue (DimensionAttribute RecId)来获得这些信息。现在,您可以使用此视图或修改它以按维度值进行筛选。
MyDepartments临时表有一个名为XDS的方法,它被自动调用来填充数据。此表的刷新可以是每次会话,也可以是每次调用。您可以使用它来生成基于用户的筛选器数据。
发布于 2015-08-20 05:55:09
您可以在查询的init()方法中添加一些代码,这些代码用于XDS策略。
代码应该获得分类帐维度字段,并根据用户维度映射获取要筛选的维度值。
https://stackoverflow.com/questions/31884581
复制