Efektivnější zpracování změnových importů
Provedli jsme několik vylepšení v oblasti zpracování změnových importů, které zvyšují výkon a zároveň odstraňují dříve zjištěné chyby.
Zrychlené porovnávání listů:
Upravili jsme způsob porovnávání listů – nově se porovnávají postupně s průběžnou konverzí. Díky tomu je potřeba držet v paměti pouze několik listů najednou (namísto všech), což výrazně zrychluje celý proces.
Respektování omezení řádků:
Byla opravena chyba, kdy změnový import porovnával i řádky, které měly být podle původního importu vynechány (např. první tři řádky). Nově se při porovnávání plně respektuje nastavení z původního importu.
Úprava algoritmu pro detekci nepodstatných sloupců:
Algoritmus mohl způsobovat problémy při importech s velkým množstvím prázdných sloupců se stylem – byl příliš rekurzivní. Nyní je tato část přepracována a bez rekurze, což výrazně zlepšuje stabilitu při zpracování rozsáhlých souborů.
Bezchybné přidání položky ze SCIDATA.cz s novější CÚ
Byla opravena chyba, která nastávala při stažení položky ze SCIDATA.cz, pokud byla v jiné cenové úrovni, než jakou měl uživatel v programu k dispozici. V takovém případě nebylo možné položku korektně založit, což vedlo k tomu, že zakázku nešlo uložit a proces končil stavem EDO.
Nyní je problém vyřešen – položky s jinou cenovou úrovní se správně zakládají a uložení zakázky proběhne bez chyby.
Automatické uzavření rozpracovaných záznamů před spuštěním Uživatelské akce
Na základě zkušeností z implementace jsme zavedli úpravu, která zvyšuje spolehlivost výsledků výpočtů Uživatelské akce. Dříve mohlo dojít k situaci, kdy uživatel spustil funkci Uživatelská akce s otevřeným (rozeditovaným) záznamem, který nebyl uložen. Výpočet sice proběhl technicky správně, ale nezohlednil očekávané změny, protože nebyly uloženy.
Nově systém automaticky:
- Uzavře všechny rozeditované záznamy před spuštěním Uživatelské akce, podobně jako je tomu u jiných hromadných akcí.
- Upravuje chování tlačítka „Uložit“ – nejprve dojde k uzavření a uložení rozeditovaných záznamů, a teprve poté k samotnému uložení zakázky.
Tato úprava pomáhá předcházet nechtěným chybám způsobeným neuloženými daty.
Oprava: Nefunkční otevření zakázky v exkluzivním režimu
Opravili jsme chybu, ke které docházelo po přerušení úlohy "Vyhledávání položek v oceňovacích podkladech" nad sdílenou zakázkou. Kvůli přerušení akce nedošlo ke správnému odpojení úlohy od zakázky, což následně bránilo dalšímu otevření v exkluzivním režimu.
Oprava: Zablokování při souběžné práci uživatelů
Opravili jsme chybu, která mohla způsobit zablokování systému při současné práci více uživatelů. K problému docházelo ve chvíli, kdy jeden uživatel měnil údaje firmy a druhý měl otevřenou zakázku s pohledem, který tyto údaje využíval. Systém se při zpracování notifikace dostal do konfliktu přístupu k datům a došlo k zacyklení dvou vláken. Nově systém takovou situaci rozpozná a zpracování notifikace bezpečně přeruší.