> ## 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.

# ルール

> ABBYY FlexiCapture for Invoices でバリデーションルールを作成、フィルター、無効化する方法について説明します。これには、ステータスを変更するプレフィックスや、国別のルール条件も含まれます。

FlexiCapture for Invoices では、請求書を自動的に検証するためにルールを使用します。検証が完了すると、請求書にステータスが割り当てられ、発生したエラーと警告の一覧が生成されるため、オペレーターはその請求書を手動で確認する必要があるかどうかを判断できます。ドキュメントエディターで請求書を確認する際、オペレーターにはルールによって検出されたエラーの一覧が表示され、この一覧を使って問題のある field に移動して確認できます。

ABBYY FlexiCapture for Invoices には、さまざまな国で一般的に使用される請求書向けの事前定義バリデーションルールがすでに含まれています。詳細については、[Available rules](/ja/flexi-capture/invoice-reader/ir-rules)を参照してください。ユーザーは既存のルールを変更または削除したり、新しいカスタムルールを作成したりできます。

<div id="features-specific-to-rules-in-flexicapture-for-invoices">
  ## FlexiCapture for Invoices のルールに固有の機能
</div>

FlexiCapture でルールを扱う詳しい手順については、[ルールのバリデーション](/ja/flexi-capture/templates/rules)を参照してください。

FlexiCapture for Invoices のルールには、次のような固有の機能があります。

<div id="rules-may-affect-the-status-of-a-document">
  ### ルールはドキュメントのステータスに影響を与える場合があります
</div>

ルールがドキュメントのステータスに影響を与えるようにするには、ルール名に対応するプレフィックスが付いている必要があります。名前の先頭に **(Exception)** または **(Rejected)** が付いたルールは、そのルールによって請求書内のエラーが検出されると、請求書のステータスを **Exception** または **Rejected** に変更します。

<div id="rules-may-be-applied-to-a-certain-set-of-countries">
  ### ルールは特定の国に適用できます
</div>

この機能を実装するには、ルールの適用条件を使用します。詳細については、[ルールのバリデーション](/ja/flexi-capture/templates/rules)を参照してください。

ルールは、請求書の発行先である事業部門の国に基づいて、請求書の国を判定します。

特定の種類の検証が一部の国にのみ関連する場合は、該当する国だけをルール条件に指定する必要があります。逆に、ある特定の 1 か国を除くすべての国の請求書を検証する必要がある場合は、その国をルール条件で必ず除外してください (この条件では、事業部門の国が除外対象の国名と一致しない場合にのみ、ルールを適用する必要があります) 。

<div id="use-the-list-of-rules">
  ## ルール一覧を使用する
</div>

<div id="view-the-complete-list-of-rules">
  ### ルールの一覧をすべて表示する
</div>

プロジェクトに設定されているすべてのルールを表示するには、次の手順を実行します。

<Steps>
  <Step title="Document Definition のプロパティを開く">
    **Document Definition** メニューから、**Document Definition Properties...** を選択します。
  </Step>

  <Step title="Rules タブを開く">
    開いたダイアログで、**Rules** タブをクリックします。
  </Step>

  <Step title="すべてのルールを表示する">
    **Show rules** リストで、**owned by Document Definition and its children** を選択します。
  </Step>
</Steps>

特定の国 (たとえばドイツ) の請求書に適用されるすべてのルールを表示するには、フィルターを使用します。

<div id="set-up-a-filter">
  ### フィルターを設定する
</div>

<Steps>
  <Step title="フィルターを開く">
    **Document Definition Properties** ダイアログで、**Rules** タブをクリックし、次に **Filter...** ボタンをクリックします。
  </Step>

  <Step title="国のfieldを選択する">
    **Filter** ダイアログで、**If this condition is true** を選択し、次に事業部門の国を示す **Invoice Layout\BU\Country** field を選択します。
  </Step>

  <Step title="条件を設定する">
    ドロップダウンリストから **Overlaps with set** 条件を選択します。
  </Step>

  <Step title="国を選択する">
    **Select...** ボタンを使用して、下の field に必要な国を指定します。**Field Value** ダイアログが開くので、ルールを表示する対象の国を選択します。たとえばドイツの場合は、**DE** を選択します。
  </Step>

  <Step title="フィルターを適用する">
    **OK** をクリックします。
  </Step>
</Steps>

これで、一覧にはフィルターで指定した国の請求書に適用されるすべてのルールが表示されます。

<Note>
  ルールをトリガーする条件は、**Apply rule** 列に表示されます。
</Note>

<div id="find-a-rule-in-the-list">
  ### リスト内でルールを見つける
</div>

ルールを見つけるには、次の条件でフィルターできます。

* ルール名
* ルールが参照するfieldの名前
* ルールをトリガーする条件

<Steps>
  <Step title="フィルターを開く">
    **Document Definition Properties** ダイアログで、**Rules** タブをクリックし、次に **Filter...** ボタンをクリックします。
  </Step>

  <Step title="条件を指定する">
    **Filter** ダイアログでは、検索するルール名 (名前はアルファベット順に一覧表示されます) を選択したり、ルールが参照するfieldを選択したり、ルールをトリガーする条件を指定したりできます。
  </Step>
