D365 CRM表单自定义无法通过解决方案同步至生产环境问题
解决D365 CRM表单修改导入生产环境未生效问题
问题描述
我们使用Dynamics 365 CRM,拥有生产环境(Prod)和开发测试环境(Staging)。在Staging环境的Appointment实体中修改了默认的「Wizard」表单,将包含该表单的解决方案导入Prod环境后,表单关联的新字段已在Prod的Appointment表中创建,但表单的编辑内容未同步生效。
操作步骤回顾:
- 在Staging环境编辑Appointment实体的「Wizard」表单
- 创建包含该表单的解决方案
- 将解决方案导入Prod环境
排查与解决步骤
1. 确认解决方案的组件包含范围
- 打开Staging环境的目标解决方案,检查Appointment实体的「表单」节点下,是否已勾选修改后的「Wizard」表单。避免因误操作未将表单添加到解决方案,或添加后被移除。
- 查看解决方案的「组件」列表,确认Appointment实体的包含深度为「所有组件」,或明确勾选了表单组件。
2. 验证Staging环境表单的发布状态
- 修改完「Wizard」表单后,必须点击表单编辑器顶部的「发布」按钮,确保修改已发布到Staging环境。未发布的表单修改不会被纳入解决方案导出包。
- 进入实体表单列表,查看「Wizard」表单的状态是否为「已发布」。
3. 检查Prod环境的导入日志
- 登录Prod环境,进入「高级设置」>「解决方案」>「导入历史记录」,找到对应解决方案的导入记录,查看详细日志。
- 重点关注Appointment表单相关的警告或错误信息(如权限冲突、依赖项缺失等),根据提示修复后重新导入。
4. 确认Prod环境表单的激活状态
- 在Prod环境的Appointment实体表单列表中,找到「Wizard」表单,确认其状态为「已激活」。若处于未激活状态,手动激活后刷新页面查看效果。
- 即使表单已激活,尝试重新激活一次,确保修改被加载。
5. 清除缓存并重新发布应用
- 清除浏览器缓存,或使用隐私模式打开D365 CRM,避免旧版本表单内容被缓存加载。
- 若使用模型驱动应用,进入应用设计器点击「发布」按钮,确保应用引用的表单已同步更新。
6. 校验表单ID一致性
- 确认Staging与Prod环境中「Wizard」表单的ID是否一致:打开表单编辑器,查看URL中的
formid参数。若ID不同,说明导入时未覆盖原有默认表单,而是创建了新表单,需重新将原有默认表单的修改纳入解决方案后重新导出导入。
内容的提问来源于stack exchange,提问作者KDeRoo
相关产品推荐
相关产品推荐

