如何在Dynamics CRM中创建可触发多个工作流的自定义按钮
多审核按钮触发独立工作流实现方案
核心逻辑
每个按钮对应唯一的工作流标识,点击时携带标识和表单数据调用工作流接口,后台匹配对应审批链路自动分发到指定处理人。
代码化开发实现步骤
- 步骤1:预配置工作流
先在工作流引擎后台创建对应数量的独立工作流,每个工作流提前配置好审批节点、对应处理人员规则,给每个工作流分配唯一的workflow_id,比如change_audit_level1(一级审核)、change_audit_emergency(紧急变更审核)等。 - 步骤2:前端按钮配置
在表单页添加对应数量的审核按钮,给每个按钮绑定自定义属性存储对应的workflow_id,示例DOM结构:<button class="audit-btn" data-workflow-id="change_audit_level1">提交一级审核</button> <button class="audit-btn" data-workflow-id="change_audit_level2">提交二级审核</button> <button class="audit-btn" data-workflow-id="change_audit_emergency">提交紧急审核</button> - 步骤3:绑定点击触发逻辑
给所有审核按钮统一绑定点击事件,点击时携带对应工作流ID和全量表单数据调用后台接口:document.querySelectorAll('.audit-btn').forEach(btn => { btn.addEventListener('click', async () => { const reqParams = { workflow_id: btn.dataset.workflowId, form_data: getCurrentFormAllFields(), // 自行实现的获取当前表单全部数据的方法 operator: window.loginUser.userId } const { success } = await post('/api/workflow/start', reqParams) success ? alert('提交成功,已通知对应审核人员') : alert('提交失败,请重试') }) }) - 步骤4:后台逻辑适配
后台接收请求后,先校验当前操作人是否有触发该工作流的权限,校验通过后根据传入的workflow_id拉起对应工作流实例,将表单数据注入实例后自动触发首个节点的通知逻辑,发送给预先配置的处理人员即可。
低代码表单工具适配方案
如果用的是钉钉/飞书/企业微信自带的表单工具、或者宜搭/明道云这类低代码平台,无需写代码:
- 先在平台的工作流模块创建好所有需要的独立审批流,配置好对应处理人
- 进入表单设计页,添加对应数量的按钮组件,每个按钮的点击动作选择「触发工作流」,下拉选择对应已经创建好的工作流即可,平台会自动完成参数传递、工作流触发和消息通知逻辑
- 可以额外配置按钮的可见权限,只给符合角色的用户展示对应操作按钮。
内容的提问来源于stack exchange,提问作者ashkanyo
相关产品推荐
相关产品推荐

