ドキュメントまたはオブジェクトレコードにフィールド値を自動的に設定することで、組織がデータの整合性を確保し、簡単にユーザとやり取りできるようになります。
使用例は次の通りです:
- 「インテリジェントジョブ番号」を生成して製品名や承認日といったその他のドキュメントフィールドを組み込む
- 別の日付から曜日、月、年のオフセットを追加して定期レビュー日を計算する
- オブジェクトレコードがレビュー中状態に入るたびに 1 を追加して、レビュー回数などのフィールドを増加させる
- ユーザのタイムゾーンに従って、ユーザがドキュメントを承認済み状態に移動させる日時を設定する
この機能は、ライフサイクル状態エントリアクション、イベントアクション、およびワークフロー手順で Vault の式言語を使用します。
エントリアクションを設定するには
式を使用してフィールドを設定するおよびレコードフィールドの更新エントリアクションを使用すると、状態変更中にドキュメントまたはオブジェクトフィールドの値を設定することができます。
ドキュメントの「式を使用してフィールドを設定する」エントリアクション
式を使用してフィールドを設定するエントリアクションを使用するエントリアクションを設定するには:
- エントリアクションページで、式を使用してフィールドを設定するアクションと更新するドキュメントフィールドを選択します。
- 電卓アイコンをクリックして、式ビルダを開きます。
- フィールド、関数、および演算子リストの項目を使って、数式フィールドの式を作成します。これらのリストから式フィールドに項目を移動するには、項目をダブルクリックします。式フィールドは基本テキストエディタのように機能します。関数および有効な演算子については、Vault 式参照ガイドをご確認ください。
- 構文を確認するをクリックします。Vault は、式が有効かどうかを表示します。
- 見出しをクリックして詳細設定を表示します。
- 任意の作業: ランタイムエラー処理のタイプを選択します。これは、Vault が式を実行できなくなる原因となるエラーがある場合に何が起こるかを決定します。
- 任意の作業: 空白値の処理のオプションを選択します。これは、Vault が式内の空白のフィールド値をどのように処理するかを決定します。
- 保存をクリックして式ビルダを閉じます。
レコードフィールドの更新エントリアクションオブジェクトレコードの場合
レコードフィールドの更新エントリアクションを使用するエントリアクションを設定するには:
- エントリアクションページで、更新するレコードフィールドの更新アクションおよびオブジェクトレコードフィールドを選択します。
- 電卓アイコンをクリックして、式ビルダを開きます。
- フィールド、関数、および演算子タブの項目を使って、数式フィールドの式を作成します。項目を数式フィールドに移動するには、その項目をクリックします。式フィールドは基本テキストエディタのように機能します。関数および有効な演算子については、Vault 式参照ガイドをご確認ください。
- 構文を確認するをクリックします。Vault は、式が有効かどうかを表示します。
- 保存をクリックして式ビルダを閉じます。
フィールドの更新手順を設定する方法
式ビルダを使用してレコードフィールドの更新ワークフロー手順を設定するには:
- アクションワークフロー手順をクリックします。
- 手順のアクションメニューで、編集をクリックします。
- ワークフロー手順で更新するフィールドを選択します。
- 電卓アイコンをクリックして、式ビルダを開きます。
- フィールド、関数、および演算子タブの項目を使って、数式フィールドの式を作成します。項目を数式フィールドに移動するには、その項目をクリックします。式フィールドは基本テキストエディタのように機能します。関数および有効な演算子については、Vault 式参照ガイドをご確認ください。
- 構文を確認するをクリックします。Vault は、式が有効かどうかを表示します。
- 保存をクリックして式ビルダを閉じます。
サポートされているフィールドタイプ
この機能では、以下のフィールドタイプがサポートされています:
- 日付
- 数字
- テキスト
- はい/いいえ
- 選択リスト
- 日時 (ドキュメントライフサイクルエントリアクションからのみ使用可能)
一部の標準フィールドはサポートされていません。サポートされていないフィールドには次が含まれます: フィールドのマージ (merge_fields__v)。
式を定義する際には、式の演算子、関数、フィールドおよび値をフィールドのデータタイプに一致させてください。日付および日時フィールドタイプの詳細は、タイムゾーン処理をご覧ください。
ランタイムエラー処理
これらのオプションは、Vault が式表現を解決できない場合に起こることを制御するものです。各エントリアクションについて、適用するエラー処理の種類を選択することができます:
- 厳格な処理: 値の計算時にエラーが起こった場合、Vault はドキュメント状態の変更を許可しません。その代わり、ドキュメントは元の状態のままとなります。状態変更がワークフローの一部である場合、ワークフローは進行しません。
- 柔軟な処理: 値の計算時にエラーが起こった場合、Vault は、式の計算が完了できるように結果を変更します。これは、Vault がフィールド値を「0」または空白に設定する可能性があることを意味します。
エラー | 柔軟性の高い処理の結果 |
計算された値はフィールドの最大値を超えます | フィールドを最大値に設定します |
計算された値はフィールドの最小値以下となります | フィールドを最小値に設定します |
計算されたテキストはフィールドの最大文字数を超えます | 値を最大文字数で切り捨てます |
計算結果が 0 の除算になります | 除算が 0 になります |
必須フィールドの計算結果が空白値になります | 「必須」設定を無視します |
空白値の処理
これは、Vault が式内の空白のフィールド値をどのように処理するかを決定します。
- 空白値を 0 で処理するを使うと、Vault が空白値に 0 を代入するため、式計算を完了させることができます。
- 空白値を空白として処理するを使うと、1 つの空白フィールド値によって、式全体が null/空白値を返します。
例
式: Document.days_in_draft__c + Document.days_pending_qc__c
下書きの日数 | QC 保留の日数 | 「空白を 0 にする」結果 | 「空白を空白にする」結果 |
5 | 5 | 5 | |
9 | 空白 | 9 | 空白 |
複数関数式の空白
Vault は、式に複数の関数が含まれている場合は、常に式フィールドの空白値を空白 (0 ではない) として扱います。例: numTimesInValue(Document.status__v, "下書き") + numTimesInValue(Document.status__v, "QC 保留")。