====== 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(//) {print("$1\n") if/(.*)<\/Name>/};' $i; done | sort | uniq ==== Nahrazení fontů ==== for i in `find -name "*.rep"`; do perl -pi -e'if(//) { s/MS Shell Dlg/Arial/ }' $i; done