- 請求書プロジェクトのメインの FlexiLayout の適用時に検出されたfield Regionを基準に、要素の位置を指定できます。
- ベンダーおよび事業部門の識別子を、Document Definition のデータ セットへのリクエストで使用できます。
- FlexiLayout のキーワードのリストやその他のパラメーターを XML ファイルにエクスポートできます。エクスポートしたファイルでは、FlexiLayout や Document Definition を編集せずにこれらを編集できます。
追加の FlexiLayout を作成する
1
FlexiCapture でバッチを開く
認識済みの請求書を含むバッチを FlexiCapture で開きます。
2
FlexiLayout Studio プロジェクトを作成する
ABBYY FlexiLayout Studio で新しいプロジェクトを作成します。メイン メニューで Tools → Export Batch to FlexiLayout Studio → Create New FlexiLayout Studio Project… を選択します。このコマンドは、お使いのコンピューターに保存されている FlexiCapture プロジェクトでのみ使用できます。分散インストール環境でプロジェクトがサーバーに保存されている場合は、事前にプロジェクトをコンピューターにダウンロードしてください。ダウンロードするには、Project メニューの Export Project… をクリックします。
追加の FlexiLayout にfieldを追加する
追加の FlexiLayout にfieldを追加するには、そのfield用のブロックを作成し、その検索要素を指定します。Document Definition 内のfieldには一意の名前が必要なため、目的に応じて次のようにブロックに名前を付けます。追加の FlexiLayout にページを追加する
追加の FlexiLayout に加えた変更を新しい画像でテストするには、FlexiCapture のバッチを ABBYY FlexiLayout Studio の既存の請求書プロジェクトにエクスポートします。Tools → Export Batch to FlexiLayout Studio → Add to Existing FlexiLayout Studio Project… をクリックします。 FlexiCapture のバッチのエクスポート先にできるのは、Create New FlexiLayout Studio Project… コマンドで作成した ABBYY FlexiLayout Studio プロジェクトのみです。エクスポートした FlexiCapture バッチは、それぞれ ABBYY FlexiLayout Studio プロジェクト内の新しいバッチになります。プロジェクト作成後に追加されたfieldのエクスポート
新しい Document Definition には、ABBYY FlexiLayout Studio プロジェクトで使用したものより多くのfieldが含まれている場合があります。その場合、エクスポートログには、追加されたfieldごとに警告が記録されます。追加されたfieldをエクスポートするには、SearchElements ツリーの CommonBlockRegions ノードに、各fieldと同じ名前のブロックを追加してください。Document Definition からデータ セットにリクエストを送信する
サンプルリクエストは DataSetRequestSample 要素にあります。この要素はデフォルトで無効になっています。NamedValue 型
名前付きの値。 コンストラクター:NamedValue( String, String )
NamedValueArray 型
名前付きの値の配列。 コンストラクター:NamedValueArray()NamedValueArray( NamedValue namedValue )
関数のパラメーター
searchCriteria 内のリクエストに複数の値が含まれる場合は、OR 演算子と AND 演算子で組み合わせます。
関数
画像上の外部データベースで、列を指定して行を検索する
1
列の一覧を取得する
FieldNamesOfFCDataset を使用して、インデックス番号の昇順に並んだ列の一覧を取得します。
2
列のインデックスを特定する
検索するデータが含まれる列のインデックス番号を特定します。
3
フィルターを作成する
データ セットからデータを絞り込むための条件の配列を作成します。
4
検索を実行する
列のインデックス番号とフィルター条件を SearchTextFromFCDataSet に渡します (正規表現を使用する必要がある場合は RegularExpressionFromFCDataSet) 。
複数の列のエントリを画像内で検索する
SearchTextFromFCDataSet 関数は呼び出すたびに検索パラメーターを置き換えるため、繰り返し呼び出しても効果はありません。回避策として、外部データベースから文字列を取得し、それらを SearchText 関数に渡します。SearchText は、各文字列で既存の検索パラメーターを置き換えるのではなく、既存の検索パラメーターに追加します。1
列を一覧化する
検索対象のデータが含まれる列名の配列を作成します。
2
フィルターを作成する
データ セット内のデータを絞り込むためのフィルター条件の配列を作成します。
3
エントリ数を数える
RecordCountOfFCDataset 関数を使用して、返されるエントリ数を確認します。
4
クエリを準備する
PrepareRecordsetOfFCDataset 関数を使用してクエリデータを準備します。
5
各レコードを読み取る
すべてのレコードを順に処理し、RecordOfFCDataset メソッドを使用して各レコードの配列を取得します。
6
値を SearchText に渡す
配列内の各要素の値を SearchText 関数に渡します。
複合列
データセット内の複合列は、エンコードされた外部データベースでは複数の列として格納されます。以下の例では、複合列 Name が 3 つの列として格納されているため、データセットの field は{VendorId, VATID, Name, Name, Name, City} となります。
リクエストで返される列の一覧を取得するには、searchFields 配列を FieldNamesOfFCDataset 関数に渡します。
