> ## 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 のドキュメント アセンブリ スクリプトは、複数のドキュメントを 1 つに結合できるかどうかを判定し、IAssemblingErrors と IBatchItems を通じてアセンブリ エラーを生成します。

<div id="what-it-does">
  ## 動作内容
</div>

このスクリプトは、ユーザーに渡されたドキュメントの配列を 1 つのドキュメントに結合できるかどうかを判定するために使用します。

そのために、結果ドキュメントに対するアセンブリ エラーが生成されます。アセンブリが成功する条件は次のとおりです。結果ドキュメントのアセンブリ エラー数が、どのソース ドキュメントのアセンブリ エラー数も上回らない場合、2 つのドキュメントは 1 つに結合されます。

このスクリプトは、 *(Administrator)* [Document Definition のプロパティ](/ja/flexi-capture/templates/template-properties) *(Developer)* の［アセンブリ］タブで設定します。[スクリプト エディター ウィンドウ](/ja/flexi-capture/interface/script-editor)を開くには、\[Use custom assembly rules] オプションの下にある \[Edit Assembly Script...] ボタンをクリックします。

このスクリプトは、認識後に自動的に実行される場合と、アセンブリを更新するために手動で実行される場合があります (この場合は **Tools →** Refresh Assembly コマンドを選択します) 。前者の場合、スクリプトには標準チェックで生成されたアセンブリ エラー数が含まれます。

<div id="parameters">
  ## パラメーター
</div>

| **名前**           | **型**                                                                     | **アクセス**  | **説明**                            |
| ---------------- | ------------------------------------------------------------------------- | --------- | --------------------------------- |
| AssemblingErrors | [IAssemblingErrors](/ja/flexi-capture/appendix/scripts/iassemblingerrors) | 読み取り/書き込み | 発生したアセンブリ エラー                     |
| BatchItems       | [IBatchItems](/ja/flexi-capture/appendix/scripts/i-batch-items)           | 読み取り専用    | ドキュメントの子要素 (ドキュメントやページなど) のコレクション |

<Note>
  ABBYY FlexiCapture 11 以前で作成されたドキュメント アセンブリ スクリプトは、ABBYY FlexiCapture 12 でも引き続き使用できます。ただし、そのようなスクリプトを削除した場合は、子要素のコレクションを使用する新しいインターフェイスでスクリプトを書き直す必要があります。
</Note>

<Tip>
  アセンブリ プロセスをより効率的に最適化するため、ドキュメント内部の field を参照することは避けることをお勧めします。ドキュメント内部の field を参照すると、ドキュメント全体がロードされるため、アセンブリ プロセスが遅くなる可能性があります。ドキュメントの field を参照する必要がある場合は、可能であればインデックス field を使用することをお勧めします。
</Tip>

<Note>
  スクリプトの **AssemblingErrors** パラメーターには、このパラメーターの取得方法に応じて異なるアセンブリ エラーが含まれる場合があります。
</Note>

1. **AssemblingErrors** は、入力パラメーターの 1 つとしてスクリプトに渡すことができます。この場合は、現在のチェックのエラーが含まれます。
2. スクリプトの入力パラメーターの 1 つは、アセンブリ スクリプトが実行されるドキュメントのコレクションです。各ドキュメントはそれぞれ独自のアセンブリ エラーを持ち、次の方法で取得できます: **document.AssemblingErrors**。この場合、**AssemblingErrors** パラメーターには、指定したドキュメントに対して最後に実行されたチェックのエラーが含まれます。

複数のルールで使用するプロシージャは、スクリプト エディターからアクセスできるグローバル ルール モジュールに記述する必要があります。スクリプト エディターのツールバーにあるドロップダウンリストから、Rule Global Script Module を選択します。グローバル ルール モジュールには、Document Definition エディター (**Document Definition → Script Modules →** Rule Script...) からもアクセスできます。

スクリプトまたはグローバル モジュールで [外部アセンブリ](/ja/flexi-capture/appendix/scripts/user-assembly) のクラスとメソッドを使用する場合は、*(Developer)* Document Definition のプロパティ の .NET References タブでアセンブリ ファイルをアタッチする必要があります。*(Administrator)* [Document Definition のプロパティ](/ja/flexi-capture/templates/template-properties)。

<div id="administrator-see-also">
  ## (管理者) あわせて参照:
</div>

*(管理者)*  [複数ページ文書向け Document Definitions の作成](/ja/flexi-capture/templates/template-multipage)
