0

我有 2 个应用程序,控件和测试。

Controls 应用程序具有 Tests 应用程序的交叉引用。

控制应用程序有一个记录权限字段“控制所有者”。测试应用程序有一个记录权限字段“测试执行者”。

我必须验证这些字段,以便:

控制所有者和测试执行者不能是相同的用户/组。

如果用户被列为控件中任何链接测试的测试执行者,则系统不应允许将用户选择为“控件所有者”。

同样,如果用户被列为测试的任何链接控件的控件所有者,则系统不应允许将用户选择为“测试执行者”。

我尝试添加一个计算字段,该字段会给我一个标志,指示选择的用户是否相同。

请帮忙!

4

3 回答 3

1

Tanveer,我认为您描述的场景无法在 Archer 中使用可用功能进行配置。至少我无法根据我在 Archer 平台上的经验提出解决方案。问题是 Archer 不允许您动态计算或过滤用户列表或交叉引用选择。在这种情况下,这就是您真正需要的。

不过,我可以提出以下解决方法。我不喜欢他们两个,但有时你必须妥协。

  1. 您可以创建每日/每周/每月计划报告。业务人员将收到它,其中显示了用户名/组在控制和测试应用程序中相互匹配的记录列表。业务用户将跟进并手动解决所有问题。

  2. 您可以使用自定义对象来控制控件和测试应用程序中的用户选择来实现此功能。所以你实际上需要两个自定义对象。

    [a] 您需要一个计算字段,该字段将通过交叉引用复制所选用户的值。

    [b] 自定义对象将通过设置属性 display = none 对最终用户隐藏此字段。

    [c] 自定义对象将需要覆盖“保存”和“应用”按钮,以便提供对所选用户/组的验证,并将它们与引用记录中的用户/组的隐藏计算字段进行比较被存储。如果列表至少有一个公共对象,您可以通知最终用户并让他修复它,然后才能保存记录。

    [d] 请注意,在保存记录之前,计算字段将不起作用。这意味着如果通过交叉引用字段提供的“添加新”列表添加新记录,那么您必须在自定义对象 1 中的 Web 浏览器中创建一个 cookie 对象并使用自定义对象 2 读取它(以及反之亦然)。Cookie 将在表格 1 中存储选定的用户/组,表格 2 中的自定义对象将读取它并确定最终用户在表格 2 中的选择是否正确。

    这是一个复杂的双面自定义对象(两个自定义对象必须相互“通信”)。我之前已经通过自定义对象之间的 cookie 传递实现了类似的行为,但我建议您尽可能避免使用这样的解决方案。它们的代码复杂,调试复杂,支持复杂。
    在这种情况下,您仍然可以使用计划报告来控制数据完整性。

我希望这在一定程度上有所帮助。祝你好运!

于 2015-07-30T03:47:22.417 回答
0

我对此有另一种解决方案,请告知它是否可行...我将创建一个名为 ControlEqualsTest 的计算字段,如果 Control 中的用户组等于 Test 中的用户组,则其值为 True。在提交/保存/应用期间,如果 ControlEqualsTest 为 True,则提交/保存/应用失败并显示错误消息

于 2016-03-07T03:42:54.473 回答
0

我最近找到了一种可行的方法,解决方案是创建一个关闭布局的隐藏字段,并且仅在两个记录权限字段相同时才需要它

于 2016-07-21T19:05:31.753 回答