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

自定义表单添加到Workspace后打开异常,刷新后恢复的问题求解

解决Dynamics 365 FO工作区磁贴打开自定义表单默认显示新记录的问题

针对自定义表单从工作区磁贴打开时默认进入新记录状态、需刷新才正常显示的问题,可从以下几个方向排查修复:

  • 检查数据源初始化逻辑
    自定义表单的数据源init()方法若主动调用了create()或insert()强制创建新记录,会覆盖工作区磁贴传递的上下文。注释掉这类代码,仅在无外部上下文时才触发新记录创建逻辑。

  • 处理工作区传递的上下文参数
    工作区磁贴打开表单时会携带查询上下文,需在表单run()方法中手动读取并应用到数据源:

    public void run()
    {
        Query                   query;
        QueryBuildDataSource    qbds;
    
        query = this.args().query();
        if (query && query.dataSourceTable(tableNum(MyCustomTable)))
        {
            MyCustomTable_ds.query(query);
            MyCustomTable_ds.executeQuery();
        }
        super();
    }
    
  • 验证数据源Active方法
    检查自定义表单数据源的active()方法是否存在异常逻辑,比如强制切换到新记录。确保super()调用后未修改当前记录指针,保证系统默认的记录定位逻辑生效。

  • 确认磁贴配置正确性
    在工作区设计器中,检查磁贴的Action配置:确保目标表单选择正确,若需传递筛选条件或特定记录,已配置对应的查询参数或上下文绑定。

  • 强制数据源执行查询
    若上述调整无效,可在表单init()方法末尾添加MyCustomTable_ds.executeQuery();,强制数据源加载符合上下文的记录,避免停留在新记录状态。

内容的提问来源于stack exchange,提问作者Muhammed Hakan ÇELİK

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 12:52:19