Připravované změny pro příští vydání (změna datové struktury a kompatibility funkcí)
vydání: 20101104 - verze: 14
Na příští týden chystáme nové vydání Altus Vario. Toto vydání bude obsahovat aktualizaci datové struktury. Dále bude obsahovat změny v řízení transakcí, které mohou ovlivnit doplňky a další rozšiřující (zakázkové) komponenty.
Pro administrátory
Doporučujeme vám aktualizovat v době, kdy budete mít časovou rezervu. Aktualizace bude vyžadovat přerušení práce ve Variu (aktualizace datové struktury). Po aktualizaci doporučujeme otestovat funkčnost rozšiřujících komponent nejlépe nad testovacími daty.
Předpokládáme, že naprostá většina zakázkových řešení bude fungovat, mohou se však vyskytnout 2 případy:
- Zakázkové řešení nebude možné vůbec spustit kvůli změněné kompatibilitě. (Takový problém odhalíte okamžitě a jeho náprava by neměla výrobci doplňku činit problémy.)
- Při transakčním zpracování dojde k vypršení časového limitu. Tento případ platí pouze pro data na SQL serveru a transakční zpracování. (Opravu musí provést dodavatel, neměla by být náročná na čas.)
Pro vývojáře
Řízení transakcí
V objektové knihovně Varia jsme provedli vylepšení, která přinášejí zrychlení dotazů na SQL serveru a odstraňují problémy s mrtvými zámky. Důsledkem těchto vylepšení je změna v řízení transakcí. V knihovně Varia jsou proto 3 nové metody:
- Vario.Databaze.TransBegin(ParamArray dbs())
- Vario.Databaze.TransCommit
- Vario.Databaze.TransRollback
důrazně doporučujeme používat tyto metody místo metod BeginTrans, CommitTrans a Rollback tříd DbEngine nebo Workspace.
Metoda Vario.Databaze.TransBegin má jako volitelný parametr referenci na databáze, nad nimiž má být zahájena. Jestliže se rozhodnete tento parametr nevyplňovat, důkladně otestujte svoje řešení na SQL serveru. Pokud pak v rámci transakce dojde k vypršení časového limitu z důvodu uzamčení mrtvým zámkem, může se jednat o důsledek čtení záznamů upravených v transakci novým (přímým) voláním, a nezbývá než zahájit transakci voláním metody TransBegin s vyplněným parametrem databáze, nad kterou bude transakce probíhat.
Například takto: Vario.Databaze.TransBegin Vario.AktualniFirmaInstance.Databaze(dbData)
Možné problémy s kompatibilitou
Ze třídy Dotazy jsme odstranili zastaralé a nepoužívané uložené dotazy:
- R_Data
- R_Doplnky
- R_Agendy
- R_Pouzita_agenda
- R_Povolene_zaznamy
- Otevri_kursy
- Otevri_celni_kursy
- Otevri_soucet_polozek
- Otevri_soucet_polozek_s_DPH
- Otevri_soucet_polozek_zaloh
- Kopirovat_polozky_dokladu
- Kopirovat_skupiny_dokladu
- Otevri_nasi_firmu
Následující dotazy nyní vracejí záznamy pouze pro čtení:
- R_Moduly
- R_Vsechny_Agendy
- R_Sablony_knihy
- R_Vychozi_hodnoty
- R_Knihy_agendy
- R_knihy_agendy_pro_doklad
- R_Knihy_typ_U
- Otevri_denik
- Otevri_definici_podpisu
- R_souvisejici_doklad
- Otevri_Variantu_produktu
- R_Vychozi_polozky
- Otevri_osobu
- R_Tiskovy_formular
- R_Tiskove_formulare
- R_Pole_agendy
- R_Akce_agendy
- R_Akce_agendy_pole
- R_Polozky_vydejky_k_vyskladneni
Dotazy ve třídě Dotazy používá zejména metoda vario.Databaze.UlozenyDotaz. Pokud vaše řešení používá některý z uvedených uložených dotazů, bude potřeba jej nahradit SQL výrazem a metodu AdHocDotaz.
Betaverze pro vývojáře
Za účelem testování si můžete stáhnout betaverzi (vydání 20101108 20101110). Upozornění: toto vydání je určeno pouze pro testování. Není určeno k instalaci na produkční data. Toto vydání aktualizuje datovou strukturu.