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