Hlavní změny a zaniklé funkce (v5.3 > v5.7)

Hlavní změny

Cron Cron (Cron.js) - historické naplánované úkoly

V rámci cronů došlo k úpravě a pokud jsou v systému nějaké naplánované historické úkoly, které ještě neproběhli, tak po upgrade na 5.7 je cron Cron (cron.js) vezme a spustí. Jsou 2 možnosti řešení:

1) V rámci Cronu definovat odkdy má pouštět naplánované úkoly

2) Přejít na PostponedTaskCron a nastavit také časovou značku. PostponedTaskCron je možné klonovat a nastavit na odbavování více úkolů viz Paralelní cron - PostponedTaskCron

Úpravy ve skriptech pro Progress

V rámci TAS 5.7 pracujeme u uživatelů s parametrem Display Name. Z toho důvodu je potřeba upravit i skripty, které vykreslují průběh procesu na Case Overview nebo na úkolech (Progress). Skripty lze vzít z instance New Origin (pokud máte přístup) nebo kontaktovat support.

CleanPerfLogsCron - nahrazení CleanupCronem

CleanPerfLogsCron je nahrazen novějším cronem CleanupCron.

Úprava v chování skrytých sloupců u DŘ

V rámci DŘ došlo k úpravě, že defaultně se hodnota skrytých sloupců při kopírování přenáší. Původní chování bylo, že se hodnota nepřenáší.

Kontrola konzultantem: Potřeba zkontrolovat jestli se neočekává ve výpočtech ve skrytém sloupci prázdná hodnota.

Nastavení se případně upravuje v definici sloupce u DŘ pomocí parametru "copy".

Používání LoggedUserStore na dynamických podmínkách

V případě použití LoggedUserStore a očekávání userNickName ve vráceném objektu, došlo ke změně parametru.Aktuálně od v5.7 místo parametru userNickName použijte userName

const LoggedUserStore = Require.stores.LoggedUserStore;

let {
roles,
// userNickName,
userName
} = LoggedUserStore.state;

Používání LoggedUserStore není správný přístup, LoggedUserStore není uhlídatelné v rámci vývoje. V případě potřeby je možno dodělat funkce, které nahradí používání LoggedUserStore.

Zaniklé funkce

Vzhledem k vývoji nových technologiíí se stane, že některé funkce již nejsou podporovány nebo jsou nahrazeny lepšími a bezpečnějšími funkcemi. Z těchto důvodů dojde občas k nutnosti některé funkce nahradit a nelze dodržet 100% zpětnou komaptibilitu. Zde jsou popsány funkce, které je potřeba nahradit při přechodu z verze 5.3 na verzi 5.7. Pro dohledání těchto funkcí na prostředí můžete využít některou z validačních funkcí.

lib.dmsPdfFileToText

Tato funkce již nelze použít, byla nahrazena funkcí lib.pdfToText

Funkce aktuálně vrací všechen vytěžený obsah z pdf. Konzultant má pak plnou kontrolu nad daty a muže použít, co potřebuje (např. metadata o dokumentu).

Zde je ukázkový příklad jak lze funkci použít pro zpracování pdf uložené v proměnné contractCleanCopy:

const extractTextFromPdfJson = (pdfToJsonContent) => {
const texts = [];
proc.warn("data", {
pdfToJsonContent
})
if (!pdfToJsonContent || !Array.isArray(pdfToJsonContent.Pages)) {
return texts;
}

for (let pageIndex = 0; pageIndex < pdfToJsonContent.Pages.length; pageIndex++) {
const page = pdfToJsonContent.Pages[pageIndex];
if (!page || !Array.isArray(page.Texts)) {
continue;
}

for (let textIndex = 0; textIndex < page.Texts.length; textIndex++) {
const textObj = page.Texts[textIndex];
if (!textObj || !Array.isArray(textObj.R)) {
continue;
}

for (let r = 0; r < textObj.R.length; r++) {
const textRun = textObj.R[r];
if (textRun && typeof textRun.T === 'string') {
try {
texts.push(decodeURIComponent(textRun.T));
} catch (e) {
proc.warn("Failed to decode text:", textRun.T, e);
}
}
}
}
}

return texts;
}

const pdfToText = lib.pdfToText(vars['contractCleanCopy'].getValue()[0])
const texts = extractTextFromPdfJson(pdfToText);
const fullText = texts.join('');

Případně lze využít následující skript na zpracování obsahu získaného pomocí funkce lib.pdfToText

const transformPdfToJsonResponse = (input) => {
const pages = [];

input.Pages.forEach((page, i) => {
const words = [];

page.Texts?.forEach((text) => {
text.R?.forEach((row) => {
if (row.T) {
words.push(decodeURIComponent(row.T));
}
});
});

if (words.length) {
pages.push(`--- Page ${i + 1} ---\n${words.join("")}`);
}
});

return pages.join("\n\n");
}

Lupa - navrácení vyhledávání

V rámci verze 5.7.50 došlo k navrácení vyhledávání nad Případy, Úkoly, Proměnnými a Případy pomocí Lupy na úvodní obrazovce. Toto vyhledávání má ovšem omezení a na velkých prostředích může způsobovat velkou zátěž DB. Pokud bylo v konfiguraci předtím vyhledávání zapnuté, bude zapnuté i po update, potřeba udělat kontrolu a případně vypnout.

Filtrování číselných proměnných v přehledech

Od verze 5.7 se sloupce přehledů navázané na proměnnou typu číslo filtrují jako čísla, ne jako text. Nabízí se jen číselné operátory (rovná se, nerovná se, větší/menší apod.), operátor obsahuje chybí. Hledání podle části hodnoty proto už nefunguje. Například filtr 0210 nenajde záznam s hodnotou 1202107, i když to v TAS4 fungovalo.

Jde o záměrnou změnu: číselná proměnná se v TAS5 porovnává podle své hodnoty, ne podle zapsaných znaků.

Pokud proměnná ve skutečnosti obsahuje identifikátor (číslo účtu, variabilní symbol, IČO, číslo dokladu apod.), založte ji jako typ text. Pak lze hledat i podle části hodnoty a zachovají se úvodní nuly.
Existující proměnnou lze na text převést. Před převodem ověřte, že se s ní nepočítá ve výpočtech ani v podmínkách typu „větší než“. Textová hodnota se také řadí abecedně, takže 10 bude před 9.

Frantisek Brych Updated by Frantisek Brych

Lodash upgrade v4.17.x (>v5.5)

Podbarvení proměnných ve stavu Read-only (>v5.7.58)

Contact

Team assistant (opens in a new tab)

Powered by HelpDocs (opens in a new tab)