下圖說明簽核公式設計範例以及簽核流程範例。
設計兩個簽核階層,第一階層為單人簽核,第二階層為多人簽核 (2人)。
以此簽核流程所帶入的簽核公式結果請參考下表。
可以幫助使用者更加了解簽核公式!
公式 | 公式用途與說明 | 公式範例 | 回傳結果 | ||||||
---|---|---|---|---|---|---|---|---|---|
APPROVAL.COUNT() | 傳回簽核的總階層數。 | APPROVAL.COUNT() | 2 | ||||||
APPROVAL.STATUS() | 傳回簽核的狀態。
N: New,尚未開始簽核或取消簽核。 P: Processing,開始簽核後等待簽核完成。 REJ: Rejected,有任何一階拒絕簽核。 F: Finish,全部簽核人都同意時,代表完成。 | APPROVAL.STATUS() | F | ||||||
APPROVAL.SUBMITTER() | 傳回開始簽核的使用者E-mail。 可以套用在使用者欄位。 | APPROVAL.SUBMITTER() | Andy@ragic.com | ||||||
APPROVAL.SUBMITTERNAME() | 傳回開始簽核的使用者名稱。 | APPROVAL.SUBMITTERNAME() | Andy | ||||||
APPROVAL.SUBMITDATE([true]) | 傳回開始簽核的日期和時間。
可以套用在日期欄位上。 True為選填參數,填入代表用UTC+0,沒有則使用公司時區。 | APPROVAL.SUBMITDATE(true) | 2024/10/24 14:53 | ||||||
APPROVAL.FINISHDATE([true]) | 傳回簽核結束的日期和時間。
簽核「結束」指的是全部簽核人都同意或是有人拒絕簽核,可以套用在日期欄位上。 True為選填參數,填入代表用UTC+0,沒有則使用公司時區。 | APPROVAL.FINISHDATE(true) | 2024/10/24 15:03 |
公式 | 公式用途與說明 | 公式範例 | 回傳結果 | ||||||
---|---|---|---|---|---|---|---|---|---|
APPROVAL.CURRENTSTEPINDEX | 目前這一階層的索引值。
從 0 開始,0 代表尚未開始簽核,開始簽核後會變成 1,代表第 1 階。 每次完成一階層的簽核時這個值都會加 1,直到總階層數為止。 當結束簽核(全部階層都同意/或某一階拒絕/或取消簽核)時也傳回 0。 | APPROVAL.CURRENTSTEPINDEX | 0 | ||||||
APPROVAL.STEP([stepIndex]).NAME() | 傳回這一階層的名稱。 | APPROVAL.STEP(1).NAME() | 業務主管 | ||||||
APPROVAL.STEP([stepIndex]).STATUS() | 傳回這一階層的狀態。
N: New,這階尚未同意或拒絕簽核,處於簽核中。 F: Finish,如果這階是單人,代表該簽核人同意或拒絕簽核;如果這階是多人,代表已同意簽核人數大於等於擇辦人數,或是有人拒絕簽核。 | APPROVAL.STEP(2).STATUS() | F | ||||||
APPROVAL.STEP([stepIndex]).USERS() | 傳回這一階所有的簽核人。
範例值: 王小美|李曉明|彭大海。可以將此公式套用在使用者多選欄位(因為目前多選欄位不支援套用公式,請先設定好公式,再點選多選設定)。 | APPROVAL.STEP(2).USERS() | Jessica|Rebecca | ||||||
APPROVAL.STEP([stepIndex]).UNSIGNEDUSERS() | 傳回這一階未簽核的人。
範例值:王小美|李曉明|彭大海。可以將此公式套用在使用者多選欄位(因為目前多選欄位不支援套用公式,請先設定好公式,再點選多選設定)。 | APPROVAL.STEP(2).UNSIGNEDUSERS() | |||||||
APPROVAL.STEP([stepIndex]).SIGNEDUSERS() | 傳回這一階已同意簽核的人。
範例值: 王小美|李曉明|彭大海。可以將此公式套用在使用者多選欄位(因為目前多選欄位不支援套用公式,請先設定好公式,再點選多選設定)。 | APPROVAL.STEP(1).SIGNEDUSERS() | Emily | ||||||
APPROVAL.STEP([stepIndex]).ISMULTI() | 傳回這一階是否為多人簽核。
會回傳 true 或 false。 | APPROVAL.STEP(2).ISMULTI() | true | ||||||
APPROVAL.STEP([stepIndex]).THRESHOLD() | 傳回這一階的擇辦人數。
如果這階是單人簽核或是沒有設定擇辦人數,值為 -1。 | APPROVAL.STEP(1).THRESHOLD() | -1 | ||||||
APPROVAL.STEP([stepIndex]).SIGNEDCOUNT() | 傳回這一階已同意簽核的人數。 | APPROVAL.STEP(2).SIGNEDCOUNT() | 2 | ||||||
APPROVAL.STEP([stepIndex]).RESP([email]) | 傳回這一階層的回應。
單人簽核: 不需要帶 email 參數 N: Not yet,這階尚未同意或拒絕簽核,處於簽核中。 A: Accepted,該簽核人同意簽核 A_D: Accept by deputy,該簽核人的代理人同意簽核 REJ: Rejected,該簽核人拒絕簽核 REJ_D: Reject by deputy,該簽核人的代理人拒絕簽核 | APPROVAL.STEP(1).RESP() | A | ||||||
多人簽核:沒有帶 email 參數:
N: Not yet,已同意簽核人數小於擇辦人數 A: Accepted,已同意簽核人數大於等於擇辦人數 REJ: Rejected,有人拒絕簽核 | APPROVAL.STEP(2).RESP() | A | |||||||
多人簽核:有帶 email 參數:
unSigned: 該簽核人尚未同意或拒絕簽核 signed: 該簽核人同意簽核 signed_by_deputy: 經由該簽核人的代理人同意簽核 rejected: 該簽核人拒絕簽核 rejected_by_deputy: 經由該簽核人的代理人拒絕簽核 | APPROVAL.STEP(2).RESP("Jessica@ragic.com") | signed | |||||||
APPROVAL.STEP([stepIndex]).COMMENT([email]) | 傳回這一階的簽核人在同意或拒絕簽核時留下的理由。
如果還沒同意或拒絕簽核,或是做了這兩個動作但沒有留下理由,回傳空值。 單人簽核:不需要帶 email 參數,傳回該簽核人的理由 多人簽核:一定要帶 email 參數,取得某人的理由 | APPROVAL.STEP(1).COMMENT() | 理由1 | ||||||
APPROVAL.STEP([stepIndex]).SIG([email]) | 傳回這一階的簽核人的電子簽名。
值為 base64 圖片網址字串,如果沒有簽名傳回空值。可以將這公式套用在圖片欄位上。 單人簽核:不需要帶 email 參數,傳回該簽核人的電子簽名。 多人簽核:一定要帶 email 參數,傳回該簽核人的電子簽名。 | APPROVAL.STEP(1).SIG() | |||||||
APPROVAL.STEP([stepIndex]).SIGIMG([email], [width], [height]) | 傳回這一階的簽核人的電子簽名。
類似APPROVAL.STEP([stepIndex]).SIG([email]),只是這公式的值為bbcode [image],width 與 height 為可選參數,設定圖片的寬與高,如果沒設定,預設寬為 300px 高為 150px。可以配合 bbcode 公式將結果呈現在文字敘述上。 | APPROVAL.STEP(2).SIGIMG
("Jessica@ragic.com",150,75) | |||||||
APPROVAL.STEP([stepIndex]).
ACTIONDATE([email],[true]) | 傳回這一階簽核人同意或拒絕的日期和時間。
套用在日期欄位。True為選填參數,填入代表用UTC+0,沒有則使用公司時區。 單人簽核:不需要 email 參數,傳回該簽核人的同意或拒絕的日期和時間。 | APPROVAL.STEP(1).ACTIONDATE('',true) | 2024/10/24 15:01 | ||||||
多人簽核: 沒有帶 email 參數時,傳回有人拒絕或是有人同意簽核而且達標(已同意簽核人數大於擇辦人數)的日期和時間。 | APPROVAL.STEP(2).ACTIONDATE('',true) | 2024/10/24 15:03 | |||||||
多人簽核: 有帶 email 參數時,傳回該簽核人同意或拒絕的日期和時間。 | APPROVAL.STEP(2).ACTIONDATE
("Jessica@ragic.com",true) | 2024/10/24 15:02 | |||||||
APPROVAL.STEP([stepIndex]).
COMMENTDATE([email],[true]) | 傳回這一階的簽核人在同意或拒絕簽核時寫下理由的日期和時間。
如果還沒同意或拒絕簽核,或是做了這兩個動作但沒有留下理由,回傳空值,可以將這公式套用在日期欄位上。True為選填參數,填入代表用UTC+0,沒有則使用公司時區。 單人簽核:(不需要帶 email 參數) 傳回該簽核人寫下理由的日期和時間。 | APPROVAL.STEP(1).COMMENTDATE('',true) | 2024/10/24 15:01 | ||||||
多人簽核:一定要帶 email 參數,傳回某人寫下理由的日期和時間。 | APPROVAL.STEP(2).COMMENTDATE
("Jessica@ragic.com",true) | 2024/10/24 15:02 |