1. 程式人生 > 其它 >流程操作以及組織結構管理

流程操作以及組織結構管理

當流程結束時將資料填充到關聯表單

  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;