Acumatica 2020R2中更改客户屏幕上共享联系人字段的可见性?

Acumatica 2020R2中更改客户屏幕上共享联系人字段的可见性?,acumatica,Acumatica,我需要将客户屏幕(常规选项卡)上的主要联系人->电子邮件字段的可见状态设置为隐藏 在2020R2,我不清楚这些视图是如何实现的。它们有相同的名字,但似乎与Acumatica以前的版本不同。在我从2019R1升级的版本中,主联系人部分不存在 我创建了这个事件处理程序来隐藏电子邮件字段。但是,它隐藏了所有电子邮件字段:包括常规选项卡上的两个实例,以及账单和发货选项卡上的两个实例。我只想隐藏主要联系人分组中的字段 protected virtual void _(Events.RowSelected&

我需要将客户屏幕(常规选项卡)上的主要联系人->电子邮件字段的可见状态设置为隐藏

在2020R2,我不清楚这些视图是如何实现的。它们有相同的名字,但似乎与Acumatica以前的版本不同。在我从2019R1升级的版本中,主联系人部分不存在

我创建了这个事件处理程序来隐藏电子邮件字段。但是,它隐藏了所有电子邮件字段:包括常规选项卡上的两个实例,以及账单和发货选项卡上的两个实例。我只想隐藏主要联系人分组中的字段

protected virtual void _(Events.RowSelected<Contact> e)
{
    PXUIFieldAttribute.SetVisible<Contact.eMail>(e.Cache, e.Row, false);
}
受保护的虚拟空间(Events.rowe)
{
PXUIFieldAttribute.SetVisible(e.Cache,e.Row,false);
}
是否有一种方法可以使用事件处理程序仅针对主要联系人电子邮件字段?检查该字段时,视图名称为:PrimaryContactCurrent。CodeRepository\CustomerMaint.cs中似乎不存在此视图,因此我不确定如何使用事件处理程序将其作为目标


在20R2中,联系人管理的逻辑位于单独的图形扩展
CRPrimaryContactsGraphText
中,并且
PrimaryContactCurrent
在其中定义

然而,我认为这不是你需要的。您在正确的轨道上进行了RowSelected事件。您只需要添加一个条件来隐藏“仅需要”字段

protected virtual void _(Events.RowSelected<Contact> e)
{
  if(e.Row?.ContactID==Base.BAccount.Current?.PrimaryContactID)
    PXUIFieldAttribute.SetVisible<Contact.eMail>(e.Cache, e.Row, false);
}
受保护的虚拟空间(Events.rowe)
{
如果(e.Row?.ContactID==Base.BAccount.Current?.PrimaryContactID)
PXUIFieldAttribute.SetVisible(e.Cache,e.Row,false);
}