You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dynamics 365筛选查找字段无记录时设置提示并解决0x80041103错误

Dynamics 365 筛选查找字段无匹配记录时的错误处理问题

在Dynamics 365项目中,需求是让筛选后的查找字段在无匹配记录时显示“无记录找到”提示。当前已完成查找字段创建,JavaScript筛选功能正常,但无匹配记录时会弹出0x80041103 Query Builder Error错误。用Fetch Xml Tester验证对应Fetch XML时返回0条记录,但查找字段仍触发报错。

错误截图:
错误截图

查找字段视图截图:
查找字段视图截图

解决方法
  • 校验Fetch XML语法:排查筛选用的Fetch XML是否存在语法问题,比如标签未闭合、运算符使用错误等。即便Fetch Xml Tester返回0条记录,语法缺陷仍可能引发系统报错。
  • 在JavaScript中添加异常处理与结果判断:修改筛选逻辑的JS代码,捕获异常并主动处理无记录场景,阻止默认错误弹窗,显示自定义提示:
function filterLookup(executionContext) {
    try {
        const formContext = executionContext.getFormContext();
        const lookupControl = formContext.getControl("your_lookup_field_name");
        const fetchXml = "<your_filtered_fetch_xml_content>";
        
        lookupControl.addCustomFilter(fetchXml);
        
        // 提前查询验证结果
        Xrm.WebApi.retrieveMultipleRecords("target_entity_name", `?fetchXml=${encodeURIComponent(fetchXml)}`)
            .then(result => {
                if (result.entities.length === 0) {
                    Xrm.Navigation.openAlertDialog({ text: "无记录找到" });
                    lookupControl.clearCustomFilter(); // 清除筛选避免报错
                }
            })
            .catch(error => console.error("查询异常:", error.message));
    } catch (e) {
        console.error("筛选处理异常:", e.message);
    }
}
  • 检查查找字段默认视图配置:确认查找字段的默认视图没有设置冲突的筛选条件,防止自定义筛选与默认视图筛选叠加导致查询逻辑错误。
  • 核对系统设置:检查Dynamics 365系统设置中是否有控制查找字段无记录提示的选项,部分环境需开启对应配置以启用原生无记录提示。

内容的提问来源于stack exchange,提问作者Kalp Shah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 04:30:54