流程引擎——OA流程表單的認(rèn)識及優(yōu)化
編輯導(dǎo)語:在工作中經(jīng)常會遇到流程表單的運用,OA工作流的表單設(shè)計器是最常用控件的用法;本文作者分享了工作流引擎流程表單的相關(guān)內(nèi)容,以及對OA流程表單的一些細(xì)節(jié)優(yōu)化,我們一起來看一下。
現(xiàn)在企業(yè)內(nèi)部產(chǎn)品大多會涉及工作流,不論CRM、OA、WMS、ERP等,都有流程引擎應(yīng)用的場景。
我在工作中一直接觸OA,流程表單運用很多,但在之前的使用過程中發(fā)現(xiàn)還有些細(xì)節(jié)可以優(yōu)化;所以根據(jù)應(yīng)用經(jīng)驗及使用的需求整理了如下內(nèi)容,以后有機會重新設(shè)計這個模塊時可以有個參考。
一、流程和表單
流程表單分為兩部分,流程及表單;表單其實也是流程的一部分,但表單內(nèi)容較多,所以單獨劃分。
流程主要是流程節(jié)點、流程流干、流程處理、流程日志、流程權(quán)限,表單就是頁面交互的內(nèi)容。
二、流程
1. 流程節(jié)點
1)節(jié)點順序
流程節(jié)點可以設(shè)置展示的先后順序,但也要能設(shè)置節(jié)點是否有效。
有的節(jié)點當(dāng)時有用,特殊時期又不能用,但如果以增刪改查的方式來管理,容易影響進行中的流程實例;所以直接根據(jù)是否有效來判斷展示節(jié)點(無效節(jié)點則不展示,自動跳過)是最簡單快捷的方式。
2)節(jié)點流向
節(jié)點一般分為正向、反向、條件跳轉(zhuǎn)三種流向:
- 正向:按照節(jié)點順序逐一執(zhí)行
- 反向:當(dāng)前節(jié)點返回到前面節(jié)點
- 條件跳轉(zhuǎn):一般流程引擎都允許設(shè)置基礎(chǔ)的跳轉(zhuǎn)條件,根據(jù)表單中一個或者多個字段做判斷條件;但有的條件不一定是當(dāng)前表單字段就能判斷的,可能會涉及多個表單才能判斷,這就比較考驗條件設(shè)置個性化能力;要不然調(diào)整流程使用方式,比如設(shè)置多個流程,讓符合不同條件的用戶用不同的流程,要不然能代碼設(shè)置判斷條件,讓有開發(fā)能力的組織根據(jù)需求調(diào)整。
3)節(jié)點變更
節(jié)點變更一般是進行中的流程(不在條件跳轉(zhuǎn)規(guī)則內(nèi))跨節(jié)點跳轉(zhuǎn),已結(jié)束的流程要退回來重新流轉(zhuǎn);通常是通過流程管理中心人工更改,比如流程實例管理,管理員或特殊人員人為更改節(jié)點,流程日志記錄操作信息。
但人工操作過程會增加申請人與修改人的溝通時間,可以在流程上添加節(jié)點修改申請按鈕,申請人提交申請時填寫節(jié)點更改原因;根據(jù)設(shè)置的申請條件觸發(fā)審批或者直接到修改人,節(jié)點更改后系統(tǒng)通知申請人;不僅可以保留修改原因,規(guī)范流程,也減少溝通成本。
4)節(jié)點處理
- 同時處理:同時處理就是流程無論指定單人還是多人,指定所有人員都處理,當(dāng)前節(jié)點才算執(zhí)行完畢,否則無法流轉(zhuǎn)到下一節(jié)點;比如一個審批單到管理崗節(jié)點,但有多個平級管理崗,需要他們都同意才能繼續(xù)往下推進,那這個節(jié)點就需要多人同時處理。
- 抑或處理:當(dāng)前節(jié)點多人有處理權(quán)限,但只要其中某些人處理就能流轉(zhuǎn)下一節(jié)點,其他有權(quán)限但未處理人員能查看流程,類似于流程抄送。
- 條件處理:設(shè)置個性化處理規(guī)則,根據(jù)發(fā)起人部門、表單字段值等條件自動判斷處理人;比如集團企業(yè)不同分公司用同一流程,同一節(jié)點不同公司有不同審批人和不同審批要求,個性化的設(shè)置能讓管理更簡單便捷。
2. 流程流干
流程大多是一條主流,但現(xiàn)在流程引擎有項目管理的多任務(wù)執(zhí)行要求,所以會涉及支流。
例如業(yè)務(wù)訂單處理多個小任務(wù)需要不同人同時執(zhí)行,如果只有一條主流,只能順序執(zhí)行,不能有效管理各小任務(wù)進度;如果主流能生成支流,支流也能匯入主流,在主流程頁面能有效管理分支,那流程引擎也能實現(xiàn)項目管理。
- 流程主流:單條流程,順序執(zhí)行流程節(jié)點;
- 流程支流:根據(jù)條件自動觸發(fā)分支或者手動添加分支,能跟進管理分支進度。
3. 流程處理
- 流程處理:流程處理時選擇處理動作(通過、退回),填寫處理意見;處理意見有的是常規(guī)事務(wù)性的,有的是必須明確表態(tài)的,所以處理意見是否為必填要能靈活設(shè)置。
- 流程移交:原處理人離職或者職務(wù)發(fā)生變化,需要將原審批權(quán)限移交給新接手人;更多還是離職人員交接時會用到,這需要與人員在職狀態(tài)關(guān)聯(lián),人員離職可以一鍵將未處理的所有流程都移交給新接手人。
4. 流程日志
日志主要是為了出現(xiàn)問題有跡可循,最好全面覆蓋。
正常情況下,流程和表單做的所有操作都應(yīng)該有痕跡,但很多常規(guī)痕跡是無效的,如果都保留會浪費服務(wù)器空間,影響訪問速度;但有的數(shù)據(jù)又很重要,不能輕易修改,如果修改必須留下痕跡,所以需要根據(jù)使用要求保留日志內(nèi)容。
流程日志主要是節(jié)點處理痕跡、表單操作痕跡:
- 節(jié)點處理痕跡:保留所有節(jié)點處理人、處理時間、處理動作、處理意見。
- 表單操作痕跡:保留表單字段的操作人、操作時間、操作動作、操作前后內(nèi)容;表單字段較多,要根據(jù)字段重要性設(shè)置是否留痕,這部分財務(wù)相關(guān)的數(shù)據(jù)涉及的會更多一些。
5. 流程權(quán)限
流程權(quán)限主要分為流程處理權(quán)限(發(fā)起、審批、特殊處理),表單字段權(quán)限:
1)處理權(quán)限:設(shè)置流程發(fā)起和審批的權(quán)限,流程結(jié)束后允許退回的權(quán)限:
- 發(fā)起權(quán)限主要與角色有關(guān),比如業(yè)務(wù)員、財務(wù)員,根據(jù)不同崗位或工作職責(zé)劃分角色就行了。
- 審批權(quán)限與組織架構(gòu)高度相關(guān),企業(yè)內(nèi)部大多根據(jù)人員級別逐一審批,所以權(quán)限與組織架構(gòu)匹配,會讓權(quán)限管理變得便捷(設(shè)置審批層次,根據(jù)人員級別順序往下審批,執(zhí)行級別沒有人員的則跳轉(zhuǎn)下一級別);但也有部分審批與組織層級無關(guān),這部分更簡單,直接設(shè)置固定審批人或者條件設(shè)置審批人就可以了。
- 特殊處理就如前文說的條件跳轉(zhuǎn)或者流程退回,這根據(jù)管理制度設(shè)定指定處理人就可以了。
2)字段權(quán)限:字段在不同節(jié)點,對應(yīng)不同處理人增刪改查的權(quán)限;例如同一個字段,業(yè)務(wù)員節(jié)點無法填寫,主管節(jié)點允許填寫,職能部門節(jié)點不允許填寫但允許查看,或者同一個表單在不同節(jié)點看到和可以操作的字段都完全不一樣。
三、表單
1. 表單構(gòu)成
表單內(nèi)容一般由基本信息、邏輯主體、補充說明三部分構(gòu)成:
- 基本信息:基本就是常規(guī)信息,差不多每個表單都會用到的,例如:發(fā)起人、發(fā)起組織、發(fā)起時間等身份標(biāo)識,與業(yè)務(wù)相關(guān)的客戶基本信息或者合同基本信息等。
- 邏輯主體:流程的主要部分,相當(dāng)于流程的詳細(xì)描述,涉及邏輯交互、數(shù)據(jù)交互等,比如合同具體成交的業(yè)務(wù)類型、費用、數(shù)量、付款和回款信息等。
- 補充說明:作為邏輯主體沒有表達清楚的補充說明,例如備注、說明、附件等讓相關(guān)人員將表單沒表達清楚的部分表達清楚。
2. 字段設(shè)置
字段設(shè)置個性化、靈活性越高,流程引擎能面向的用戶則更廣,能達到的管理要求也更高。
1)字段排版排序:字段排版、排序要符合用戶使用習(xí)慣,有邏輯關(guān)聯(lián)的字段要放一起,不要隔開;例如:客戶姓名后放了一堆合同信息,最后又放一個客戶地址,這樣填寫和審批都不方便,打亂使用者思維;合理的排序在數(shù)據(jù)列表展示或?qū)С鰰r都省事不少,表單在使用過程中會不斷優(yōu)化調(diào)整,優(yōu)化后的字段頁面上也要及時取消,避免增加頁面空值字段。
2)字段查看權(quán)限:有的字段比如上傳的附件資料,不允許某些節(jié)點處理人查閱,則會限制查看。
3)字段編輯權(quán)限:不是所有字段在所有節(jié)點都允許編輯,所以要根據(jù)字段的數(shù)據(jù)管理要求來設(shè)置字段在不同節(jié)點的編輯屬性。
4)字段留痕:字段修改和留痕關(guān)聯(lián),重要的字段修改后如果找不到修改人只有系統(tǒng)背鍋。有的字段在員工節(jié)點填寫后,上級節(jié)點需要再確認(rèn)修改;或者流程已結(jié)束再修改字段內(nèi)容的情況就需要將修改痕跡保留下來;留痕就是日志,需要考慮痕跡的重要性,如果重要性不高的字段就不必設(shè)置留痕,浪費服務(wù)器空間。
5)字段只讀:自動填充的關(guān)聯(lián)數(shù)據(jù)有的能修改,有的不能修改,如果有只讀這個控制開關(guān)便能更好管理,默認(rèn)情況應(yīng)該將自動填充的關(guān)聯(lián)數(shù)據(jù)都設(shè)置只讀;設(shè)置了只讀的字段,一定要關(guān)閉必填屬性,否則當(dāng)關(guān)聯(lián)數(shù)據(jù)空值或者關(guān)聯(lián)失敗時,用戶是無法提交表單的,設(shè)計者應(yīng)該避免犯這種常規(guī)錯誤。
6)修改字段值:很多流程結(jié)束后但需要修改頁面內(nèi)容,需要考慮是否允許不通過節(jié)點,直接更改頁面表單值,如果允許直接修改已有值,那必須得留痕;但應(yīng)該盡量避免這種情況,如果直接修改已有值會讓流程規(guī)范變得更難,使用者對于規(guī)范會越來越不重視。
3. 關(guān)聯(lián)數(shù)據(jù)
1)頁面字段數(shù)據(jù):表單除了要手動輸入的數(shù)據(jù)外,還有很多數(shù)據(jù)是由其他表單關(guān)聯(lián)過來的;選擇關(guān)鍵字段后會自動帶出關(guān)聯(lián)數(shù)據(jù),有的表單可能一個字段都不填,打開流程所有數(shù)據(jù)都自動填充了;有的數(shù)據(jù)也只需要選擇關(guān)鍵字段就自動填充;常規(guī)人事、行政審批對數(shù)據(jù)串聯(lián)要求不高,但財務(wù)或者業(yè)務(wù),邏輯關(guān)聯(lián)性較強,涉及數(shù)據(jù)多,數(shù)據(jù)串聯(lián)就變得非常重要。
2)流程相關(guān)數(shù)據(jù):除了自動填充表單字段數(shù)據(jù)外,還要將影響審批判斷但表單上沒有的數(shù)據(jù)體現(xiàn)出來,便于審批;例如項目請款,同一個合同所有的請款歷史、項目信息都應(yīng)該展示出來,讓審批人能快速做審批判斷。
4. 常規(guī)功能
- 導(dǎo)入:表單內(nèi)容一般是手動填寫,但有的表單會涉及到數(shù)據(jù)特別多的情況,就需要導(dǎo)入、導(dǎo)出,特別是財務(wù)的賬款清單之類的。
- 導(dǎo)出:同樣的數(shù)據(jù)但不同場景有不同的格式要求,要允許設(shè)置不同格式的導(dǎo)出模板,以適用不同情況。
- 打?。罕韱螖?shù)據(jù)大多要打印,添加打印快捷方式,節(jié)省用戶時間。
上述大概就是我整理的關(guān)于工作流引擎流程表單的相關(guān)內(nèi)容,有的部分是關(guān)聯(lián)的但拆開說會顯得有點重復(fù),還請見諒,沒有想起的內(nèi)容后面想到再做補充。
本文由 @Rabbit 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
關(guān)于流程這一部分的內(nèi)容,其實還可以說的更詳細(xì)一點,可以把會簽,并簽,拒絕后的操作等處理方式加上
挺好的,這篇內(nèi)容更多是作者對于自己系統(tǒng)的一個梳理,想要從0-1的小伙伴建議先不要過于的參考該篇內(nèi)容,如果你是要進行優(yōu)化我覺得這篇的一些小細(xì)節(jié)點是挺好的。
流干這個詞很少見到
挺好的。把表單和流程分別拆出來講,會更好分別理解這兩大模塊
比較亂,沒看懂到底是在說表單還是再說流程,表單都沒有講清楚,怎么優(yōu)化?
如果感興趣,建議從上往下看,你就知道我的邏輯在哪兒了