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

自定义实体停用按钮的自定义字段配置及相关问题

问题1:自定义停用对话框添加必填字段

原生Dynamics 365确实不支持直接修改普通自定义实体(比如你的Projects)的默认停用对话框——只有Opportunity、Case这类系统预设的「解决型」实体,才能自定义解决/取消对话框的字段。

替代方案:

  • 先隐藏原生的「停用」按钮,在实体表单上添加自定义按钮。
  • 点击自定义按钮时,弹出自行开发的对话框:可以用Web资源写HTML+JS弹窗,或者用Power Apps组件框架(PCF)制作自定义对话框,在对话框里加入所需的必填字段。
  • 用户填写并通过必填字段验证后,再调用Dynamics Web API修改Projects实体的状态为「停用」,此时会触发你的插件检查逻辑。
问题2:自定义页面提交后未显示插件错误、项目未停用

这是因为自定义页面的提交逻辑未正确捕获插件抛出的异常,也未处理API调用的错误响应。解决步骤:

  • 捕获API错误:如果用Web API调用Update方法修改状态,要用try-catch块捕获响应错误。插件抛出的异常会包含在API的错误响应里,解析响应里的error.message或error.details就能拿到插件的错误提示,然后在页面上展示给用户(比如用alert或者页面内的提示组件)。
  • 检查状态参数:确保调用API时,正确传入了实体停用对应的状态码(statecode)和状态原因码(statuscode),比如Projects实体的停用状态码可能是1(具体看你实体的状态设置),参数传错会导致状态不更新。
  • Power Apps自定义页面场景:如果用Patch函数修改状态,要用Error()函数捕获错误,示例代码:
    IfError(
        Patch(Projects, SelectedProject, {statecode: 1, statuscode: 2}),
        Notify(First(Errors(Projects)).Message, NotificationType.Error)
    )
    
    这样就能把插件抛出的错误通过Notify显示给用户。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:45:01