Podstawowe wyniki i edycja szablonów
Ilustracja 1: Edytowanie szablonu wyjściowego

Edytowanie szablonu wyjściowego
Klucz: nazwa szablonu, dla którego należy jeszcze utworzyć tłumaczenie, albo za pomocą przycisku obok, albo tworząc tłumaczenie w System -> Tłumaczenia -> Utwórz
Kolejność: numer określający kolejność zestawu na liście w kategorii wyjściowej
Kategoria wyjściowa: określa miejsce, w którym ma pojawić się zestaw, np.: Item_basic_output to okno Podstawowy przegląd pakietów
Poziom wyjścia: dla podstawowych szablonów zawsze wybiera się BASIC
Obsługiwane typy wyjścia: (opcjonalnie) wybierz, jeśli chcesz ograniczyć raport do określonego formatu wyjścia, np. tylko dla programu Excel lub PDF
Parametry: patrz poniżej w akapicie Parametr 1
Obowiązuje dla: ustawienia grupy użytkowników, którzy będą widzieć i będą mogli używać szablonu
Wczytaj szablon: służy do wczytania pliku/szablonu z IReport w formacie .jrxml
Pobierz szablon: umożliwia pobranie pliku/szablonu, który jest już zapisany w Tritiu dla tego zestawu
Edytuj: zapisuje zmiany wprowadzone w ustawieniach szablonu wyjściowego
Sortowanie
Sortowanie jest ważne nie tylko dla wyglądu wizualnego wyniku, ale także w przypadku stosowania grupowania w szablonie. Gdyby dane w szablonie były grupowane np. według lokalizacji, a dane wejściowe nie były posortowane według lokalizacji, w wyniku pojawiłoby się więcej identycznych grup/lokalizacji, co jest nieprawidłowe.
Podstawowe wyniki mają dwa sposoby sortowania:
- sortowanie według filtra (wiersze w wygenerowanym wyniku będą posortowane/zgrupowane tak, jak były na wejściu)
- sortowanie według parametru 1 (parametr 1 pozwala ustawić, w jaki sposób dane będą zawsze sortowane/grupowane niezależnie od sortowania danych wejściowych)
- sortowanie według zmiennej w iReport
Parametr 1
Na rysunku 1 widać, że ustawienia szablonu dla wyjścia umożliwiają wypełnienie parametru 1, pozostałe parametry nie są obecnie wykorzystywane dla podstawowych wyjść. W tym miejscu można wypełnić maksymalnie dwie zmienne, według których dane mają być automatycznie sortowane dla szablonu. Nie ma więc potrzeby, aby użytkownik sortował dane przed wygenerowaniem wyjścia w celu ich połączenia.
Na rysunku 1 widać, że zmienne są oddzielone przecinkami, można użyć maksymalnie dwóch zmiennych, przy czym dane będą sortowane najpierw według pierwszej zmiennej, a następnie według drugiej. Na przykład: jeśli zostaną wypełnione pola location, work.titleSearch, wiersze w wyjściu będą najpierw posortowane według lokalizacji, a następnie według nazwy.
Zmienne
Nazwy zmiennych odpowiadają nazwom zmiennych w Tritiu, są to więc zazwyczaj angielskie odpowiedniki wartości, które przechowują, np.: lokalizacja – location, grupa tematyczna – thematicGroup. Jeśli wartość odnosi się do dzieła, a nie do zbioru, należy dodać work., np.: nazwa dzieła – work.titleSearch.
Wykaz najczęściej używanych zmiennych:
- location – lokalizacja zbioru
- thematicGroup – grupa tematyczna zbioru
- acquisitionType – sposób nabycia zbioru
- work.titleSearch – tytuł dzieła
- work.authorSearch – autor dzieła
Parametr 2
- Wyniki mogą być parametryzowane, co oznacza, że czytelnik może ograniczyć dane, które mają być ładowane.
- Na przykład ładowanie wypożyczeń konkretnego czytelnika w danym okresie.
- Parametry te należy zdefiniować w szablonie
- Dodawanie parametru w iReport:
- Kliknij prawym przyciskiem myszy Parameters -> Add Parameter
- Nadaj parametrowi odpowiednią nazwę i ustaw jego typ danych
Definicja w szablonie
- Parametr można następnie używać w szablonie, wpisując $P{nazwa_parametru}
- Parametr można używać bezpośrednio w SQL do ładowania danych.
Parametr v SQL
<parameter name="l1" class="java.lang.Long"/>
<queryString language="SQL">
<![CDATA[
SELECT [name] AS work_type_name
FROM [work_type]
WHERE [id] = $P{l1}
]]>
</queryString>
<field name="work_type_name" class="java.lang.String"/>
W ten sposób można jednak wstawić parametr tylko bez żadnych dodatkowych modyfikacji.
Działa dla ciągów znaków, liczb.
Nie działa dla daty i zaawansowanych struktur Tritia.
Jeśli parametr wymaga jakiejś obróbki, nie jest to możliwe w części z SQL (ograniczenie JasperReports).
Konieczne jest utworzenie nowego parametru, ustawienie dla niego żądanej wartości, a dopiero potem użycie go w szablonie.
Do tak utworzonego parametru należy uzyskać dostęp poprzez $P!{nazwa_parametru} (dodatkowy wykrzyknik).
Do utworzenia wartości parametru można użyć składania wartości, tak jak w Javie.
Przykład:
Parametry w SQL — zaawansowane<parameter name="d1" class="java.util.Date"/>
<parameter name="d1_sql_condition" class="java.lang.String">
<defaultValueExpression><![CDATA["[work_type].[date_created] > '" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format($P{d1}) + "'"]]></defaultValueExpression>
</parameter>
<queryString language="SQL">
<![CDATA[
SELECT [name] AS work_type_name
FROM [work_type]
WHERE $P!{d1_sql_condition}
]]>
</queryString>
<field name="work_type_name" class="java.lang.String"/>
- Dla daty 1.2.2015 10:00:00 w parametrze d1_sql_condition zostanie ustawiona wartość „[work_type].[date_created] > »2015-02-01 10:00:00« ”, co odpowiada zapisowi SQL
Parametry obowiązkowe i nieobowiązkowe
Jeśli parametr jest obowiązkowy, nie ma potrzeby go obsługiwać.
Parametr nieobowiązkowy może pojawić się w szablonie jako NULL – należy zapewnić utworzenie prawidłowego kodu SQL.
W tym celu stosuje się wstępne przetwarzanie parametru, patrz wyżej.
Wykorzystanie operatora trójargumentowego
Jeśli parametr różni się od null, użyj wartości A, w przeciwnym razie użyj wartości B.
Warunek 1=1 – nie ogranicza wyników.
Przykład:
Parametr nieobowiązkowy<parametername="d1"class="java.util.Date"/>
<parametername="d1_sql_condition"class="java.lang.String">
<defaultValueExpression><![CDATA[$P{d1} == null ? "1=1" : ("[work].[date_created] > '" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format($P{d1}) + "'"]]></defaultValueExpression>
</parameter>
<queryStringlanguage="SQL">
<![CDATA[
SELECT [name] AS work_type_name
FROM [work_type]
WHERE $P!{d1_sql_condition}
]]>
</queryString>
<fieldname="work_type_name"class="java.lang.String"/>
- Jeśli parametr ma wartość NULL, stosuje się warunek 1=1 (pobierane są wszystkie rekordy). W przeciwnym razie stosuje się standardowy warunek SQL dla podanej wartości.
WSKAZÓWKA: Przed modyfikacją pobranego szablonu zalecam zapisanie oryginalnego/działającego szablonu. Może się zdarzyć, że szablon zostanie nieodwracalnie uszkodzony i łatwiej będzie zacząć od nowa.
Šimeček