随笔 - 95,  文章 - 0,  评论 - 0,  阅读 - 14253

当流程结束时将数据填充到关联表单

复制代码
  protected override void OnWorkflowInstanceStateChanged(H3.Workflow.Instance.WorkflowInstanceState   oldState, H3.Workflow.Instance.WorkflowInstanceState newState)

    {
        //流程审批结束事件(先执行业务规则,在执行该方法)。

        if(oldState == H3.Workflow.Instance.WorkflowInstanceState.Running && newState == H3.Workflow.Instance.WorkflowInstanceState.Finished)
        {
            //执行业务代码逻辑
            //输入表单,对目标表单数据进行填充,目标表单ID D0020337ce5e2cf888f49c6a99da0c8836f6a1f
            H3.DataModel.BizObject targetBiz = new H3.DataModel.BizObject(this.Engine, this.Engine.BizObjectManager.GetPublishedSchema("D0020337ce5e2cf888f49c6a99da0c8836f6a1f"), this.Request.UserContext.UserId);
            targetBiz["F0000001"] = this.Request.BizObject["F0000003"];
            targetBiz["F0000002"] = this.Request.BizObject["F0000004"];
            targetBiz.Status = H3.DataModel.BizObjectStatus.Effective;
            targetBiz.Create();
        }
        //流程审批结束后,重新激活事件(先执行业务规则,在执行该方法)。
        if(oldState == H3.Workflow.Instance.WorkflowInstanceState.Finished && newState == H3.Workflow.Instance.WorkflowInstanceState.Running)
        {
            //执行业务代码逻辑
        }
        base.OnWorkflowInstanceStateChanged(oldState, newState);

    }
复制代码

低于100不允许导入

 //导入数据金额小于100删除
            if(double.Parse("0" + this.Request.BizObject["F0000004"]) < 100)
            {
                this.Request.BizObject.Remove();
            }

一个流程表单如果被编辑以后重新发起审批

复制代码
  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.进行中的流程才能激活调整。
        }
复制代码

组织管理

 

人员数据 H_user

部门id H_user.parentid

氚云一个人一个部门

设置权限的时候部门是不能递归的

权限设置分两部分,一部分是直接从顶顶同步过来,一部分是自定义

不支持对组织机构的操作

 

//根据用户ID获取用户对象

H3.Organization.User user =   Engine.Organization.GetUnit(this.Request.UserContext.UserId) as H3.Organization.User; 

 

 

posted on   天涯何  阅读(84)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示