Globální skripty a React skripty

Administrace → Skripty spravuje tři druhy sdíleného kódu, které si pak šablony a tisky jen vyberou, aniž by ho musely opakovat na každém místě zvlášť. Tento článek popisuje, kde a jak se tyto skripty v šablonách a tiscích používají. Jejich zakládání, úpravu, import a export popisuje administrátorský článek Skripty.

Druh skriptuKde se spustíKde se vybírá
Skripty (Výpočty)Na serveru, jako součást kódu sekce výpočtu úkolu.Pole Skripty na záložce Výpočty úkolu.
Skripty (CO)V prohlížeči uživatele – formulář (dynamické podmínky), přehled případu (Case Overview) nebo standardní tisk.Pole Načítané skripty v okně Podmínky, v builderu Case Overview a v detailu standardního tisku.
Skripty (CO React)V prohlížeči uživatele, jen pro Case Overview a tisk typu Tisk – React postavené na komponentách Reactu.Pole Načítané skripty v Case Overview / detailu tisku React.

Skripty ve výpočtech úkolu

Pole Skripty na záložce Výpočty (viz Výpočty na úkolu i Jak a kdy běží výpočty) nabízí jen aktivní skripty typu Skripty (Výpočty). Kód vybraných skriptů se vloží před kód sekce, takže jejich funkce jsou v sekci rovnou dostupné pod svým názvem – nejde o import, ale o doslovné spojení kódu:

// Skript "CurrencyHelpers" v administraci obsahuje:
function toEur(amountCzk, rate) {
    return Math.round((amountCzk / rate) * 100) / 100;
}

// Sekce výpočtu, která tento skript vybrala v poli Skripty, ho může rovnou volat:
const rate = lib.getExchangeRate('EUR');
vars['TotalPriceEur'].setValue(toEur(vars['TotalPrice'].getValue(), rate));

Vyberete-li víc skriptů najednou, vloží se v pořadí, v jakém jsou v poli zvolené. Pokud se skripty jmenují stejně nebo definují stejnou proměnnou/funkci, platí ten, který se vložil později.

Skripty v dynamických podmínkách

Okno Podmínky (viz Dynamické podmínky: builder a Dynamické podmínky: skript) má pole Načítané skripty, které vybírá, jaké aktivní skripty typu Skripty (CO) se pro daný úkol načtou do prohlížeče společně s kódem podmínek. Když nevyberete žádný, načtou se automaticky všechny aktivní skripty tohoto druhu.

Skripty v Case Overview a tiscích

Case Overview i tisk mají stejné pole Načítané skripty jako dynamické podmínky, jen nabízejí jiný druh skriptů podle toho, jestli jde o standardní, nebo React variantu:

  • Standardní Case Overview a standardní tisk nabízí skripty Skripty (CO).
  • Case Overview a tisk typu Tisk – React nabízí navíc skripty Skripty (CO React) – typicky komponenty jako vlastní záložky, tabulky nebo ukazatel průběhu.

Přepnete-li u tisku přepínač Tisk / Tisk – React, pole Načítané skripty se vyprázdní, protože každý druh tisku používá jinou skupinu skriptů a dosavadní výběr by pro novou skupinu nedával smysl.

Kdy dát funkci do skriptu a kdy přímo do kódu
Pokud stejnou logiku (přepočet kurzu, validaci IČO, vykreslení stejné React komponenty) používá víc šablon nebo víc tisků, patří do sdíleného skriptu – oprava na jednom místě se pak projeví všude. Logiku specifickou jen pro jeden úkol nebo jeden tisk nechte přímo v jeho kódu, ať nemusíte hledat souvislosti mezi administrací a šablonou.
Smazání nebo vypnutí skriptu
Smažete-li nebo vypnete sdílený skript v administraci, zmizí i ze všech výpočtů, podmínek, přehledů a tisků, které ho používaly. Pokud na jeho funkce odkazuje jejich kód, při příštím běhu/uložení dostanete chybu. Před smazáním skriptu proto zkontrolujte, kde všude je vybraný.

Související: Skripty, Jak a kdy běží výpočty, Dynamické podmínky: builder, Tiskové šablony.

Team assistant (opens in a new tab)

Powered by HelpDocs (opens in a new tab)