Acumatica 自定义所有者选择器

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

是否可以在 Acumatica 的“所有者”选择器中按特定部门进行硬编码和过滤?

DAC:AR.Arinvoice

所有者ID

[PXDBGuid()]

[PXDefault(typeof(Customer.ownerID), PersistingCheck = PXPersistingCheck.Nothing)]

[PXOwnerSelector(typeof(ARInvoice.workgroupID))]

[PXUIField(DisplayName = "Owner", Visibility = PXUIVisibility.SelectorVisible)]

customization acumatica custom-selectors
2个回答
3
投票

是的,您可以使用 PXRestrictor 属性向选择器添加过滤器。

使用 CODE 文件声明要过滤的所有者部门常量:

namespace PX.TM
{
  public class AdminDepartment : PX.Data.Constant<string>
  {
     public AdminDepartment() : base("ADMIN") { }
  }
}

扩展 OwnerID DAC 字段以将现有属性与新的 PXRestrictor 过滤器附加(合并)。您可以使用代码中的 CacheAttached 方法或自定义项目编辑器的 DATA ACCESS 部分将属性附加到 DAC 字段:

[PXRestrictor(typeof(Where<PX.TM.PXOwnerSelectorAttribute.EPEmployee.departmentID, Equal<PX.TM.AdminDepartment>>), 
              "Owner Department Filter")]

您的选择器现在已按部门常量过滤:


-2
投票

如果您仍然遇到此问题,Acupower 编写了一个简单但功能强大且灵活的模组,可以解决此问题并解决选择器弹出窗口的问题。当您想要允许一个用户拥有多个所有者访问权限时,它还会处理一些事情,例如销售经理想要查看所有销售代表,但他只希望每个销售代表看到他们专有的内容。这不仅适用于找到“所有者”字段的 CRM,也适用于找到“销售人员”字段并且需要是所有者的销售订单和应收账款。它还适用于混合所有制。例如,您有一个企业帐户的所有者和另一位机会的所有者。 Acupower 为我的一位客户编写的内容绝对是天才,而且维护起来非常容易,您甚至不必担心限制组或行级安全性。这个模组让所有这些都过时了。因此,如果您想联系我看看它的实际工作情况,我将很乐意向您展示并分享 Acupower 的凭据,以便在您需要此代码时与他们取得联系。 谢谢 南斯 电子邮件:[电子邮件受保护]

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