流程操作以及組織結構管理
阿新 • • 發佈:2022-04-12
當流程結束時將資料填充到關聯表單
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;