Konfigurovatelné reporty

Potřebujete změnit jednoduše některé údaje na tiskopise? Využijte konfigurovatelné reporty, které je možné následně uživatelsky editovat

Ota Rádl avatar
Autor: Ota Rádl
Aktualizováno před více než týdnem

Aplikace umožňuje konfigurovat vybrané systémové nebo uživatelské reporty. Pokud Vám systémové reporty nedostačují nebo je pro Vás tvorba uživatelských reportů příliš technicky náročná jsou konfigurovatelné reporty právě pro Vás.

Pro obě skupiny reportů platí, že report musí být připraven pro použití konfiguračních parametrů. Systémové reporty připravují tvůrci aplikace, uživatelské reporty musí být vydány společně se specializovanými přílohami.

Konfigurovatelný report je následně možné uživatelsky nastavit ve webovém rozhraní.

Seznam konfigurovatelných reportů lze získat na adrese:/c/{firma}/configurable-reports nebo přímo na demo aplikaci. V první fázi zpřístupníme ke konfiguraci fakturu vydanou a objednávku přijatou.

Úložiště konfigurace

K dispozici jsou specializovaná URL.

Metadata reportu jsou dostupná na adrese:

/c/{firma}/configurable-reports/{reportId}/metadata

Konfiguraci reportu lze číst a zapisovat na adrese:

/c/{firma}/configurable-reports/{reportId}/configuration

Lokalizaci reportu lze číst a zapisovat na adrese:

/c/{firma}/configurable-reports/{reportId}/localization

Parametry se ukládají ve formátu JSON.

Pro uživatelský report se použijí vlastní přílohy reportu s názvy

  • config.json pro konfiguraci,

  • metadata.json pro metadata,

  • localization.json pro lokalizace.

Případně lze nastavení uložit přímo do cílového umístění. Pro systémový report se JSON uloží do evidence global-store pod klíčem {kód pro tisk}-config.json.

Kód pro tisk {reportId} lze získat na URL {evidence}/reports.xml pod vlastností printCode. Např. pro sumovaný report faktury bude výsledný klíč: favAkt:fakturaKB:SUM-config.json


API adaptéru

Adaptér dostupný v reportu prostřednictvím proměnné _ADAPTER nabízí sadu metod pro získání hodnot z konfigurace.

<parameter name="_ADAPTER" class="cz.winstrom.service.dok.DokladReportAdapter"></parameter>


Metody adaptéru

boolean cfgContains(String key);

Zda konfigurace obsahuje vlastnost pro uvedený klíč.

Boolean cfgBoolean(String key); Boolean cfgBoolean(String key, boolean defaultValue);

Získání logické hodnoty z konfiguračního JSONu.

String cfgString(String key); String cfgString(String key, String defaultValue);

Získání textové hodnoty z konfiguračního JSONu.

Integer cfgInteger(String key); Integer cfgInteger(String key, Integer defaultValue);

Získání číselné hodnoty z konfiguračního JSONu.

List<ReportProperty> cfgProperties(String key);

Získání definic pro zobrazení vlastností.

Metody třídy ReportProperty

String getProperty();

Název vlastnosti.

boolean cfgContains(String key);

Zda konfigurace pro vlastnost obsahuje vlastnost pro uvedený klíč.

Boolean cfgBoolean(String key); Boolean cfgBoolean(String key, boolean defaultValue);

Získání logické hodnoty z konfigurace pro vlastnost.

String cfgString(String key); String cfgString(String key, String defaultValue);

Získání textové hodnoty z konfigurace pro vlastnost.

Integer cfgInteger(String key); Integer cfgInteger(String key, Integer defaultValue);

Získání číselné hodnoty z konfigurace pro vlastnost.

boolean isBold();

Zda má být hodnota zobrazena tučným fontem.

Ukázka definice

Tato ukázka definice ukazuje možnost změnu barvy písma, pozici loga, šířku okraje, dále definuje tři pole v levém sloupci tiskopisu - datum vystavení, ulici a datovou schránku.

{
"replaceWhiteFontWithBlack": true,
"logoPosition": "left",
"borderWidth": 20,
"addonFields.left": [
{
"property": "datVyst",
"bold": true,
"width": 50,
"align": "right"
},
{
"property": "firma.ulice"
},
{
"property": "nastaveni.datovaSchranka",
"italic": true
}
]
}

Ukázka použití

Ukázka použít ukazuje zápis ve zdrojovém kódu reportu.

<conditionalStyle>
<conditionExpression>
<![CDATA[$P{_ADAPTER}.cfgBoolean("replaceWhiteFontWithBlack", false)]]>
</conditionExpression>
<style forecolor="#010101" backcolor="#0092FF"/>
</conditionalStyle>

Lokalizace

Pro lokalizace se použije soubor s názvem localization.json.

Běžná lokalizace se získá pomocí klíče:

{localeCode}.{groupName}.{subgroupName}.{itemName}

Lokalizace objektu se získá pomocí klíče:

{localeCode}.{className}.{code}

Ukázka definice

Ukázka lokalizace definuje překlad pole stránka a státu CZ v češtině:

{
"cs.reports.faktura.stranka": "~ Stránka ~",
"cs.Stat.CZ": "Země koruny české"
}

Ukázka použití

Ukázka použít ukazuje zápis ve zdrojovém kódu reportu.

<textFieldExpression>
<![CDATA[$P{_ADAPTER}.getTitle( $P{_LOCALE}.GID_REPORTS, "faktura", "stranka", false)]]>
</textFieldExpression>
<textFieldExpression>
<![CDATA[$P{_ADAPTER}.getLocalizedText( $F{stat}, new java.util.Locale($P{_LOCALE}.getLocaleCode()))]]>
</textFieldExpression>

Potřebujete poradit?
V případě dotazů k aplikaci nás kontaktujte na podporaflexi@abra.eu případně prostřednictvím chat okna v pravém dolním rohu.

Dostali jste odpověď na svou otázku?