HTML Detail
⚠️ Táto funkcionalita je dostupná len vo webovej verzii ERPIO App.
Je možné vytvoriť vlastné zobrazenie detailu pomocou zápisu v HTML.

Vytvára sa rovnako ako akcia typu Detail, navyše sa v záložke MetaData prídáva hodnota LTWDAction s názvom LoadFromHTML, kde to Value sa dáva príslušný HTML kód.

Reťazec Values[NazovStlpca] bude nahradený hodnotou daného stĺpca.
Príklad:
<div style="text-align: center;" padding: 20px;>
<img src="data:image/jpg;base64,Values[Obrazek]" style="border-radius: 50%;border: 2px solid Values[ResourceColor]; background-color: Values[ResourceColor];object-fit: cover;width:200px;height:200px;" onerror="this.onerror=null; this.src='https://erpio.app/examples/person.png'" />
</div>
<div style="text-align: center; padding: 20px;">
<br>
Values[PriezviskoMeno]
<br>
Osobné číslo: Values[Cislo]
<br>
Hodnotenie: <b>Values[Hodnotenie]</b>
</div
JavaScript funkcie
V HTML detaile sa dajú použiť funkcie objektu E1Actions.
- Volajú sa z HTML atribútov, napr.
onclick. Blok<script>sa v detaile nespustí. - Všetky funkcie pracujú s dátami aktuálne zobrazeného záznamu.
- Druhý parameter je nepovinný zoznam hodnôt v tvare
[ { ValName: 'NazovStlpca', Val: 'hodnota' }, ... ]. Každá položka prepíše (alebo doplní) stĺpecValNamehodnotouVal. Takto sa dajú akcii poslať hodnoty, ktoré v zázname nie sú, napríklad zvolený stav. Valmusí mať vždy hodnotu (nienull). Ak netreba nič meniť, pošlite prázdny zoznam[].
Spustenie akcie podľa ID
E1Actions.Run(IDAkcie, [ ... ])
Spustí akciu s daným ID, rovnako ako keby ju používateľ spustil tlačidlom. Akcia nemusí byť zaradená v rovnakom sete.
Spustenie akcie podľa aliasu
E1Actions.RunByAlias('AliasAkcie', [ ... ])
Funguje rovnako ako E1Actions.Run, akciu však hľadá podľa aliasu. Výhoda je, že alias sa pri prenose medzi workspace nemení. Akcia musí mať alias vyplnený.
Volanie Client API
const vysledok = await E1Actions.CallClientApi('AliasAkcie', [ {"ValName": "NazovStlpcaNastavenehoVColumnValue", "Val": "Hodnota"}, {"ParName":"@NazovParametra", "Val":"Hodnota"}, ... ]);
- Zavolá akciu s daným aliasom cez ERPIO Client API pod prihláseným používateľom.
- Výsledok vráti ako text, zvyčajne JSON. Spracujete ho cez
JSON.parse(vysledok). - Parametre akcie sa naplnia z aktuálneho záznamu. Hodnoty v druhom parametri ich prepíšu alebo doplnia. Parameter, pre ktorý sa nenájde hodnota, sa neposiela.
- Funkcia je asynchrónna, preto použite
awaitalebo.then(...). - Pri chybe sa vráti text chyby zo servera. Ak akcia s daným aliasom neexistuje, vráti sa
null.
Príklad
<div style="text-align: center; padding: 20px;">
<img src="data:image/jpg;base64,Values[Obrazek]" style="border-radius: 50%; border: 2px solid Values[ResourceColor]; background-color: Values[ResourceColor]; object-fit: cover; width: 200px; height: 200px;" onerror="this.onerror=null; this.src='https://erpio.app/examples/person.png'" />
</div>
<div style="text-align: center; padding: 20px;">Values[PriezviskoMeno]
<br>
Osobné číslo: Values[Cislo]
<br>
Hodnotenie: <b>Values[Hodnotenie]</b>
</div>
<div style="text-align: center;">
<!-- spustí akciu s ID 1234 s dátami aktuálneho záznamu -->
<button onclick="E1Actions.Run(1234, [])">Upraviť</button>
<!-- spustí akciu s aliasom SchvalitZaznam a pošle jej navyše stĺpec Stav = 'Schvalene' -->
<button onclick="E1Actions.RunByAlias('SchvalitZaznam', [{ ValName: 'Stav', Val: 'Schvalene' }])">Schváliť</button> <!-- zavolá Client API akciu ZostatokDovolenky a výsledok zobrazí v detaile -->
<button onclick="E1Actions.CallClientApi('ZostatokDovolenky', []).then(r => document.getElementById('zostatok').innerText = r)">Zostatok dovolenky</button>
<div id="zostatok"></div>
</div>