在 Dynamics CRM 中的帐户查找中显示特定帐户记录

Show specific account records in account lookup in Dynamics CRM

我有 N:N 帐户和关系类型(自定义实体)之间的关系。现在在记录实体(另一个自定义实体)上,我有一个帐户查找,我想添加预搜索条件,以便查找可以仅显示关系类型中具有 'Vendor' 关系的特定对象。到目前为止,我已经按照代码片段进行查找预搜索,但它显示了所有记录。我不确定我哪里做错了。任何 Idea/suggestion?

function filterAccounts() {
    try {
        debugger;
        var accountLookup = Xrm.Page.getControl("new_accountid");
        if (accountLookup == null && accountLookup == 'undefined') { }
        else {
            accountLookup.addPreSearch(function () {

                CustomFilter(accountLookup);
            });
        }

    } catch (e) {
        alert("Error: " + e.message);
    }

}

function CustomFilter(accountLookup) {
    try {
        debugger;
        var fetchXml = "<link-entity name='new_account_new_relationshiptype' from='accountid' to='accountid' visible='false' intersect='true'>" +
                        "      <link-entity name='new_relationshiptype' from='new_relationshiptypeid' to='new_relationshiptypeid' alias='ak'>" +
                        "        <filter type='and'>" +
                        "          <condition attribute='new_name' operator='eq' value='Vendor' />" +
                        "        </filter>" +
                        "      </link-entity>" +
                        "    </link-entity>";

            accountLookup.addCustomFilter(fetchXml);
    } catch (e) {
        alert("Error: " + e.message);

    }
}

您在 addCustomFilter 中指定的 FetchXML 只是 <filter> 部分。使用 addCustomFilter.

时不能指定 link 个实体

如果您不能简化查询,只需要考虑帐户实体上的字段,则必须使用 addCustomView 而不是 addCustomFilter