Obsah
repupgc
Program repupgc automaticky načítá soubor SYSTEM_DIR/repupg.lua. Zde je jsou nadefinovany funkce, které lze spuštět pomoci např.
repupgc -luastring "GrepReports([[m:/obis4/reports/zakazky/]], [[.*]])"
Funkce zpracovávají všechny fieldy v reportu ve formátu JmenoBandu|ObsahFieldu. Na tento seznam fieldu se obvykle aplikuje regulární vyraz a případná náhrada. Obvykle funkce string.find a string.gsub.
Adresář musí končit lomitkem. Místo adresáře lze použít výběr souborů (např. c:\report\directory\*.rep).
Příklady
Prohledávání
V adresáři M:\obis4\system\reports\rozpocty\ a podřazených projíždíme soubory s koncovkou rep. Program vypisuje všechny reporty a fieldy
repupgc -debug 2 -luastring "GrepReports([[M:\obis4\system\reports\rozpocty\*.rep]], [[.*]])"
Prohledávání reportů, kde je na začátku fieldu @dofile
repupgc -debug 2 -luastring "GrepReports([[M:\obis4\system\reports\rozpocty\*.rep]], [[|@dofile]])"
V adresáři M:\obis4\system\reports\rozpocty\ a podřazených projíždíme soubory.
Program vypisuje všechny reporty na které neexistuje odkaz v XML souborech, nebo nesouhlasí velikost pismen.
Funkce kontroluje i přítomnost starých funkcí (začínajících #) a špatný zápis datumu.
Parametr CheckOldFunction (true/false) kontroluje a převádí staré funkce. Parametr
CheckExistInXML (true/false) kontroluje, zda má report odkaz v některém XML souboru
repupgc -debug 2 -luastring "CheckReports([[M:\obis4\system\reports\rozpocty\*.*]], CheckOldFunction, CheckExistInXML)"
Náhrady
Náhrada fieldů kde je na zacatku @dofile pomocí @trydofile
repupgc -debug 2 -luastring "SedReports([[M:\obis4\ststem\reports\rozpocty\*.rep]], [[|@dofile]], [[|@cf.trydofile]])"
Je možno pracovat i Labely, ty mají prefixy LABEL_. Nelze využít v html.
V repupg.lua lze pomocí fce RAdd() přidat field do bandu:
- rline - vytvoří vpravo dole malý field
- excel a oo - vloží field do pravé spodní buňky, není-li již něčím obsazena
- html - vloží na konec textu bandu, můžou vzniknout problémy je-li tam např. hlavička tabulky
Úprava LUA scriptů a náhrada obsolete funkcí jako např. os.date() → osex.date(), Function: → Function. atd.
repupgc.bin -debug 2 -luastring "UpgradeLua([[/obis/system/lua/]])"
Automatické kontroly
Hlavní systémová funkce pro převod a kontrolu reportů. Volá podružné funkce, které převádí a kontrolují reporty v jednotlivých modulech. Příklad na násl. řádku provede možné automatické úpravy na všechny reporty v adresáři zakázky. Veškeré nalezené nesrovnalosti vypíše.
repupgc -debug 2 -luastring "UpgradeReports([[M:\obis4\system\reports\zakazky\]])"
Druhá možnost je spustit kontrolu od seznamu reportu. Jako paramter přijímá cestu k seznamu reportu, případně masku.
repupgc -debug 2 -luastring "UpgradeFromReportsList([[M:\obis4\system\reports\*_reports.xml]])"
Další možnost je spustit kontrolu, popřípadě i převod starých funkcí začínajících #. Druhý, nepovinný parametr určuje, zda bude report jen zkontrolován na přítomnost starých fcí. Pokud bude parametr true budou staré funkce převedeny na nové.
repupgc -debug 2 -luastring "CheckReports([[M:\obis4\system\reports\rozpocty\rozpocet.rep]], true)"
Upgrade formregister.xml
repupgc -debug 2 -luastring "UpgradeFormRegister([[M:\obis4\user\formregister.xml]])"
Skripty pro práci s reporty
Seznam použitých fontů
for i in `find -name "*.rep"`; do perl -ne 'if(/<Font /../\/Font>/) {print("$1\n") if/<Name>(.*)<\/Name>/};' $i; done | sort | uniq
Nahrazení fontů
for i in `find -name "*.rep"`; do perl -pi -e'if(/<Font /../\/Font>/) { s/MS Shell Dlg/Arial/ }' $i; done