====== 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