• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 辦公軟件教程 > 詳細頁面

        SharePoint 狀態機工作流之日常報銷案例圖文教程

        SharePoint 狀態機工作流之日常報銷案例圖文教程

        更新時間:2024-02-08 文章作者:未知 信息來源:網絡 閱讀次數:

        SharePoint發行版本有SharePoint2003、SharePoint2007、Sharepoint 2010、SharePoint2013和SharePoint2016。SharePoint提供了功能強大的團隊協作環境,使得組織能夠在整個組織內部實現整合、組織、查找和提供 SharePoint站點。

        簡單介紹下狀態機工作流,狀態機工作流提供了一系列的狀態。工作流從初始狀態開始,到終止狀態結束。兩個狀態之間定義行為進行過渡。通常情況下,狀態機工作流對事件作出反應,事件的發生將會使狀態發生改變。

        1、新建項目,選擇SharePoint解決方案,創建空項目:

        2、選擇調試站點,部署為場解決方案,如下圖:

        clip_image002

        3、添加新項,選擇“Office/SharePoint”下面的“狀態機工作流(僅場解決方案)”:

        clip_image003

        4、選擇列表工作流,修改工作流名稱為“日常報銷”:

        clip_image004

        5、選擇調試時使用的列表,并選擇任務列表和歷史記錄列表;如果項目創建完畢,想要修改調試列表,可以在工作流項目上右鍵屬性;

        clip_image005

        6、選擇工作流的啟動方式,如下圖:

        clip_image006

        7、修改Feature配置要部署的工作流:

        clip_image007

        8、然后回到開發界面,準備畫流程圖:

        clip_image008

        9、添加狀態,并設置一個為“已完成狀態”,同時右鍵重命名各個狀態,如下圖:

        clip_image009

        10、添加事件驅動并重命名,添加連接線:

        clip_image010

        11、在狀態上右鍵,添加stateInitialization(用來CreatTask):

        clip_image011

        12、創建CreatTask,重命名并修改屬性,添加Correlation Token和OwnerActivityName;

        clip_image012

        13、創建任務ID,如下圖,記得選擇創建字段,點擊確定:

        clip_image013

        14、同任務ID創建任務屬性,如下圖:

        clip_image014

        15、雙擊CreatTask進入代碼視圖,給方法添加代碼:

        createJLTask_TaskId1 = Guid.NewGuid();createJLTask_TaskProperties1.Title = "經理待審批";createJLTask_TaskProperties1.AssignedTo = @"i:0#.w|spli.jing";createJLTask_TaskProperties1.DueDate = DateTime.Now.AddDays(1.0);createJLTask_TaskProperties1.ExtendedProperties.Add("狀態", "已啟動");

          如上面代碼,分別是任務ID、標題、分配人員、有效期和狀態屬性;

        clip_image015

        createJLTask_MethodInvoking方法代碼截圖)

        16、返回到設計視圖,雙擊該狀態的事件驅動,進入事件驅動的視圖:

          如下圖,添加OnTaskChanged事件,監視任務變化,重命名;添加After/Before屬性,類似上面任務ID,創建字段;修改Correlation Token和OwnerActivityName,和之前Task的相同即可;修改TaskId,修改為之前任務ID。

        clip_image016

        17、雙擊OnJLTaskChanged,添加方法代碼:

        onJLTaskChanged_AfterProperties1 = onJLTaskChanged.AfterProperties;onJLTaskChanged_BeforeProperties1 = onJLTaskChanged.BeforeProperties;

        clip_image017

        OnJLTaskChanged方法截圖)

        18、添加IF…ELSE…,如下圖:

        clip_image018

        添加分支判斷的代碼條件,并為方法添加方法體:

        方法如下,如果審批通過則走左側分支,否則右側分支;

        復制代碼
        public Guid TaskStatusFieldId = new Guid("55b29417-1042-47f0-9dff-ce8156667f96");private void NextToZJL(object sender, ConditionalEventArgs e){string strresult = onJLTaskChanged_AfterProperties1.ExtendedProperties[TaskStatusFieldId].ToString();if (strresult == "已批準"){e.Result = true;}else{e.Result = false;}}
        復制代碼

          特:TaskStatusFieldId是ExtendedProperties的一個Key值,調試可以看到。

        19、設置狀態,如下圖:

        clip_image019

        20、添加狀態字段,如下圖:

        clip_image020

        21、雙擊SetState創建方法:

        private void setStateToJL_MethodInvoking(object sender, EventArgs e){}

        22、添加xml和擴展狀態代碼:

        clip_image021

        23、添加狀態的枚舉類型,如下圖:

        復制代碼
        public enum SPWorkflowStatus{經理待審批 = 0,經理已拒絕 = 1,總經理待審批 = 2,總經理已拒絕 = 3,總裁待審批 = 4,總裁已拒絕 = 5,報銷審批通過 = 6,Max = 15}
        復制代碼

        24、完成剛剛創建的setStateToJL_MethodInvoking方法

        setStateToJL_State1 = (Int32)SPWorkflowStatus.Max;

        clip_image022

        25、如此方法創建ZJLstateActivity、ZCstateActivity兩個狀態,在此不一一重復了,配置好的流程圖,附后:

        clip_image023

        審批流程描述:

        普通員工 – 經理審批 – 總經理審批 – 總裁審批;

        經理 – 總經理審批 – 總裁審批;

        總經理 – 總裁審批;

        審批結果:

        任意一級拒絕,工作流結束,狀態為該級別拒絕;

        審批通過,可以報銷,狀態為審批通過。

        流程運行過程

        1、新建一條報銷;

        clip_image024

        2、 啟動新的工作流;

        clip_image025

        3、查看工作流狀態

        clip_image026

        clip_image027

        4、 經理審批頁面,如下圖:

        clip_image028

        5、 經理審批后的狀態,如下圖:

        clip_image029

        6、 總經理審批后,總裁批準,如下圖:

        clip_image030

        7、 總裁已批準,日常報銷頁面,如下圖:

        clip_image031

        8、 總經理審批后,總裁批準,如下圖:

        clip_image032

        9、 總裁已拒絕,日常報銷頁面,如下圖:

        clip_image033

        結束語

          以上,就是SharePoint 2013狀態機工作流的簡單示例,例子比較簡單,希望大家不要吐槽,也希望能夠給需要學習的人以參考。

        其實,做工作流的過程,自己也經常吐槽,確實是一個痛苦的過程,接下來還想寫表單來跑工作流,不知道還有沒有耐心繼續寫下去了,呵呵,好了,不吐槽了,就這樣吧。

          因為截圖比較倉促,很多地方可能介紹并不詳細,特此做一個總結。SharePoint狀態機工作流的設計過程:添加工作流狀態 – 添加事件驅動 – 勾畫流程圖 – 添加工作流初始化 – 添加任務(CreatTask) - 事件驅動里添加OnTaskChanged事件 – 設置IF..ELSE等選擇語句 – 設置流程結束狀態。基本上就是這樣一個過程,希望大家理解后再動手做。

        回復一樓留言

          簡單修改下流程~

        SharePoint 狀態機工作流之日常報銷實例教程_本站

          IF...ELSE分支加代碼

        復制代碼
        private void IfMoneyBelow500(object sender, ConditionalEventArgs e){    if (Convert.ToInt32(workflowProperties.Item["報銷金額"].ToString()) >= 500)    {        e.Result = true;    }    else    {        e.Result = false;    }}
        復制代碼

           結果如下圖:

        SharePoint 狀態機工作流之日常報銷實例教程_本站


        Sharepoint 可以幫助企業用戶輕松完成日常工作。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 精品乱子伦一区二区三区高清免费播放| 亚洲精品偷拍视频免费观看| 97碰公开在线观看免费视频| 日韩免费一区二区三区在线播放| 日本特黄特色aa大片免费| 亚洲国产精品一区二区三区久久 | 午夜性色一区二区三区免费不卡视频 | 久久国产一片免费观看| 亚洲中文字幕在线乱码| 国产99在线|亚洲| h片在线播放免费高清| 99久热只有精品视频免费看| 国产免费131美女视频| 久久久亚洲AV波多野结衣 | 久久久久久亚洲Av无码精品专口 | 歪歪漫画在线观看官网免费阅读 | 亚洲精品欧美综合四区| 免费无码VA一区二区三区| 亚洲视频在线观看网站| 欧洲乱码伦视频免费| 蜜臀亚洲AV无码精品国产午夜.| 久久er国产精品免费观看2| 拔擦拔擦8x华人免费久久| 一级片在线免费看| 国产成人免费永久播放视频平台| 91在线亚洲精品专区| 成人免费视频观看无遮挡| 亚洲天堂一区二区三区| 成全视频高清免费观看电视剧| 四虎永久在线免费观看| 男女一边桶一边摸一边脱视频免费| 免费v片在线观看品善网| 香蕉大伊亚洲人在线观看| 99热这里只有精品6免费| 亚洲乱码在线卡一卡二卡新区| 亚洲午夜激情视频| 久久精品国产亚洲AV未满十八| 国产亚洲成AV人片在线观黄桃| 一级毛片免费一级直接观看| 亚洲理论片在线中文字幕| 国产免费久久精品99re丫y|