- Verze 5.7 – nativní funkce sys.
- Nalezení použití globálních skriptů v rámci výpočtů
- Nalezení konkrétní funkce nebo textu v rámci globálních skriptů
- Nalezení konkrétní funkce nebo textu v rámci výpočtů
- Nalezení konkrétní funkce nebo textu v rámci dynamických podmínek a dynamických řádků
- Nalezení nepodporovaných funkcí (lodash a další zaniklé funkce)
- Automatické nahrazení nepodporovaných Lodash funkcí
- Verze 5.17 – 5.19 – plugin Template Validation 1.x
Použití validačních funkcí
- Verze 5.7 – nativní funkce sys.
- Nalezení použití globálních skriptů v rámci výpočtů
- Nalezení konkrétní funkce nebo textu v rámci globálních skriptů
- Nalezení konkrétní funkce nebo textu v rámci výpočtů
- Nalezení konkrétní funkce nebo textu v rámci dynamických podmínek a dynamických řádků
- Nalezení nepodporovaných funkcí (lodash a další zaniklé funkce)
- Automatické nahrazení nepodporovaných Lodash funkcí
- Verze 5.17 – 5.19 – plugin Template Validation 1.x
Pro snazší přechod ze starších verzí systému lze použít validační a vyhledávací funkce, které se spouští v Administraci → Servisní konzole. Funkce prohledávají výpočty, dynamické podmínky, dynamické řádky, tiskové šablony (Case Overview) a globální skripty, hledají nepodporovaný kód a část nálezů umí opravit automaticky.
Způsob volání se liší podle verze TAS:
|
Verze TAS |
Kde jsou funkce |
Prefix volání |
|
5.7 (od 5.7.33) |
Nativně v systému |
|
|
Plugin Template Validation verze 1.x |
|
validation v Servisní konzoli neexistuje.Verze 5.7 – nativní funkce sys.
Dostupné od verze 5.7.33.
Nalezení použití globálních skriptů v rámci výpočtů
Pro nalezení využití konkrétního skriptu z globálních skriptů v rámci výpočtů lze použít funkce níže.
sys.findScriptImportstInCalculations();
Prázdný první parametr vyhledává ve všech šablonách na prostředí.
sys.findScriptImportstInCalculations(1626);
S uvedeným ID šablony vyhledává a vrací úkoly pouze z dané šablony.
Ve výsledku se lze poté prokliknout přímo na konkrétní šablonu nebo úkol.
Nalezení konkrétní funkce nebo textu v rámci globálních skriptů
sys.findInScripts('result.data.split');
Dohledá, kde je použit zápis result.data.split.
Alternativně lze použít i regulární výraz:
sys.findInScripts(/\bvar\s+approverArray\s*=\s*JSON\.parse\s*\(/);
sys.findInScripts().Nalezení konkrétní funkce nebo textu v rámci výpočtů
sys.findInCalculations('sortedTaskActual', 27);
Vyhledá použití sortedTaskActual v rámci šablony s ID 27.
sys.findInCalculations('sortedTaskActual');
Bez specifikace šablony vyhledá použití sortedTaskActual ve všech šablonách.
Alternativně lze použít i regulární výraz:
sys.findInCalculations(/\bvar\s+approverArray\s*=\s*JSON\.parse\s*\(/);
sys.findInCalculations().Nalezení konkrétní funkce nebo textu v rámci dynamických podmínek a dynamických řádků
sys.findInConditions('test');
Vyhledá použití řetězce test ve všech dynamických podmínkách a dynamických řádcích (skriptu).
Nalezení nepodporovaných funkcí (lodash a další zaniklé funkce)
Podrobný popis upgradu lodash je k nalezení zde. Tato kontrola je dostupná již ve verzi 5.3.
sys.validateTemplate(1626);
Prohledá konkrétní šablonu a vrátí všechny výskyty nepodporovaných funkcí. Prohledává:
- výpočty,
- dynamické podmínky,
- dynamické řádky,
- tiskové šablony.
sys.fixTemplateIssues();sys.validateTemplates();
Prohledá všechny šablony stejným způsobem jako sys.validateTemplate().
sys.validateGlobalScripts();
Provede kontrolu globálních skriptů (Výpočty, CO React, CO).
Automatické nahrazení nepodporovaných Lodash funkcí
sys.replaceDeprecatedLodashUsage();
Pokud je parametr prázdný, provede nahrazení ve všech šablonách. Pokud je vyplněno ID šablony, provede nahrazení pouze v ní. Nahrazuje ve výpočtech, dynamických podmínkách, dynamických řádcích i ve skriptech. Automaticky přepíše i nepodporovaný zápis _.find (viz Lodash Upgrade).
Verze 5.17 – 5.19 – plugin Template Validation 1.x
Funkce se přesunuly do pluginu Template Validation. Názvy a parametry zůstávají stejné jako ve verzi 5.7, jen se místo sys. volají přes validation., např.:
validation.validateTemplate(1626);
validation.findInCalculations('sortedTaskActual', 27);
validation.replaceDeprecatedLodashUsage();
Všechny funkce z verze 5.7 fungují stejně. Plugin 1.x navíc přidává:
|
Funkce |
Popis |
|
|
Fulltextové hledání napříč všemi šablonami. |
|
|
Fulltextové hledání v jedné šabloně. |
|
|
Vyhledá použití konkrétní funkce ve všech šablonách. |
|
|
Vyhledá použití konkrétní funkce v jedné šabloně. |
|
|
Vyhledá použití konkrétní funkce v globálních skriptech. |
|
|
Od verze 5.18.2. Zkontroluje všechny šablony a globální skripty na zastaralé MUI Grid v6 vlastnosti ( |
|
|
Od verze 5.18.2. Opraví zastaralé MUI Grid vlastnosti. Bez parametru ve všech šablonách a globálních skriptech. |
|
|
Od verze 5.18.14. Vypíše výpočty a globální skripty, které je potřeba znovu transpilovat. Bez parametru kontroluje všechny šablony i skripty. K samotné retranspilaci slouží |
Kontrola před upgradem – validation.checkMigration()
validation.checkMigration();
Prohledá celý systém včetně globálních skriptů a vrátí souhrnnou tabulku nálezů seskupených podle pravidla. U každého pravidla je uvedena závažnost, počet výskytů a zda jde opravit automaticky.
validation.checkMigration(1626);
Zkontroluje pouze šablonu s ID 1626.
Závažnost nálezů:
|
Závažnost |
Význam |
|
|
Nefunguje už nyní – funkce nebo API v systému neexistuje. |
|
|
Kód běží, ale chová se chybně nebo jsou data nekonzistentní. |
|
|
Zatím funguje, ale je naplánováno odstranění. Ve výpisu je uvedeno, do které verze bude fungovat. Po upgradu na tuto verzi se nález automaticky změní na |
|
|
Kosmetický nález. |
Detail pravidla – validation.checkRule()
ID pravidla (ruleId) se zobrazuje ve výpisu validation.checkMigration().
validation.checkRule('lodash.pluck');
validation.checkRule('lodash.pluck', 1626);
Vypíše všechna konkrétní místa, kde se pravidlo uplatnilo, s odkazem na šablonu, úkol nebo skript.
Vyhledávání – validation.find()
Nahrazuje všechny dřívější vyhledávací funkce (findInScripts, findInCalculations, findInConditions, findTextInTemplate(s), findFunctionInTemplate(s), findFunctionInScripts).
validation.find('result.data.split');
Vyhledá text ve všech šablonách a globálních skriptech.
validation.find('sortedTaskActual', { tProcId: 27 });
Vyhledá text pouze v šabloně s ID 27.
validation.find(/\bvar\s+approverArray\s*=\s*JSON\.parse\s*\(/);
Hledaný výraz může být i regulární výraz.
validation.find().Volitelný druhý parametr options:
|
Parametr |
Popis |
|
|
ID šablony. Bez něj se prohledává celý systém včetně globálních skriptů. |
|
|
|
|
|
Omezí hledání na vybrané typy kódu: |
|
|
|
validation.find('getApprovers', { mode: 'definition' }); – kde je funkce getApprovers definovaná,validation.find('getApprovers', { mode: 'call', kinds: ['taskCalculation'] }); – kde se volá ve výpočtech,validation.find('test', { kinds: ['taskCondition', 'dynamicRow'] }); – obdoba dřívějšího findInConditions('test').Automatická oprava – validation.fix()
validation.fix('lodash.find-3arg');
validation.fix('lodash.find-3arg', 1626);
Opraví nálezy daného pravidla, zapíše změny a vypíše rozdíl (diff) každé úpravy. Opravit lze jen pravidla, která mají ve výpisu validation.checkMigration() vyplněný sloupec s opravou. U každého opravitelného pravidla je uvedena spolehlivost opravy:
safe– oprava je bezpečná,review– opravu je vhodné zkontrolovat,bestEffort– oprava je nejlepší odhad, výsledek je nutné zkontrolovat.
Automaticky opravitelná pravidla:
|
Pravidlo |
Oprava |
|
|
Přepíše |
|
|
Převede zastaralé MUI Grid v6 vlastnosti na syntaxi v7 v Case Overview a globálních skriptech. Spolehlivost |
|
|
Opraví chybně uložený seznam importovaných globálních skriptů ve výpočtech. Spolehlivost |
|
|
Přepíše práci s atributem |
review a bestEffort zkontrolujte.Použití globálních skriptů ve výpočtech – validation.findScriptImports()
validation.findScriptImports();
validation.findScriptImports(1626);
Vypíše, které globální skripty jednotlivé výpočty úkolů importují. Bez parametru ve všech šablonách, s ID šablony pouze v ní.
Co validace kontroluje
- Nepodporované funkce Lodash – např.
_.pluck,_.where,_.findWhere,_.first,_.indexBy,_.pairs,_.padLeft,_.trimLeft,_.sortByOrdera zápis_.findse třemi parametry. Výpis vždy uvádí náhradu. - Odstraněné funkce API:
lib.storeCsvFromDms(),lib.getAresData(),lib.setList(),lib.getPublicKey(),lib.getSecret(),lib.setSecret()– nahrazujevault.get(),lib.getCertificatePath()a pevné cesty k adresáři certifikátů – nahrazujelib.getCertificate(certName),- všechny funkce
curl.*– pro REST volání použijte AxiosApi, pro FTP/SFTP FtpApi, docx.generate()adocx.docxTemplater()– nahrazujedocxGenerator.generate(),- metoda POST pro
/dms/download/:ida/dms/archived/download/:id– použijte GET.
- Zastaralé funkce –
lib.dmsPdfFileToText()(nahrazujelib.pdfToText()),IPROC_CASE_STATUS(nahrazujeproc.setCaseStatus()/proc.getCaseStatus(), pro jiný případlib.changeCaseStatus()). - Veřejné URL souborů pod
/assets/, které již nejsou podporovány. - Zastaralé vlastnosti MUI Grid v6 v Case Overview a globálních skriptech.
- Výpočty a globální skripty k retranspilaci – retranspilaci provedete přes
sys.retranspileCalculationsByProcessId()nebosys.retranspileGlobalScripts(). - Výpočty importující neexistující globální skript.
- Úkoly typu Pozvánka – tento typ úkolu byl odstraněn, úkoly je potřeba odstranit nebo nahradit.
- Historické proměnné typu B – tento typ proměnné byl odstraněn.
Převodní tabulka z pluginu 1.x na 2.x
|
Původní funkce (5.7 |
Plugin 2.x (od 5.20.8) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
validation.
Updated
by Frantisek Brych