> ## 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 15: Group 型の TableHeader 要素に対する列名の検索制約の解析

> TableHeader Group 要素と条件付きの FlexiLayout language 式を使用して、請求書の列名に共通する検索制約を定義します。

テスト画像を解析すると、列名は先に検出された水平セパレーターのすぐ下にあることがわかります。すべての列名に共通する検索制約を指定するには、[Group](/ja/flexi-capture/fls/template/elements-compound) 要素の TableHeader を作成します。

TableHeader 要素を作成するには:

1. [Group](/ja/flexi-capture/fls/template/elements-compound) 要素を作成し、**TableHeader** という名前を付けます。
2. Advanced タブをクリックします。
3. **hsTableHeaderTop** セパレーターが画像上で検出されている場合、列名はそのセパレーターの下にありますが、そこから 100 ドットより下にはありません。検出されていない場合は、ページ上部の 5 分の 3 の範囲内にあります。したがって、Advanced pre-search relations フィールドで次の[追加の検索制約](/ja/flexi-capture/fls/template/advanced-constraints)を設定します。**hsTableHeaderTop** 要素が検出されている場合は、画像のオブジェクトをそのセパレーターの下、ただしそこから 100 ドットより下ではない範囲で検索します。検出されていない場合は、画像のオブジェクトをページ上部の 5 分の 3 の範囲で検索します。[FlexiLayout language](/ja/flexi-capture/fls/code/general-code) では、次のようになります。
   `If Not (hsTableHeaderTop.IsNull) Then`
   `{`
   `Below: hsTableHeaderTop, 0 * dot;`
   `Above: hsTableHeaderTop.Bottom, -100 * dot;`
   `} Else`
   `{`
   `Above: PageRect.Top + PageRect.Height*3/5;`
   `}`
