Eksport
Przesyłki i dokumenty przetworzone w systemie FormAnalylyzer RBEE mogą być eksportowane do innych systemów IT automatycznie lub na żądanie. W celu zdefiniowania zakresu eksportowanych danych oraz sposobu i miejsca zapisu tworzone są obiekty definicji eksportu. Obiekty definicji eksportu danych mają zastosowanie podczas eksportu automatycznego. Automatyczny eksport danych realizowany jest przez serwis FormAnalyzer RBEE Eksporter.
Automatyczny eksport danych wykonywany jest dla wszystkich zdefiniowanych schematów eksportu, które mają ustawioną flagę "Aktywny". Eksport danych następuje automatycznie w chwili, gdy określona przesyłka będzie spełniać założone przez schemat eksportu kryteria. W przypadku wystąpienia błędu eksport danych jest powtarzany w kolejnych interwałach czasowych. Informacje o wykonanych procedurach eksportu znajdują się w logach systemu oraz są zapisywane w historii przesyłki/dokumentu.
Schemat automatycznego eksportu przesyłek/dokumentów pozwala na zdefiniowanie następujących atrybutów:
Nazwa | Nazwa schematu eksportu danych. Krótki akronim zrozumiały dla administratorów systemu. |
Uwagi | Opis celu i zasad działania utworzonego schematu. Przeznaczony dla administratorów w celu zapisania uwag i informacji dodatkowych. |
Aktywna | Serwis eksportu danych - FormAnalyzer RBEE Eksporter realizuje tylko aktywne schematy eksportu danych. Można aktywować i de-aktywować schematy w trakcie pracy systemu. |
Zadanie | Ograniczenie eksportowanych przesyłek do takich, które były przetwarzane w ramach określonego zadania. |
Zbiór Przesyłek | Ograniczenie eksportowanych przesyłek do takich, które należą do określonego zbioru przesyłek. |
Pierwsza data rejestracji przesyłki | Ograniczenie eksportowanych przesyłek do takich, które zostały zarejestrowane nie wcześniej niż wskazana data. Jeżeli data jest pusta to przyjmuje się dowolną datę rejestracji. |
Ostatnia data rejestracji przesyłki | Ograniczenie eksportowanych przesyłek do takich, które zostały zarejestrowane nie później niż wskazana data. Jeżeli data jest pusta to przyjmuje się dowolną datę rejestracji. |
Uwzględniaj dokumenty już wyeksportowane | Eksportowane będą dokumenty spełniające zdefiniowane warunki wyboru i nie wyeksportowane oraz takie, które były już eksportowane z wykorzystaniem innego schematu eksportu. |
Przesyłki niesklasyfikowane | Eksportowane będą tylko takie przesyłki/dokumenty, które nie zostały sklasyfikowane. |
Przesyłki błędne | Eksportowane będą tylko przesyłki/dokumenty, które zostały oznaczone jako błędne lub zawierają dokument oznaczony jako błędny - nie spełniający wymagań i odrzucony przez operatora weryfikacji lub algorytm weryfikujący. |
Typy eksportowanych dokumentów | Jeżeli wskażemy określone typy dokumentów to tylko takie dokumenty przesyłek będą eksportowane. Jeżeli określona przesyłka nie będzie zawierać żadnego ze wskazanych typów dokumentów to nie zostanie wyeksportowana. |
Folder zapisu danych | Folder zapisu danych dostępny dla serwisu FormAnalyzer RBEE Eksporter, w którym będą zapisywane wyniki eksportu danych. |
Tryb zapisu dokumentu | Metadane | Eksportowane będą wyodrębnione metadane dokumentów. | ||||||||||
Tekst | Eksportowana będzie treść dokumentu. Nie będą eksportowane metadane. | |||||||||||
Metadane i tekst | Eksportowane będą wyodrębnione metadane dokumentów oraz treść dokumentów. | |||||||||||
Oryginały | Wraz z treścią dokumentów można dokonać eksportu obrazów stron i/lub plików źródłowych tworzących przesyłkę. | |||||||||||
Załącz obrazy stron | Do folderu eksportu zostaną skopiowane we wskazanym formacie obrazy stron dokumentów. | |||||||||||
Załącz pliki źródłowe | Do folderu eksportu zostaną skopiowane pliki źródłowe przesyłki/dokumentów. | |||||||||||
Pobierz obrazy/pliki | Dołączenie obrazów stron i/lub plików dokumentów. | |||||||||||
Format zapisu dokumentu | Treść dokumentów/przesyłki może być zapisywana w następujących formatach. | |||||||||||
XML | Dla każdej eksportowanej przesyłki będzie tworzony odrębny plik XML z treścią danych zgodną z dokonanym wyborem. | |||||||||||
CSV | Przesyłki będą zapisywane w docelowym pliku w formie listy linii zapisanych w formie Coma Separated Valu.
| |||||||||||
Tekst | Przesyłki będą zapisywane każda w odrębnym pliku w formie tekstowej.
|
Usuwanie przesyłek wyeksportowanych | Po pomyślnie wykonanym eksporcie danych przesyłki mogą być automatycznie usuwane. Jeżeli wprowadzona wartość dni oczekiwania jest większa równa 0, to automatyczne usuwanie przesyłek będzie wykonane po wskazanej liczbie dni od daty dokonania eksportu. |
Własna implementacja eksportu | W przypadku gdy dostępny standardowy mechanizm eksportu danych nie jest wystarczający, można uzupełnić system o własną implementację procesu zapisu eksportu dokumentów. |
namespace Arhat.RBEE.ExportModel
{
/// <summary>
/// ExportProvider definiuje niezbędny zakres metod dla
/// przetwarzania komunikatów eksportu danych z systemu
/// FormAnalyzer RBEE do dowolnych systemów docelowych.
/// </summary>
/// <example>
/// Poniższy przykład pokazuje eksport przesyłki wraz z dokumentami i ich metadanymi do serwisu zewnętrznego.
/// ...
/// using(var exporter = new CustomExporter())
/// {
/// WybierPrzesylkliDoEksportu();
/// var id = Guid.NewGuid();
/// var date = DateTime.Now;
/// exporter.Initialize(ct, id, date);
/// while(true)
/// {
/// var przesylka = KolejnaPrzesylkaDoeksportu();
/// if (przesylka == null)
/// break ;
///
/// using (CancellationTokenSource cs = new CancellationTokenSource(30000))
/// {
/// var res = exporter.Export(cs.Token, przesylka);
/// if (!res)
/// continue;
/// PrzesylkaZostalaWyeksportowana(przesylka);
/// }
/// }
/// }
/// </example>
public interface IExportProvider : IDisposable
{
/// <summary>
/// Wykonaj zadania jednorazowe inicjalizacji obiektu eksportowania danych.
/// </summary>
/// <param name="cancellationToken">Token udostępniający informacje,
/// że operacja powinna być anulowana.</param>
/// <param name="exportId">
/// Identyfikator kolejny sesji eksportu.
/// Więcej niż jedna przesyłka może być eksportowana w jednej sesji eksportu.
/// </param>
/// <param name="exportDate">Data i czas rozpoczęcia realizacji sesji eksportu.</param>
/// <returns>
/// Flaga oznaczająca powodzenie operacji.
/// Przy niepowodzeniu operacji, jeżeli znana jest przyczyna błędu, metoda powinna zgłaszać wyjątek
/// w przeciwnym wypadku zwrócić false.
/// </returns>
bool Initialize(CancellationToken cancellationToken, Guid exportId, DateTime exportDate);
/// <summary>
/// Wykonaj eksport treści przesyłki.
/// </summary>
/// <param name="cancellationToken">Token udostępniający informacje,
/// że operacja powinna być anulowana.</param>
/// <param name="box">Obiekt zawierający treść przesyłki.</param>
/// <returns>Jeżeli nie można dokonać eksportu przesyłki i znana jest przyczyna to należy
/// zgłosić wyjątek (exception) lub zwrócić wartość false.
/// Wartość true potwierdza wykonanie eksportu.</returns>
bool Export(CancellationToken cancellationToken, BoxExportModel box);
}
}
Plik biblioteki własnej | Nazwa pliku biblioteki własnej (opcjonalnie wraz ze ścieżką dostępu). |
Klasa implementacji eksportu | W pełni kwalifikowana nazwa klasy implementującej IExportProvider. Nazwa musi być poprzedzona zastosowaną przestrzenią nazw (namespace). |