</Steps>

フィルターの使用方法の詳細については、[ルールのバリデーション](/ja/flexi-capture/templates/rules) を参照してください。

<div id="create-new-rules">
  ## 新しいルールを作成する
</div>

新しいルールを作成するには、次の手順を実行します。

<Steps>
  <Step title="Document Definition のプロパティを開く">
    **Document Definition** メニューから、**Document Definition Properties...** を選択します。
  </Step>

  <Step title="Rules タブを開く">
    開いたダイアログで、**Rules** タブをクリックします。
  </Step>

  <Step title="すべてのルールを表示する">
    **Show rules** リストで、**owned by Document Definition and its children** を選択します。
  </Step>

  <Step title="field を選択する">
    ルールが保存される field を選択します。これにより、一部のルールの動作 (たとえば、エラーメッセージの生成方法) に影響する場合があります。どの field を選べばよいか迷う場合は、最上位ノード、つまり **Invoice Layout** を選択します。
  </Step>

  <Step title="新しいルールを追加する">
    **New Rule...** をクリックします。
  </Step>

  <Step title="ルールの型を選択する">
    開いたダイアログで、標準ルールの型から 1 つを選択するか、独自のルールを作成できる **Script** を選択します。
  </Step>
</Steps>

<Note>
  各ルール型の詳細と作成方法については、[ルールのバリデーション](/ja/flexi-capture/templates/rules) を参照してください。
</Note>

以下の手順は、FlexiCapture for Invoices でルールを作成する場合に固有のものです。

<Steps>
  <Step title="ルールのプロパティを指定する">
    ルール型を選択した後、次の項目を指定します。

    * **Name** — 名前は、そのルールで実行するバリデーションの内容が分かるものにする必要があります。ルールによって生成されたエラーは、**Rule name: Error message.** の形式でオペレーターに表示されます。ルールが請求書のステータスに影響するようにするには、ルール名の先頭に **(Exception)** または **(Rejected)** を付けます。どちらを付けるかは、ルールがエラーを検出したときに請求書へ割り当てたいステータスによって決まります。
    * **Severity** — 重大度フラグは、オペレーターがエラーおよび警告を確認し、どの請求書を手動で確認する必要があるかを判断するのに役立ちます。データのエクスポートも重大度フラグに応じて制御できます。たとえば、次のようなことが可能です。

      * ルールエラーはなく、ルール警告のみあるドキュメントを作業用データベースにエクスポートする。
      * ルールエラーがあるドキュメントを例外フォルダーにエクスポートする。
      * エラーがあるドキュメントのエクスポートを完全に禁止する。

      ルールの重大度に基づくエクスポート設定の詳細については、[ルールのバリデーション](/ja/flexi-capture/templates/rules) を参照してください。
    * **Rule is enabled** — ルール作成後にそのルールを有効にするかどうかを指定します。
  </Step>

  <Step title="ルールを適用する条件を指定する">
    通常、この条件は **Invoice Layout\BU\Country** field の値によって定義されます。既定では、ルールは常に適用されます (**Apply rule = always**) 。特定の条件でのみルールを適用するには、次の手順を実行します。

    1. **Apply rule** リストから **on condition** を選択します。
    2. **Edit...** をクリックして条件を変更します。
    3. ルールのトリガーとなる値を持つ field (**Invoice Layout\BU\Country**) を選択します。
    4. 条件を指定し、該当する場合は許可する値と禁止する値も指定します。

    **例 1.** このルールをドイツの請求書に適用する必要がある場合は、**Belongs to set** 条件を選択し、**Add** をクリックして値 **DE** を追加します。

    **例 2.** このルールをドイツとフランス以外のすべての請求書に適用する必要がある場合は、**Does not belong to set** 条件を選択し、**Add** をクリックして値 **DE** と **FR** を追加します。
  </Step>

  <Step title="ルールを設定する">
    詳細については、[ルールのバリデーション](/ja/flexi-capture/templates/rules) を参照してください。
  </Step>
</Steps>

<div id="disable-or-delete-a-rule">
  ## ルールを無効にする、または削除する
</div>

以前に設定したルールを無効にするには、次の手順に従います。

<Steps>
  <Step title="ルールを見つける">
    リストでルールを見つけます。詳しくは、[リストでルールを見つける](#find-a-rule-in-the-list)を参照してください。
  </Step>

  <Step title="Enabled オプションをクリアする">
    ルールの横にある **Enabled** 列のボックスをクリアします。または、ルールをダブルクリックして **Properties** ダイアログを開き、**General** タブで **Enabled rule** オプションをクリアします。
  </Step>
</Steps>

そのルールが今後不要であることが確実な場合は、削除できます。ルールを削除するには、次の手順に従います。

<Steps>
  <Step title="ルールを見つける">
    リストでルールを見つけます。詳しくは、[リストでルールを見つける](#find-a-rule-in-the-list)を参照してください。
  </Step>

  <Step title="削除する">
    リストでルール名をクリックしてルールを選択し、**Delete** をクリックします。
  </Step>
</Steps>
