> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ビジネスルールの自動化

> JavaScript を使用して Document skill にスクリプトルールを追加し、読み取り可能および書き込み可能な fields の設定、テーブル列の参照、検証結果の返却を行います。

Document skill にスクリプトルールを追加すると、fields の値を比較したり、条件を検証したり、プログラムで fields の値を変更したりできます。

Advanced Script Rule を追加するには、fields のプロパティで **New rule** をクリックし、スクリプトルールの種類を選択します。このページでは、ルールの設定方法と、その JavaScript の記述方法について説明します。

<div id="set-up-an-advanced-script-rule">
  ## Advanced Script Rule の設定
</div>

**Advanced Script Rule** を設定する際は、スクリプトで参照する fields を指定します。

<div id="configure-fields">
  ### fields を設定する
</div>

* **Fields** 列で、スクリプトが読み取る必要のあるすべての fields を指定します。
* **Changed by the rule** 列で、スクリプトが編集するすべての fields を指定します。

<Note>
  スクリプトが、読み取り対象として指定されていない fields を参照したり、編集対象として指定されていない fields に書き込んだりすると、ルールはアクセスエラーを返します。

  * `Attempt to read data from inaccessible field`
  * `Attempt to write data to read-only field`
</Note>

<div id="configure-table-columns">
  ### テーブル列を設定する
</div>

スクリプトで特定のテーブル列を参照する場合は、ルールの設定時に、テーブル全体ではなく該当する列を個別に選択します。選択する列はすべて同じテーブルに属している必要があります。

たとえば、ルールを **New table** の **Column 1** と **Column 2** に適用する場合は、次の fields を選択します。

<Frame caption="処理対象 fields として 'New table' の Column 1 と Column 2 が選択されたルール設定">
  <img src="https://mintcdn.com/abbyy/hVcX1G4uYung9LOg/images/vantage/skill-designer/screen_docskill_rules_irulecontext_rulesettings.png?fit=max&auto=format&n=hVcX1G4uYung9LOg&q=85&s=29b21a8d94d90784fa463c1fdbc38688" alt="New table から Column 1 と Column 2 が選択されているルール設定ダイアログ" style={{ width: "60%" }} width="880" height="746" data-path="images/vantage/skill-designer/screen_docskill_rules_irulecontext_rulesettings.png" />
</Frame>

<div id="write-the-script">
  ## スクリプトを記述する
</div>

スクリプトエディターに切り替え、ルールを実装する JavaScript を記述します。

このスクリプトでは、ドキュメントの fields の読み取り、値の計算、値の比較、およびセットアップ時に書き込み可能としてマークされた fields の更新を行えます。一般的なコードスニペットを挿入するには、スクリプトエディター上部のクイック編集ボタンを使用します。

ルールの条件が満たされない場合は、[`Context.CheckSucceeded`](/ja/vantage/documentation/skill-designer/document/rule-verification/context#checksucceeded) を `false` に設定します。これにより、ドキュメントは手動確認に送られます。

<div id="related-topics">
  ## 関連トピック
</div>

* [ルールの検証](/ja/vantage/documentation/skill-designer/document/rule-verification/rule-verification)
* [オブジェクトモデル](/ja/vantage/documentation/skill-designer/document/rule-verification/object-model)
* [サンプルスクリプト](/ja/vantage/documentation/skill-designer/document/rule-verification/sample-scripts)
