式を作成して Vault でさまざまなタスクを行なうことができます。Vault は、日付や文字のほか、数字を計算できる関数や演算子を含む Excel™ のような式言語を使用します。

Vault の式の例は次の通りです:

  • 式タイプオブジェクトフィールドを使用した値の計算またはアイコンの動的表示。
  • オブジェクトレコードまたはドキュメントのデフォルトフィールド値の設定。
  • ワークフローまたはライフサイクル状態変更の一環としてのドキュメントまたはオブジェクトレコードのフィールド値の設定。

この記事には、式構文、有効なフィールドとデータのタイプ、式を作成するための一般ガイドラインに関する情報が含まれます。Vault 数式参照ガイドでは、すべての関数と演算子について詳しく紹介しています。

有効なフィールド

有効なフィールドタイプは、式をどこに構築するかによって異なります。サポートされるフィールドタイプと他の用途固有の情報については、以下の記事を参照してください:

ライフサイクル状態フィールド

数式内でオブジェクトレコードのライフサイクル状態を参照することができます。実行時に Vault は、これらをレコードの現在のライフサイクル状態の名前またはラベルに置き換えます。例:

  • state__v または [Object Name].state__v は、名前 planned_state__v を取得します。
  • Text(state__v) はテキスト「Planned」としてラベルを取得します

オブジェクト参照フィールド

数式内のレコードへのオブジェクト参照を取得することができます。例:

  • country__c は、レコードへのオブジェクト参照を取得します
  • Text(country__c) は、レコードラベルをテキスト「United States」として取得します
  • ID(country__c) は、レコード ID をテキストとして取得します

データタイプ

式を定義する際には、式の演算子、関数、フィールドおよび値をフィールドのデータタイプに一致させてください。例えば、テキスト値を掛け算することはできませんが、テキストフィールドに数字が含まれている場合、掛け算を実行する前に文字列を数字に変換することができます。

データタイプを変換する

Vault は、式に使用される場合に以下のデータタイプを自動的に変換します:

  • 選択リスト → テキスト (オブジェクトまたはフィールドのデフォルトの数式フィールドを除く)
  • 日時 → 日付 (オブジェクトまたはフィールドのデフォルトの数式フィールドを除く)

Vault は、データタイプの変換に使用できる機能を提供します:

  • 日付 → テキスト: Text(date, format)
  • 日時 → テキスト: Text(datetime, format)
  • 数字 → 間隔: Days(number)Months(number)Years(number)
  • テキスト → 数字: Value(text)
  • オブジェクト参照 → テキスト: ID(object_record)Text(object_record)

式に関するガイドライン

Vault で式表現を作成する際にはこれらのガイドラインを使用します。

式表現

式表現を作成する際にはこれらのガイドラインを使用します:

  • お使いの Vault のロケールにかかわらず、小数点はピリオドとします。
  • 式の最大文字数は 1,500 文字とします。
  • 式に 1 つ以上の表現が含まれる場合は、式を括弧 () で囲みます。

フィールド

ドキュメントフィールドまたはオブジェクトフィールドに式表現を追加する際、以下のガイドラインを使用します。

  • フィールドラベルではなく、フィールドパネルに示されるとおり、フィールド名を使用します。例えば、ステータスではなく status__v となります。
  • ドキュメントを参照する場合、フィールド名には、ドキュメント (Document.) またはドキュメントの関連オブジェクト (document_product__vr.)。(関係を介さずに) オブジェクトフィールドを直接参照する場合、これらに接頭辞はありませんが、オブジェクトの関連オブジェクトを参照するために関係名 (campaign__cr.) が必要になります。
  • フィールド名には大文字・小文字の区別があります。
  • フィールドパネルから追加する際、Vault は正しい構文を自動挿入します。
  • 別の数式表現の数式タイプのフィールドは参照できません。

関数

関数を式表現に追加する際、以下のガイドラインを使用します。

  • 関数名は、大文字と小文字が区別されます。
  • 関数には、1 つまたは複数の引数があります。
  • その他の関数にある関数を使用できます。
  • 一部の関数には、値がフィールドに依存しているフィールド引数および値引数があります。値を入力するには、値ラベルと二重引用符を使用します (例: "下書き")。

算術演算子

算術演算子を式表現に追加する際、以下のガイドラインを使用します。

  • 演算子の標準の順序を適用: 括弧で括らない限り、加算および減算の前に乗算および除算が実行されます。
  • 演算子を直接入力することもできますが、フィールドの下にあるボタンも使用できます。
  • 演算子を使って、数字および数字タイプのフィールドを加算できます (例: durationInValue(Document.status__v, "下書き") + 5)。

日付フィールドを使ったタイムゾーン処理

Vault は、UTC のデータベースに、日付および日時のタイプフィールドのすべての値を保存します。引き算を使用して日付の差を計算する場合、タイムゾーン変換に以下のルールが使用されます:

  • 2 つの日付フィールドが関与する計算については、タイムゾーンの変換を実行しません。日付フィールドには時間がないものとみなされます。
  • 2 つの日時フィールドが関与する計算については、タイムゾーンの変換を実行しません。両方のフィールド値は UTC に保存されるため、関数はタイムゾーンの影響を受けません。日付間の計算を実行し、四捨五入して整数にします。定義されている場合、ドキュメント式フィールドの値に小数位を含めて日付の差を正確に反映することができます。
  • 日付フィールドと日時フィールドが関与する計算については、UTC の日時値を Vault のデフォルトタイムゾーン設定に変換し、値の時間部分を省略します。その後、日付対日付の計算を実行します。Vault は、夏時間を考慮しません。