氚云-燕子 发表于 2021-4-16 16:44:33

流程结束后怎么编辑修改重新发起流程?

单子在修改的时候是否能发起流程/流程结束后修改数据需要经过审批(指定人员修改表单也可以利用这个方式实现)
场景:员工档案不可修改,可以发起修改申请,流程通过后变更档案信息
实现方式:
[*]新增一个“更新档案申请表”,关联档案表



[*]设置对应审批流程
[*]添加业务规则


效果:
人员每次需要修改原表单数据的时候,需要在“更新申请表”里面进行提交,审批通过业务规则自动更新提交的修改后内容

v3xyan 发表于 2022-6-3 17:39:23

专业版就简单多了,直接在OnSubmit中使用这段代码就可以重新激活了。
protected override void OnSubmit(string actionName, H3.SmartForm.SmartFormPostValue postValue, H3.SmartForm.SubmitSmartFormResponse response)
    {
      if(actionName == "Submit" && this.Request.BizObject.Status == H3.DataModel.BizObjectStatus.Effective)
      {
            //先把流程激活
            H3.Workflow.Messages.ActivateInstanceMessage   activiteinstanceMessage = new H3.Workflow.Messages.ActivateInstanceMessage(
                this.Request.InstanceId);//传递参数为流程实例ID
            this.Request.Engine.WorkflowInstanceManager.SendMessage(activiteinstanceMessage);//只会激活流程,并不会触发运行的节点
            //再设置流程节点
            H3.Workflow.Messages.ActivateActivityMessage activiteMessage = new H3.Workflow.Messages.ActivateActivityMessage(this.Request.InstanceId,
                "Activity2", H3.Workflow.Instance.Token.UnspecifiedId, new string[] {}, null, false,
                H3.Workflow.WorkItem.ActionEventType.Adjust);//参数对应描述:流程实例ID,活动节点编码,令牌ID,参与者,前驱令牌,是否检测入口条件,激活类型
            this.Request.Engine.WorkflowInstanceManager.SendMessage(activiteMessage);//1.不会取消正在运行的节点。2.进行中的流程才能激活调整。
      }
      base.OnSubmit(actionName, postValue, response);
    }

大夫地 发表于 2022-8-16 16:37:42

v3xyan 发表于 2022-6-3 17:39
专业版就简单多了,直接在OnSubmit中使用这段代码就可以重新激活了。

具体怎么用呢?是建立按钮吗?
页: [1]
查看完整版本: 流程结束后怎么编辑修改重新发起流程?