【问题标题】:Dynamics CRM 2016 edit lookup email from fieldDynamics CRM 2016 从字段编辑查找电子邮件
【发布时间】:2016-11-05 17:02:18
【问题描述】:

我使用的是 Microsoft Dynamics 2016,需要清理默认电子邮件表单的“发件人”字段中的选项。

因此,目的是限制查找电子邮件“发件人”字段的结果。默认情况下,它会显示所有公司、联系人等。但是,我们只会在“发件人”字段中使用队列和用户。

如何将查找和搜索项限制为仅使用队列和用户?这似乎是从派对列表中得出的,但是,我找不到任何关于编辑派对列表输入的信息。

我认为https://msdn.microsoft.com/en-us/library/gg334266.aspx#BKMK_addCustomFilter 可能是一个选项,但不知道如何输入队列 (2020) 和用户 (8) 的属性类型以形成查找。

使用https://social.microsoft.com/Forums/en-US/3b97a306-4df7-4128-a3a9-e516c46c565d/limit-customer-lookup-in-opportunity-to-accounts-only?forum=crmdevelopment 中的一些代码,我想出了以下代码:

function setFromLookupOptions()
{
    document.getElementById("from").setAttribute("lookuptypes", "8,2020");
}

但是,这段代码只是带来了错误,说它不能 setAttributes of Null(表明它找不到“from”字段,但这就是它在表单中的标记)。根据https://bernado-nguyen-hoan.com/2015/10/28/correcting-available-lookup-views-when-restricting-lookup-types-via-javascript-in-crm/ 第一个代码块顶部的注释,我还尝试使用“from_i”,但是,它似乎找不到具有该名称的元素。

那么我该怎么做呢?

【问题讨论】:

    标签: javascript list dynamics-crm lookup


    【解决方案1】:

    这里还有一些事情要做:https://community.dynamics.com/crm/f/117/t/186549 我为此创建的脚本是:

    /*
    Function to only select certain entities in a lookup
    
    To use, just edit fieldName to be the name of the field on the form you want to edit and HideEntities as an array of entities you do not want to show up.
    Note that under the advanced search, you will still see these items in the drop down list, they just wont find any results.
    /*
    
    function setFromLookupOptions()
    {
      var fieldName = "from";
      var HideEntities = ["customJob", "account", "contact","entitlement", "equipment", "lead"];
      Xrm.Page.getControl(fieldName).addPreSearch(function()
      {
        EmailFilter(fieldName, HideEntities);
      });
    }
    
    // Hide all of the OOB entity records from the given PartyList field.
    function EmailFilter(fieldName, HideEntities)
    {
      var filter;
      var i;
      for (i = 0; i<HideEntities.length; i++)
      {
        filter =
          "<filter type='and'>" +
          "<condition attribute='" + HideEntities[i] + "id' operator='null' />" +
          "</filter>";
        Xrm.Page.getControl(fieldName).addCustomFilter(filter, HideEntities[i]);
      }
    }
    

    我希望这对某人有所帮助。

    请注意,customJob 是您需要删除的任何其他显示的字段。所有其他说明都在脚本的顶部。

    【讨论】:

      【解决方案2】:

      对于 CRM2016,您可以尝试在查找弹出窗口中仅显示潜在客户和客户实体。

      var control = Xrm.Page.getControl("to");
      control.getAttribute().setLookupTypes(["lead", "account"]);
      

      【讨论】:

        【解决方案3】:

        与可能会发现此线程并想要更简单一点的其他人有点相关:

        我想为约会中的派对列表/与会者设置仅联系人和用户的查找。此代码有效:

        var lookupAttendees = Xrm.Page.getAttribute('requiredattendees').getLookupDataAttribute(); lookupAttendees.setLookupTypes(['contact', 'systemuser']);

        注意:参与方列表不能包含未包含的记录(例如,除了联系人和系统用户之外的任何记录)。因此,请务必清除 Accounts/Leads/etc 的方列表。在运行这段代码之前,否则它不会做任何事情。

        假设这可能适用于任何类型的派对列表,即使在电子邮件实体中也是如此。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-11-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多