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

Hlavní změny

Ú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");
}

Frantisek Brych Updated by Frantisek Brych

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

Použití validačních funkcí

Contact

Team assistant (opens in a new tab)

Powered by HelpDocs (opens in a new tab)