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

# サンプル 3. Step 6: kwInvoiceNumber 要素で請求書番号 field 名を検出する

> 請求書番号 field 名を見つけ、ABBYY FlexiCapture で文書タイプを識別する必須の kwInvoiceNumber Static Text 要素を作成します。

画像を解析すると、請求書番号 field の名前がすべての画像に共通して現れ、ほかの文書タイプと区別する要素になっていることがわかります。ABBYY FlexiCapture で半構造化文書を処理する際は、選択したタイプに属さない文書を誤って認識しないようにする必要があります。文書を識別する方法の 1 つは、少なくとも 1 つの[必須要素](/ja/flexi-capture/fls/glossary/glossary-main-body#r)を作成することです。そこで、この要素を必須としてマークし、つまりこの文書タイプの識別子として使用します。

一部の画像ではこの名前が Invoice No. と記載され、ほかの画像では Credit note no. と記載されている点に注意してください。検索文字列にはこれら両方の候補を含める必要があります。最大エラー数が個々の単語ではなくフレーズ全体に適用されるように、それぞれの文字列をスペースなしで指定します。

kwInvoiceNumber 要素を作成するには:

1. **InvoiceHeader** 要素内に、型が [Static Text](/ja/flexi-capture/fls/template/static-text) の要素を作成し、名前を **kwInvoiceNumber** にします。
2. General tab で **Required element** を選択します。
3. Static Text tab をクリックします。
4. Search text field に、検索するテキスト「**InvoiceNo.|CreditNoteNo**」を入力します。
5. Max error percentage を 20 に設定します。
6. Relations tab をクリックします。
7. Relations tab で、**請求書番号** field 名のキーワードが **Delivery Address** field 名の下にのみ現れるように指定します:
   * 要素 `InvoiceHeader.kwDeliveryAddress` の下、Offset = 0。

<Frame>
  <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial3_6.png?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=dd2163bad1fbdae979873aecfb1053da" alt="ABBYY FlexiLayout Studio の SearchElements.InvoiceHeader.StaticText ダイアログ ボックスの Properties にある Relations tab のスクリーンショット。kwDeliveryAddress 要素に対する Below リレーションを示しています。" width="431" height="455" data-path="images/flexi-capture/fls/tutorial3_6.png" />
</Frame>

1. Advanced tab をクリックします。
2. **Delivery Address** field は画像の上 3 分の 1 かつ左 3 分の 1 にあるため、Advanced pre-search relations field に次の[追加の検索制約](/ja/flexi-capture/fls/template/advanced-constraints)を設定します。
   画像の左 3 分の 1 で object を探す; 画像の上 3 分の 1 で object を探す。[FlexiLayout language](/ja/flexi-capture/fls/code/general-code) では:
   `Above: PageRect.Top + PageRect.Height/3;`
   `LeftOf: PageRect.Left + PageRect.Width/3;`
3. テスト画像で FlexiLayout のマッチングを試し、すべての画像でプログラムがこの要素を正しく検出できることを確認します。

<Note>
  実際には、field 名の文言が画像ごとに異なる場合、考えられる名前の候補をすべて、少なくともその大半は必ず指定する必要があります。必要に応じて、さらに多くのテスト画像を依頼したり、顧客に連絡して、このタイプの文書で使われる可能性のある名前の候補を確認したりすることをお勧めします。
</Note>
