Uživatelské nástroje

Nástroje pro tento web


reports:repupgc

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
reports/repupgc.txt · Poslední úprava: 2018/06/15 08:16 autor: Libor Kadaník