Aplikacja Abbyy FlexiCapture oraz Abby FlexiCapture for Invoices łączy się z systemem PlusWorkflow przy pomocy skrptu publikowania wyników PlusWorkflowExport.dll. Plik ten zawiera zestaw metod umożliwających połączenie się aplikacji FlexiCapture z systemem PlusWorkflow, oraz przesłanie do niego przetwarzanego dokumentu wraz z odczytanymi indeksami opisującymi go.
Opis skryptu eksportu
Struktura skryptu powinna wyglądać następująco:
try { // utworzenie obiektu eksportu PlusWorkflowExport.Export autoExport = new PlusWorkflowExport.Export(string <sciezka_do_katalogu_tmp>); // określenie typu eksportowanego dokumentu autoExport.save_type = "pdf"; // zainicjowanie obiektu eksportu wraz z podaniem sciezki do logow oraz nazwy klasy dokumentów archiwu systemu PlusWorkflow, nazwy użytkownika oraz jego hasła autoExport.InitExport(string <sciezka_do_katalogu_tmp>,string <adres_systemu_PlusWorkflow>,string <nazwa_klasy_dokumentów>,string <uzytkownik>,string <haslo>); // lista mapowan indeksów FlexiCapture na nazwy indeksów wskazanej wyżej klasy dokumentów systemu PlusWorkflow autoExport.AddFlexiCapturePlusWorkflowMapping(string <pelna_nazwa_indeksu_FC1>, string <nazwa indeksu PWFL1>); autoExport.AddFlexiCapturePlusWorkflowMapping(string <pelna_nazwa_indeksu_FC2>, string <nazwa indeksu PWFL2>); ...... // utworzenie obiektu opcji dla eksportowanego dokumentu IExportImageSavingOptions options = FCTools.NewImageSavingOptions(); // wywołanie eksportu dokumentu do systemu PlusWorkflow autoExport.ExportDocument( Document, options ); // zamknięcie pliku logu autoExport.clearLogger(); } // złapanie wyjątku który może zostać zwrócony przez powyższy kod catch (System.Exception e) { // zwrócenie komunikatu błędu dla użytkownika Processing.ReportError("Błąd eksportu dokumentów: " + e.Message); }
Poniżej znajduje się przykład skryptu przesyłającego dokumenty do systemu PlusWorkflow:
string log = "Start skryptu"; try { PlusWorkflowExport.Export autoExport = new PlusWorkflowExport.Export("C:\\ProgramData\\ABBYY\\FlexiCapture\\11.0\\Suncode\\temp\\"); autoExport.save_type = "pdf"; log += "Inicjalizacja \n"; autoExport.InitExport("C:\\ProgramData\\ABBYY\\FlexiCapture\\11.0\\Suncode\\temp\\","http://demo.cloud.suncode.pl/PlusWorkflow/","Invoices","user","pass01"); log += "Nawiazano polaczenie \n"; autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\BU\\BUId", "Company code"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Vendor\\VendorId", "Vendor number"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Vendor\\VATID", "Vendor tax no"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Vendor\\Name", "Vendor name"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Vendor\\IBAN", "Bank account"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Vendor\\PaymentCode", "Payment term/code"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\InvoiceNumber", "Invoice No"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\InvoiceDate", "Invoice date"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\InvoiceData\\DueDate", "Due date"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Amounts\\TotalTaxAmount", "VAT"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Total", "Gross value"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Currency", "Currency"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\Barcode", "Barcode"); autoExport.AddFlexiCapturePlusWorkflowMapping("Invoice Layout\\InvoiceTypeCust", "Invoice type id"); log += "Dodano pola do eksportu \n"; IExportImageSavingOptions options = FCTools.NewImageSavingOptions(); log += "Proba eksportu \n"; autoExport.ExportDocument( Document, options ); log += "Zakonczono \n"; // zamknięcie pliku logu autoExport.clearLogger(); } catch (System.Exception e) { Processing.ReportError("Błąd eksportu dokumentów: " + e.Message + " || " + log); }
Plik PlusWorkflowExport.dll (wersja 2.0.17) wraz z dodatkowymi niezbędnymi plikami można pobrać stąd:
Instalacja biblioteki PlusWorkflowExport.dll
Aby zainstlować biblotekę PlusWorkflowExport.dlI należy:
- Wgrać powyższe pliki na serwer/komputer na kórym zaisnatlowana jest aplikacja Abbyy FlexiCapture,
- Uruchomić moduł: Stacja tworzenia projektu
- Wejść w zakładkę Projekt->Definicje dokumentów
- Wybrać właściwą definicję dokumentów, którą chcemy eksportować do systemu PlusWorkflow, i klikąć przycisk Edytuj:
- Wejść do właściwości definicji dokumentów:
- Wybrać zakładkę Odwołania .NET a następnie wybrać przycisk Dodaj
- Na ekranie Dodaj skład wskazać wcześniej umieszczony na dysku serwera, na którym zainstalowany jest FlexiCapture, plik PlusWorkflowExport.dll:
- A następnie potwierdzić wybór i zamknąć otwarte okienka przyciskiem OK.
Na koniec należy zarejestrować w systemie Windows plik PlusWorkflowExport.dll wykonując polecenie:
c:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe PlusWorkflowExport.dll
Konfiguracja skryptu eksportu dokumentów
Aby dodać skrypt eksportujący dokumenty do systemu PlusWorkflow należy:
- Uruchomić moduł: Stacja tworzenia projektu
- Wejść w zakładkę Projekt->Definicje dokumentów
- Wybrać właściwą definicję dokumentów, którą chcemy eksportować do systemu PlusWorkflow, i klikąć przycisk Edytuj:
- Wejść do właściwości definicji dokumentów:
- Wybrać zakładkę Miejsca docelowe eksportu a następnie wybrać przycisk Dodaj
- Jako typ eksportu należy wybrać opcję: Eksport użytkownika (skrypt) i wybrać przycisk Dalej:
- W edytorze danych, który pojawi się po wybraniu przycisku Edytuj skrypt... należy wkleić wyżej opisany skrypt:
- Po właściwym uzupełnieniu wszystkich danych można wykonać opcję Sprawdź czy nie ma żadnych błędów a następnie z menu Plik wybrać opcję Zamknij.