質問
請求書にベンダー情報が見つからなかったため、ベンダーが抽出されず、データセットと照合されなかった場合、請求書の他の情報を使用して正しいベンダーを割り当てるにはどうすればよいですか?
回答
このような場合、ルールベースの分類子を使用できます。 プロセスを説明する次の手順を参照してください:
- ルールベースの分類子は、FlexiLayout Studioで開発できます。 ルールベースの分類子の詳細については、オンラインヘルプを参照してください。
- 説明されているメソッドが機能するには、分類子のクラスにcls<VendorID>の形式で名前を付ける必要があります。
- ルールには、請求書を分類するロジックを記述します(例えば、運送業者名など)。
- 分類子を作成したら、FlexiLayoutStudioからエクスポートする必要があります。
- FlexiCapture for Invoicesプロジェクトで、分類バッチを作成し、エクスポートされた分類子をロードします(分類バッチの右クリック→プロパティ→分類→読み込み)。このメソッドを機能させるためにクラスマッピングを行う必要はないことに注意してください。
- バッチタイプのプロパティ(またはデフォルトのバッチタイプの場合はプロジェクトのプロパティ)→認識タブを開きます。ページの分類オプションを有効にして、スクリプトの使用を選択します。 設定をクリックします。
- 作成した分類子バッチを使用可能な分類子のリストに追加します。
- スクリプトの編集をクリックして、次のスクリプトを追加します:
//分類を実行します
IBatchTypeClassifierResult result = BatchTypeClassifier.ClassifyPage(Page, true);
//FCTools.ShowMessage("Results are" + result.ClassName, true);
string className = result.ClassName;
//クラスがある場合は、それをベンダーにマップします
if(className.Length > 0)
{
//VendorIDを見つかったクラスのIDに設定します
Page.Document.Properties.Set("fc_Predefined:InvoicePredefinedVendorId", className.Substring(3));
}
上記の方法がするのは、次のとおりです:
- 文書がインポートされると、作成された分類子を使用して分類されます。
- 分類できる場合は、分類後に結果のクラスが作成されます。
- 結果のクラスがある場合は、事前定義されたパラメーターfc_Predefined:InvoicePredefinedVendorIdに、ベンダーIDとなる値を割り当てます。
- 上記のメソッドでは、クラスにcls<VendorID>という名前を付けたため、最初の3つのシンボルを除く結果のクラス名が使用されます。
- 事前定義されたパラメーターfc_Predefined:InvoicePredefinedVendorIdは空白ではないため、FlexiCaptureはこの情報を使用して請求書を処理します。 残りのベンダー情報はデータセットから抽出されます。 正しいフィールド抽出トレーニングバッチが使用されます。
コメント
0件のコメント
サインインしてコメントを残してください。