Aplikacji działającej w tle Wydruk dokumentów raportu w tle można używać do wyprowadzania dokumentu raportu bez konieczności interakcji z użytkownikiem. Dokument raportu może być zarówno obiektem deweloperskim, jak i obiektem systemowym. Poniżej znajdują się opisy sposobu korzystania z aplikacji działającej w tle oraz jej akcji i parametrów. Artykuł informuje również o możliwych wymaganiach wstępnych i skutkach uruchomienia aplikacji działającej w tle.
Definicje pojęć
-
Raporty – raport może być używany do wyświetlania danych zarejestrowanych w Comarch ERP Enterprise w przejrzystej formie. Raport może być tworzony tak często, jak jest to wymagane i na podstawie aktualnie dostępnych danych. Raporty dzielą się na dokumenty raportów i dokumenty końcowe. Raporty typu Dokument raportu mogą być tworzone na podstawie dowolnych danych z systemu. Zazwyczaj mają one formę listy i mogą być generowane w aplikacji Raport: Dokumenty raportów. Dokumenty końcowe mogą być tworzone w odpowiednich aplikacjach, w których tworzone są dokumenty. Zazwyczaj zawierają one tylko dane dla pojedynczego dokumentu. Raporty mogą być tworzone jako obiekty systemowe lub deweloperskie. Raport jako obiekt deweloperski ma tę zaletę, że może być zmieniany w systemie deweloperskim, wersjonowany i przesyłany do innych systemów jako aktualizacja oprogramowania. Aby móc tworzyć i zmieniać raporty w systemach innych niż deweloperskie, aplikacja Raporty oferuje opcję tworzenia ich jako obiektów systemowych. Obiektów systemowych nie można przenosić do innych systemów. Raporty zawierają jeden lub więcej plików raportów, które określają układ raportu.
-
Dokument raportu – po przesłaniu raportu do urządzenia wyjściowego, takiego jak drukarka, lub do pliku tworzony jest Dokument raportu lub Dokument końcowy. Dokument raportu zawiera listę obiektów, na przykład listę adresów. Dokument końcowy zawsze zawiera obiekt, na przykład zamówienie sprzedaży. Dokumenty mogą być archiwizowane lub wysyłane do partnera, na przykład pocztą elektroniczną.
-
Aplikacja działająca w tle – aplikacja działająca w tle to aplikacja, która jest wykonywana bez interakcji z użytkownikiem. W Comarch ERP Enterprise aplikacja działająca w tle może zostać uruchomiona przez zlecenie przetwarzania, przez wywołanie CORBA lub przez inną aplikację.
Opis aplikacji
Aplikacja działająca w tle Wydruk dokumentów raportu w tle służy do generowania plików raportów w tle. Może ona wygenerować jedno żądanie przetwarzania na bazę danych OLTP. Zlecenie przetwarzania można wyświetlić za pośrednictwem widoku Sesje w aplikacji Panel system. Aplikacja działająca w tle nie jest wykonywana za pośrednictwem aplikacji Zlecenia przetwarzania. Tę aplikację działającą w tle można wywołać z innego programu lub za pomocą zarządzania przepływem pracy, w szczególności za pomocą Definicji działań. Niezbędne parametry wyjściowe (np. język wyjściowy lub restrykcyjne parametry raportu) nie są określane przez specyfikacje w graficznym interfejsie użytkownika, ale są określane przez parametry działania tej aplikacji działającej w tle lub programowo poprzez wypełnienie predefiniowanych kontenerów danych wartościami parametrów wyjściowych raportu. Odpowiednie ustawienia wyjściowe z ustawień użytkownika są używane jako ustawienia wyjściowe. Jeśli wyjście odbywa się z innego programu,
Akcje
Aplikacja działająca w tle udostępnia następujące akcje
Akcja wyjścia
Po wybraniu akcji [Wydruk] przeprowadzane są kontrole kompletności parametrów niezbędnych do wydruku dokumentu raportu i jeśli nie wystąpiły żadne błędy, dokument raportu jest wysyłany. Przed wywołaniem aplikacji działającej w tle Wydruk dokumentów raportu w tle, co najmniej nazwa dokumentu raportu musi zostać przekazana do tej aplikacji działającej w tle, za pośrednictwem odpowiedniego parametru akcji lub poprzez wywołanie określonych metod tej aplikacji działającej w tle. W przypadku istniejących obowiązkowych parametrów raportu, te parametry raportu i ich wartości muszą zostać przesłane do aplikacji działającej w tle. Ponadto serwer aplikacji, na którym ma być wykonywana aplikacja działająca w tle, musi mieć niezbędne połączenia z bazami danych dla danych wyjściowych dokumentu raportu. Podczas analizy błędów, jeśli dokument raportu, który miał zostać wydrukowany w tle, nie został wydrukowany, należy pamiętać, że odpowiednie wpisy w dziennikach komunikatów, żądaniach przetwarzania i wyjścia upraszczają tę analizę. Jeśli dokument raportu został pomyślnie wydrukowany w tle, w odpowiednim dzienniku komunikatów tworzony jest komunikat informacyjny.
ID
Akcja [Wydruk] ma przypisaną wartość ID 10. Należy przekazać tę wartość podczas wywoływania tej aplikacji działającej w tle podczas wysyłania raportów z programu.
Parametry
Akcja ma następujące parametry:
- ReportName (Raport) – pełna nazwa techniczna dokumentu raportu (np. com.cisag.app.sales.rpt.SalesItem), który ma być generowany w tle. Ten parametr jest obowiązkowy.
- ReportOutputLanguage (Język) – język, w którym ma zostać wygenerowany dokument raportu.
Ta informacja określa wybór pliku raportu i tłumaczenia używane dla stałych tekstowych. Podobnie ta informacja określa język treści, które można przetłumaczyć, np. nazwy Business Entitys. Jeśli nie
podano wyraźnie języka, decydującym jest język oryginalny raportu, języki plików raportów zależnych od języka oraz język wyświetlania bieżącego logowania do Comarch ERP Enterprise. - ReportOutputOrganisationGuid (Organizacja) – w razie potrzeby pozwala wygenerować dokument raportu dla danej organizacji, jeśli raport został odpowiednio opracowany, przekazując identyfikator GUID odpowiedniej organizacji do aplikacji działającej w tle. Jeśli nie przekazano identyfikatora GUID organizacji lub ZERO_GUID, zostanie przekazana wartość domyślna z
bieżącego kontekstu logowania do Comarch ERP Enterprise. - ReportParameters (Parametry raportu) – w razie potrzeby pozwala ograniczyć wydajność dokumentu raportu, przekazując szereg parametrów raportu wraz z ich wartościami w postaci tzw. HashMap do aplikacji działającej w tle.
Wszystkie obowiązkowe parametry raportu, z wyjątkiem predefiniowanych parametrów raportu, muszą być zawsze przekazywane wraz z parametrem akcji. [/indicator[Wskazówka - UseBack-Ground (Kolor tła) – pozwala określić, czy podczas generowania raportu ma być stosowana naprzemienna kolorystyka tła dla poszczególnych wierszy.
Ustawienie to ma znaczenie tylko wtedy, gdy dany raport umożliwia stosowanie naprzemiennej kolorystyki dla poszczególnych wierszy.
W tym przypadku używany kolor tła jest stały i nie różni się od koloru używanego w interfejsie użytkownika i jest określany na podstawie aktualnego motywu wybranego w ustawieniach użytkownika. Jeśli żadna wartość nie została wyraźnie przekazana do aplikacji w tle, nie następuje zmiana koloru tła podczas wydruku.
Instrukcje
Ponieważ aplikacja w tle Wydruk dokumentów raportu w tle wymaga opisanych parametrów akcji, nie można jej uruchomić bezpośrednio za pomocą aplikacji Zlecenia przetwarzania. Należy albo zaprogramować inną aplikację działającą w tle, która przygotuje niezbędne parametry akcji dla wyjścia, a następnie wykonać je za pomocą aplikacji Zlecenia przetwarzania, albo przygotować niezbędne parametry akcji za pomocą Definicji działań i wywołać aplikację działającą w tle Wydruk dokumentów raportu w tle.
Wydruk przy użyciu zarządzania przepływem pracy (Workflow)
Aby móc drukować raporty w tle za pomocą Workflow Management, należy utworzyć definicję aktywności, odpowiednio ją skonfigurować i aktywować. com.cisag.pgm.services.output.ReportOutputGenerator musi być przypisany do definicji działań jako aplikacja.
-
Na zakładce Opracowanie należy wybrać opracowującego użytkownika Zlecenie przetwarzania.
-
Przypisać aplikację działań w tle com.cisag.pgm.services.output.ReportOutputGenerator do tej definicji działań na zakładce Aplikacja.
-
Po zapisaniu zostaną utworzone parametry przypisane do akcji [Wydruk] aplikacji.
-
W zakładce Polecenia można określić następujące polecenia:
-
setJobQueue("<nazwa kolejki przetwarzania>"); -
setJobUser(userGuid("Nazwa użytkownika")); -
var reportParameters as HashMap; -
reportParameters["Name"] := "S*"; -
reportParameters["Deactivated"] := false; -
reportParameters["Type"] := "X509_CERTIFICATE";
-
-
Zdefiniować zdarzenia dla tej definicji działań (np. typ zdarzenia Obiekt biznesowy z podmiotem com.cisag.app.general.obj.Partner).
Dane wyjściowe z innego programu
Klasa Java ReportOutputGenerator
Klasa com.cisag.pgm.services.output.ReportOutputGenerator zawiera metody statyczne:
- createReportOutputData()
- createCisParameterList(String reportName, ReportOutputData data, byte[] organisationGuid, String reportOutputLanguage, CisOutputOptions outputOptions) które są wymagane, jeśli dla danych wyjściowych zaprogramowana jest inna aplikacja działająca w tle.
Metoda createReportOutputData()
Tworzy nową instancję kontenera danych ReportOutputData; można wypełnić ten kontener danych wartościami parametrów dla danych wyjściowych raportu.
Metoda createCisParameterList(String reportName, ReportOut-putData data, byte[] organisationGuid, String reportOutputLangu-age, CisOutputOptions outputOptions
Tworzy nową instancję typu CisParameterList, która zawiera pełną nazwę raportu, wartości parametrów dla jego danych wyjściowych oraz, jeśli ma to zastosowanie, identyfikator GUID organizacji i język danych wyjściowych. Ta instancja jest wymagana później, gdy ta aplikacja w tle Wydruk dokumentów raportów w tle zostanie wywołana z innego programu.
Przykład
Jeśli raport com.cisag.app.financials.rpt.TaxCode ma być drukowany z innego programu, tworzony jest program, w którym kontener danych ReportOutputData i nowa instancja typu Cis-ParameterList są tworzone i wypełniane wartościami parametrów raportu. Następnie wywoływana jest aplikacja w tle Wydruk dokumentów raportów w tle. Fragment programu mógłby wyglądać następująco:
private static final int OUTPUT_ACTION = 10;
CisEnvironment env = CisEnvironment.getInstance();
CisApplicationManager am = env.getApplicationManager();
ReportOutputData data = ReportOutputGenera-tor.createReportOutputData();
// Set the report parameters
data.setString("TaxCodeCode", "");
data.setShortSelection("TaxCodeType", "VAT");
data.setShortSelection("DeleteState", "NOT_MARKED_FOR_DELETION");
CisParameterList pl = ReportOutputGenera-tor.createCisParameterList("com.cisag.app.financials.rpt.TaxCode", data, null, null, null);
am.callApplication(ReportOutputGenerator.class.getName(), OUTPUT_ACTION, pl);
W razie potrzeby można uruchomić tę aplikację działającą w tle nieinteraktywnie w innej aplikacji działającej w tle.



