Stormware Pohoda: Porovnání verzí
(Nejsou zobrazeny 3 mezilehlé verze od stejného uživatele.) | |||
Řádek 1: | Řádek 1: | ||
=Import | =Import bankovních výpisů= | ||
Pohoda sice obsahuje funkci pro komunikaci s bankou přes ABO soubory a tyhle soubory není problém generovat (na to su expert), jenomže import z ABO souboru se odklikává položku po položce, u každé položky je potřeba nakliknout předkontaci, typ (příjem - výdej), atd., takže u 5000 položek to je práce pro sebevraha. | |||
Naštěstí Pohoda umí naimportovat data i hromadně - buď přes formát mdb, nebo přes formát DBF. | |||
U formátu mdb není žádná možnost, jak jej vytvořit ze skriptovacího ne-MS jazyka. Takže jsem šel cestou DBF, protože ten lze vytvořit v PHP pomocí extension dBase. | |||
==Příprava HTML dat== | ==Příprava HTML dat== | ||
Pokud máme HTML soubory s výpisy v několika (mnoha) souborech, musíme si z nich nejdříve udělat jeden velký soubor, a to například takto: | Pokud máme HTML soubory s výpisy v několika (mnoha) souborech, musíme si z nich nejdříve udělat jeden velký soubor, a to například takto: | ||
(Pro UNIX) | |||
#!bin/bash | #!bin/bash | ||
rm vysledek.htm | rm vysledek.htm | ||
for i in $( ls *htm* ); do php -f radky.php $i >>vysledek.htm; done | for i in $( ls *htm* ); do php -f radky.php $i >>vysledek.htm; done | ||
(Pro Windows) | |||
del tmp.html | |||
del %2 | |||
FOR %%F IN (%1) DO "c:\Program Files\EasyPHP 3.0\php\php.exe" "c:\Program Files\EasyPHP 3.0\www\radky.php" %%F >> tmp.html | |||
copy "c:\Program Files\EasyPHP 3.0\www\hlavicka.html" %2 | |||
type tmp.html>>%2 | |||
Přičemž soubor radky.php bude obsahovat toto: | Přičemž soubor radky.php bude obsahovat toto: | ||
Řádek 23: | Řádek 36: | ||
?> | ?> | ||
K výslednému souboru vysledek.html je ještě potřeba přidat hlavičku a patičku, | K výslednému souboru vysledek.html je ještě potřeba přidat hlavičku a patičku, abychom dostali korektní HTML. Třeba takto: | ||
cat vysledek.htm >> head.html | |||
cat end.html >> head.html | |||
==Konverze HTML do dBase== | ==Konverze HTML do dBase== | ||
Pro konverzi HTML do dBase slouží PHP skript | Pro konverzi HTML do dBase slouží PHP skript Html2dbf, viz [[Soubor:Html2dbf.zip]]. Je v něm první verze parseru, který jsem později kompletně přepsal pro potřeby Freenetisu, plus generování DBF databáze z výsledků HTML parsování. | ||
Bohužel, PHP extension php5-dbase není v Debianu, bylo by nutné ji dokompilovat spolu s celým PHP. Nejjednodušší řešení je proto provozovat konverzi na Windows, kde např. balík EasyPHP extension dBase má. | Bohužel, PHP extension php5-dbase není v Debianu, bylo by nutné ji dokompilovat spolu s celým PHP. Nejjednodušší řešení je proto asi provozovat konverzi na Windows, kde např. balík EasyPHP extension dBase má. | ||
==Příprava dBase pro načtení do Pohoda Stormware== | ==Příprava dBase pro načtení do Pohoda Stormware== | ||
Další zrada: Pohoda Stormware neumí DBF soubory vyrobené extension-em dBase načíst přímo. Proto je nutné DBF soubory otevřít v Calc-u OpenOffice - při tom je důležité vybrat v import dialogu správně kódování (Východní Evropa, CP852). Pak soubor bez jakékoli změny uložíme přes "Save as" klidně pod stejným jménem, díky čemuž se v DBF souboru něco stane a Pohoda už ho bez problémů načte. | |||
==Příprava do Pohoda Stormware== | |||
Html2dbf vytvoří 4 soubory: | |||
*neco-urok.dbf - položky úroků. Při importu tohoto souboru do Pohody nastavte předkontaci pro "úroky", typ dokladu nastavte na Příjem | |||
*neco-popl.dbf - typ dokladu "Příjem", předkontace - bankovní poplatky | |||
*neco-ostat.dbf - všechny ostatní výdaje (typ = Výdej), předkontace = úhrada faktury | |||
*neco-prisp.dbf - členské příspěvky. Typ = Příjem, předkontace = příspěvky | |||
Import souboru s 2000 položkami trvá několik minut, nelekejte se! |
Aktuální verze z 16. 4. 2009, 16:23
Import bankovních výpisů
Pohoda sice obsahuje funkci pro komunikaci s bankou přes ABO soubory a tyhle soubory není problém generovat (na to su expert), jenomže import z ABO souboru se odklikává položku po položce, u každé položky je potřeba nakliknout předkontaci, typ (příjem - výdej), atd., takže u 5000 položek to je práce pro sebevraha.
Naštěstí Pohoda umí naimportovat data i hromadně - buď přes formát mdb, nebo přes formát DBF.
U formátu mdb není žádná možnost, jak jej vytvořit ze skriptovacího ne-MS jazyka. Takže jsem šel cestou DBF, protože ten lze vytvořit v PHP pomocí extension dBase.
Příprava HTML dat
Pokud máme HTML soubory s výpisy v několika (mnoha) souborech, musíme si z nich nejdříve udělat jeden velký soubor, a to například takto:
(Pro UNIX)
#!bin/bash rm vysledek.htm for i in $( ls *htm* ); do php -f radky.php $i >>vysledek.htm; done
(Pro Windows)
del tmp.html del %2 FOR %%F IN (%1) DO "c:\Program Files\EasyPHP 3.0\php\php.exe" "c:\Program Files\EasyPHP 3.0\www\radky.php" %%F >> tmp.html copy "c:\Program Files\EasyPHP 3.0\www\hlavicka.html" %2 type tmp.html>>%2
Přičemž soubor radky.php bude obsahovat toto:
<?php foreach ($_SERVER["argv"] as $argc=>$argv) if ($argc>0 && file_exists($argv)) { $str=file_get_contents($argv, "r"); $last_table_start=strripos($str, "<table"); $first_row_start=stripos($str, "<tr",$last_table_start+6); $second_row_start=stripos($str, "<tr",$first_row_start+3); $last_row_end=strripos($str, "</tr"); $str=substr($str, $second_row_start, $last_row_end+5-$second_row_start); echo ($str); } ?>
K výslednému souboru vysledek.html je ještě potřeba přidat hlavičku a patičku, abychom dostali korektní HTML. Třeba takto:
cat vysledek.htm >> head.html cat end.html >> head.html
Konverze HTML do dBase
Pro konverzi HTML do dBase slouží PHP skript Html2dbf, viz Soubor:Html2dbf.zip. Je v něm první verze parseru, který jsem později kompletně přepsal pro potřeby Freenetisu, plus generování DBF databáze z výsledků HTML parsování.
Bohužel, PHP extension php5-dbase není v Debianu, bylo by nutné ji dokompilovat spolu s celým PHP. Nejjednodušší řešení je proto asi provozovat konverzi na Windows, kde např. balík EasyPHP extension dBase má.
Příprava dBase pro načtení do Pohoda Stormware
Další zrada: Pohoda Stormware neumí DBF soubory vyrobené extension-em dBase načíst přímo. Proto je nutné DBF soubory otevřít v Calc-u OpenOffice - při tom je důležité vybrat v import dialogu správně kódování (Východní Evropa, CP852). Pak soubor bez jakékoli změny uložíme přes "Save as" klidně pod stejným jménem, díky čemuž se v DBF souboru něco stane a Pohoda už ho bez problémů načte.
Příprava do Pohoda Stormware
Html2dbf vytvoří 4 soubory:
- neco-urok.dbf - položky úroků. Při importu tohoto souboru do Pohody nastavte předkontaci pro "úroky", typ dokladu nastavte na Příjem
- neco-popl.dbf - typ dokladu "Příjem", předkontace - bankovní poplatky
- neco-ostat.dbf - všechny ostatní výdaje (typ = Výdej), předkontace = úhrada faktury
- neco-prisp.dbf - členské příspěvky. Typ = Příjem, předkontace = příspěvky
Import souboru s 2000 položkami trvá několik minut, nelekejte se!