シートに承認フローが設定されている場合、以下の数式を適用して承認プロセスに関連する特定の値を返すことができます。
現在、以下の2種類の承認関数がサポートされています:
承認数式の詳細や例については、こちらのページをご参照ください。
数式の再計算に関しては、こちらの記事をご参照ください。
関数 | 解説 |
---|---|
APPROVAL.COUNT() | 返された承認階層の総数 |
APPROVAL.STATUS() | 承認の状況を返す。
N: New、承認プロセスがまだ始まっていない、若しくはキャンセルされた P: Processing、承認プロセスを開始し、承認が完了するのを待ちます REJ: Rejected、いかなる段階でも承認が拒否された F: Finish,すべての承認者が同意した場合、完成を意味する |
APPROVAL.SUBMITTER() | 承認を開始したユーザーメールを返す、ユーザー選択フィールドに適用します |
APPROVAL.SUBMITTERNAME() | 承認を開始したユーザー名を返す |
APPROVAL.SUBMITDATE([true]) | 承認開始の日時を返し、日付フィールドに適用します。 [true] パラメータはオプションである。適用された場合、時間値はUTC+0で表示されます。そうでない場合、時間値はアカウントの時間帯で表示されます。詳細については、このセクションを参照してください |
APPROVAL.FINISHDATE([true]) | 承認が終了した日時を返す。 承認の「終了」は、承認者全員が同意した、または誰かが承認を拒否したことを意味し、日付フィールドに適用します。 [true] パラメータはオプションである。適用された場合、時間値はUTC+0で表示されます。そうでない場合、時間値はアカウントの時間帯で表示されます。詳細については、このセクションを参照してください |
関数 | 解説 |
---|---|
APPROVAL.CURRENTSTEPINDEX | 承認プロセスの現在の階層を表す索引値を返します。
索引値 0は、承認プロセスがまだ開始されていないことを意味します。 索引値 1は、承認プロセスが開始されたが、承認者がまだ承認していないことを意味する。 承認者が承認するたびに、索引値に「1」が追加されます。承認プロセスが終了すると(全員承認/1階層拒否/キャンセル)、索引値は「0」に戻る。 |
以下の関数には、APPROVAL.STEP([stepIndex])を接頭辞として使用する必要があります。これは、インデックス値を使用して承認プロセス内の特定の階層を示すものです。単独で使用する関数ではなく、他の承認数式と組み合わせて使用できます。[stepIndex]引数は省略可能で、省略された場合はAPPROVAL.CURRENTSTEPINDEXがデフォルトとして使用され、現在のステップを示します。引数の説明は以下の通りです:
APPROVAL.STEP(-1) : ひとつ前の階層
APPROVAL.STEP() : 現在の階層 (APPROVAL.STEP(APPROVAL.CURRENTSTEPINDEX) に相当する。)
APPROVAL.STEP(0) : エラー、使用できません
APPROVAL.STEP(1) : 第一階層
APPROVAL.STEP(2) : 第二階層
関数 | 解説 |
---|---|
APPROVAL.STEP([stepIndex]).NAME() | この階層の名前を返す |
APPROVAL.STEP([stepIndex]).STATUS() | この階層の状態を返す。
N: New、この段階はまだ同意も拒否もされておらず、承認中の段階である F: Finish(完成)。この階層が 「単一の承認者 」を含む場合、そのリクエストの承認または拒否を示す。 「複数の承認者」がいる場合は、同意した承認者の数が指定さ れた閾値以上であるか、誰かがリクエストを拒否したことを示す。 |
APPROVAL.STEP([stepIndex]).USERS() | この階層の全承認者を返す。
値の例:松本|田中|濱田。この関数は、ユーザーの複数選択フィールドに適用することができます(現在、数式を複数選択フィールドに適用することはできませんので、まず数式を設定してから複数選択設定を選択してください)。 |
APPROVAL.STEP([stepIndex]).UNSIGNEDUSERS() | この階層で承認していない承認者を返す。
値の例:松本|田中|濱田。この関数は、ユーザーの複数選択フィールドに適用することができます(現在、数式を複数選択フィールドに適用することはできませんので、まず数式を設定してから複数選択設定を選択してください)。 |
APPROVAL.STEP([stepIndex]).SIGNEDUSERS() | この段階で承認に同意した人を返す。
値の例:松本|田中|濱田。この関数は、ユーザーの複数選択フィールドに適用することができます(現在、数式を複数選択フィールドに適用することはできませんので、まず数式を設定してから複数選択設定を選択してください)。 |
APPROVAL.STEP([stepIndex]).ISMULTI() | この階層に「複数の承認者」がいる場合、「True」 を返す |
APPROVAL.STEP([stepIndex]).THRESHOLD() | この階層での最低同意者数を返る。 この段階が単一承認者の場合、または最低同意者が設定されていない場合、値は-1であります |
APPROVAL.STEP([stepIndex]).SIGNEDCOUNT() | この階層で承認に同意した人数を返す。 この段階が単一承認者の場合、-1を返すので、この式は複数承認者の場合にのみ適用されます |
以下の関数では、[email]は任意の引数で、複数ユーザーが含まれる承認階層において特定のユーザーの承認データを取得するために2通りの方法で使用できます。
1. メールアドレスの文字列(""で囲む)として使用する場合:例:APPROVAL.STEP([stepIndex]).RESP("example@ragic.com")
2. メールフィールドまたはユーザー選択フィールドを直接使用する場合:例:APPROVAL.STEP([stepIndex]).RESP(A2)
(注意: 数式内の[email]引数は2021年7月13日以降に作成された承認ステップにのみ適用されます。)
関数 | 解説 |
---|---|
APPROVAL.STEP([stepIndex]).RESP([email]) | このステップの返事を返します。
(1) 承認ステップに承認者が1人の場合:[email]引数は不要です N: 未承認。承認または拒否がまだされておらず、現在も承認待ちの状態 A: 承認済み。承認者が承認を受け入れたことを示す A_D: 代理による承認。承認者の代理人が承認を受け入れたことを示す REJ: 拒否。承認者が承認を拒否したことを示す REJ_D: 代理による拒否。承認者の代理人が承認を拒否したことを示す (2) 承認ステップに複数の承認者がいる場合: [email]引数なしの場合: N: 未承認。承認者数が指定された数未満であることを示す A: 承認済み。承認者数が指定された数以上であることを示す REJ: 拒否。誰かが承認を拒否したことを示す [email]引数ありの場合: unsigned: 承認者が承認または拒否していないことを示します signed: 承認者が承認を受け入れたことを示す signed_by_deputy: 承認者の代理人が承認を受け入れたことを示す rejected: 承認者が承認を拒否したことを示す rejected_by_deputy: 承認者の代理人が承認を拒否したことを示す |
APPROVAL.STEP([stepIndex]).COMMENT([email]) | 承認者のコメントを返します。コメントがない場合はnullを返します。
(1) 承認階層に承認者が1人の場合:[email]引数は不要です。 承認者のコメントを返します。 (2) 承認階層に複数の承認者がいる場合:[email]引数が必要です。 特定の承認者のコメントを返します。 |
APPROVAL.STEP([stepIndex]).SIG([email]) | この階層の承認者のサインを返す。
例:base64イメージURL。画像アップロードフィールドでサポートされています。 (1) この承認階層に承認者が1人の場合:[email]引数は不要です。 このステップの承認者のサインを返す。 (2) この承認階層に複数の承認者がいる場合:[email]引数が必要です。 特定の承認者の署名を返す。 |
APPROVAL.STEP([stepIndex]).SIGIMG([email], [width], [height]) | このステップの承認者のサインを、指定された画像サイズで返します。
[width]および[height]引数は任意で、デフォルト値は300px x 150pxです。この関数は、フィールド説明にBBCodeの[関数]を用いて適用できます。 注意: 1. 承認プロセスで1人の承認者のサインを幅600px、高さ300pxで返すには、APPROVAL.STEP([stepIndex]).SIGIMG(null, 600, 300)を使用してください。この場合、nullは""で囲まないでください。 2. フィールドの種類は画像/サインフィールドではなく、テキストフィールド(例:自由入力)でなければなりません。 |
APPROVAL.STEP([stepIndex]).ACTIONDATE([email]) | 特定の承認階層の承認または拒否の日時を返す。
この関数は日付フィールドに適用する必要があります。 [true]引数は任意で、適用すると、時間がUTC+0で表示されます。適用しない場合は、アカウントの時間帯で時間が表示されます。詳細についてはこちらのセクションをご参照ください。 (1) 承認階層に1人の承認者がいる場合: [email]引数は不要です。 承認者の承認または拒否の日付と時間を返す。 (2) 承認階層に複数の承認者がいる場合: [email]引数を使用しない場合: 承認者の1人がこの承認を拒否した時点、または階層が完全に承認された時点(承認した承認者の数が承認閾値の設定に達した時点)の日付と時間を返します。 [email]引数を使用する場合: 指定されたユーザーの承認または拒否の時間を返す。 (注:[email]引数は2021年7月13日以降に作成された承認階層でのみ使用可能です。) |
APPROVAL.STEP([stepIndex]).COMMENTDATE([email]) | 承認者のコメントが記入された日時を返す。
[true]引数は任意で、適用すると、時間がUTC+0で表示されます。適用しない場合は、アカウントの時間帯で時間が表示されます。詳細についてはこちらのセクションをご参照ください。 (1) 承認階層に1人の承認者がいる場合:[email]引数は不要です。 承認者がコメントを残した日時を返します。 (2) 承認階層に複数の承認者がいる場合:[email]引数が必要です。 指定された承認者がコメントを残した日時を返します。 |
タイムスタンプを返す承認関数:APPROVAL.SUBMITDATE([true])、APPROVAL.FINISHDATE([true])、APPROVAL.STEP([stepIndex]).ACTIONDATE([email],[true])、APPROVAL.STEP([stepIndex]).COMMENTDATE([email],[true])
これらの関数を使用する際には、[true]引数を含め、日付フィールド設定で「利用しているブラウザのタイムゾーンを表示」を有効にすることをお勧めします。
シートで承認プロセスが既に開始または完了している場合、その後で時間を返す承認関数(例:APPROVAL.SUBMITDATE([true])やAPPROVAL.STEP([stepIndex]).ACTIONDATE([email],[true]))を適用するフィールドを追加し、既に「利用しているブラウザのタイムゾーンを表示」設定が有効な日付値が含まれる場合、表示時間が「ブラウザのタイムゾーン」に基づいて調整される可能性があります。
例えば、シートが「2023年8月1日12:00 PM」に承認済みで、その時点で承認時間フィールドが「ブラウザのタイムゾーンを表示」に設定されていない場合、記録された時間は「会社のタイムゾーン」に準拠します。その後「新しい承認時間」フィールドを追加して「ブラウザのタイムゾーンを表示」を有効にすると、承認関数は最初に「会社のタイムゾーン」に基づいて計算され、ブラウザのタイムゾーン(例:UTC+8)を使用して表示される値が加算されます。この結果、「新しい承認時間」フィールドの時間はさらに8時間加算され、2023年8月1日8:00 PMとして表示されます。
承認時間にタイムゾーンの不一致が発生した場合、そのフィールドで「ブラウザのタイムゾーンを表示」オプションのチェックを解除するだけで、シートが「会社のタイムゾーン」に基づいて時間を計算するようになります。
「ブラウザのタイムゾーンで表示」オプションをチェックまたは解除する際、システムはフィールドの日付値が変換される旨の通知を表示します。そのため、この設定に注意し、既に日付値が含まれているフィールドに対してはチェックまたは解除を避けてください。