【问题标题】:Set the Lookup field to show only Contacts将查找字段设置为仅显示联系人
【发布时间】:2018-11-23 00:22:32
【问题描述】:

我有一个查找字段,它显示了 4 个实体的查找。因此,我添加了 PreSearch 过滤器,以便在单击该字段时仅过滤联系人。 但是,当我点击查找更多记录时,我希望仅在联系人实体上进行搜索。

我只想在下图中看到联系人实体:

有可能吗?

【问题讨论】:

  • 解决了吗?

标签: javascript dynamics-crm


【解决方案1】:

无法从列表中隐藏这些相关实体。但我们可以禁止用户在该查找中选择任何其他不需要的实体记录。

我们必须使用addPreSearchaddCustomFilter。例如,要允许用户只选择联系人而不选择帐户或系统用户,请参阅以下 sn-p。这将从视图中过滤掉帐户和系统用户记录,用户只能通过选择联系人才能继续前进。

    var contactFilter = "<filter type='and'><condition attribute='contactid' operator='not-null' /></filter>";
    //remove accounts
    var accountFilter = "<filter type='and'><condition attribute='accountid' operator='null' /></filter>";
    //remove system users
    var systemUserFilter = "<filter type='and'><condition attribute='systemuserid' operator='null' /></filter>";
Xrm.Page.getControl('requiredattendees').addCustomFilter(contactFilter, "contact");
Xrm.Page.getControl('requiredattendees').addCustomFilter(accountFilter, "account");    
Xrm.Page.getControl('requiredattendees').addCustomFilter(systemUserFilter, "systemuser");
        

Read more

编辑

在 8.x 之前添加另一个未记录(因此不受支持)

Xrm.Page.getAttribute('your_field').setLookupTypes(['contact']);

9.x 记录和支持的方式:

Xrm.Page.getControl('your_field').setEntityTypes(['contact']);

更新:(替换上述不推荐使用的语法)

function onFormLoad(executionContext) {
    var formContext = executionContext.getFormContext(); 
    formContext.getControl('your_field').setEntityTypes(['contact']);
}

Read more

【讨论】:

  • 可能存在不支持的 DOM 操作来删除实体列表项,社区不建议这样做。
  • 您确定“Xrm.Page.getControl(“to”).setEntityTypes([“contact”,”lead”,”systemuser”]);”?这不起作用。
  • @RichaTibrewal 对不起,我在手机上回答,可能是因为它不起作用。我现在测试并在字段名称周围用单引号编辑了答案。 :)
猜你喜欢
  • 2016-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多