メインコンテンツへスキップ
Context はグローバルオブジェクトで、処理中のDocument、その fields、および属するトランザクションのパラメーターにアクセスできます。ルールが成功したかどうかを示すには、CheckSucceeded を設定します。

使用法

ルールは Context を通じて field を読み取り、内容を確認したうえで、CheckSucceededErrorMessage を設定して結果を報告します。たとえば、Total field が存在しない、または空の場合は、カスタムメッセージを設定してルールを失敗させます。
var field = Context.GetField("Total");

if (!field || !field.Value) {
  Context.CheckSucceeded = false;
  Context.ErrorMessage = "Total field is empty";
}
その他のパターン (数値比較、条件付き要件、テーブルの検証) については、サンプルスクリプトを参照してください。

プロパティ

CheckSucceeded

Type: boolAccess: 読み取り/書き込み ルールの条件が満たされているかどうかを示します。既定値は true です。条件が満たされていない場合は、false に設定します。この場合、オペレーターに表示される既定のエラーメッセージは Error in the rule <rule_name>: <field_name> です。メッセージをカスタマイズするには、ErrorMessage プロパティを設定します。
エラーが生成されるのは、スクリプトで CheckSucceededfalse に設定した場合のみです。スクリプトでこれを明示的に設定しない限り、ルールの条件が満たされていなくてもエラーは表示されません。

CurrentField

Type: FieldAccess: 読み取り専用 ルールでチェックされる field です。繰り返しルール内の繰り返し field の場合、これは現在の呼び出しでチェック対象となっている特定のインスタンスを指します。ルールがDocument 全体を参照している場合は、null を返します。

Document

Type: DocumentAccess: 読み取り専用 ルールが実行される対象のDocumentです。

ErrorMessage

Type: stringAccess: 読み取り/書き込み スクリプトで CheckSucceededfalse に設定したときに表示されるカスタムメッセージです。設定されていない場合、既定のメッセージは Error in the rule <rule_name>: <field_name> です。

Transaction

Type: TransactionAccess: 読み取り専用 現在のトランザクションです。

メソッド

スクリプトは、ルールの設定時に読み取り用として一覧に含まれている fields のみを読み取り、編集可能として一覧に含まれている fields にのみ書き込むことができます。その他の field を参照すると、アクセス エラー (Attempt to read data from inaccessible field または Attempt to write data to read-only field) が発生し、ルールは失敗します。ビジネス ルールの自動化を参照してください。

GetField

Field GetField(string fieldName);
名前または識別子で Fieldを取得します。その名前のfieldが存在しない場合は null を返します。 グループ内のfieldを指定するには、フルパスを使用します。たとえば、BusinessUnit/Address です。 繰り返しルールで使用すると、GetField は処理済みの各fieldインスタンスを順番に返します。そうでない場合は、繰り返しfieldの最初のインスタンスを返します。
field名は変数ではなく、stringリテラルとして渡してください。スクリプトのプリプロセッサは、実行前にリテラル名をfieldの識別子に置き換えます。変数は処理されません。

GetFields

Field[] GetFields(string fieldName);
指定した名前のすべてのFieldオブジェクトを返します。これは、テーブルの列内のすべてのセルを含め、繰り返しfieldの各インスタンスを反復処理する場合に便利です。その名前のfieldが存在しない場合はnullを返します。
GetFieldと同じプリプロセッサの制約があります。変数ではなく、文字列リテラルを渡してください。

GetCatalogRecord

Record GetCatalogRecord(string catalogId, string externalId);
Record をデータ カタログ (外部データベース) から取得します。このメソッドを使用して、ドキュメントのfield値をカタログのfield値と比較します。
カタログにレコード識別子 (たとえば、ベンダー識別子) が設定されている場合にのみ利用できます。

SkillParameter

SkillParameter SkillParameter(string ParameterName);
名前を指定して SkillParameter を取得します。値は、返されたオブジェクトの Value プロパティから読み取ります。たとえば、Context.SkillParameter("Threshold").Value です。
Document skill に少なくとも 1 つの Parameter がある場合にのみ使用できます。

オブジェクト モデル

Advanced Script Rules で使用するための完全な JavaScript オブジェクト リファレンス。

ビジネス ルールの自動化

Document skill にスクリプト ルールを追加し、読み取り可能および書き込み可能な fields を設定して、テーブル列を参照します。

Field

Field object — ルールの実行中にDocument の field を確認・変更します。

サンプルスクリプト

一般的な Advanced Script Rule シナリオ向けの実用的な JavaScript サンプル。