Import dokladů z CSV/DBF formátu

Z K.A.P.
Skočit na navigaciSkočit na vyhledávání

Program nabízí možnost importovat doklady z externích skladových systémů. Import dokladu je možné vyvolat z menu nebo spuštěním skladového programu s parametrem CSV:jméno_souboru. Program nejdříve načte data do přenosového souboru a odtud je možné doklad zaevidovat do příjemky (nebo i do jiného dokladu).
Pomocí číselníku 98 Importní formáty CSV lze definovat výrazy umožňující mapování zdrojových dat na databázová pole skladového programu.

Formát CSV souborů

Pro přenos dat je jednodušší, pokud jsou data umístěny v jednom souboru (umožní to např. po kliknutí na přílohu v poštovním programu rovnou otevřít skladový program).

Používá se proto tato struktura souboru (platí pro import z textového formátu):

 *DOKHL;Doklad,TypDokladu,Datum,DatumUZP,ICO,DIC,Jmeno,Jmeno2,Ulice,Mesto,PSC,CisloDL,Poznamka,Mena,Sleva
....hlavička dokladu....
 *DOKRD;KodZbozi,Mnoz,Cena,SazbaDPH,KsBal,Sleva,TypKarty,Nazev,Skupina,Skupina2,Jednotka,EAN,EANbal,Poznamka,Vyrobce,Hmotnost
....položky dokladu....

Příklad
*DOKHL;Doklad,TypDokladu,Datum,DatumUZP,ICO,DIC,Jmeno,Jmeno2,Ulice,Mesto,PSC,CisloDL,Poznamka,Mena,Sleva

165123,5,18/02/2002,"18/02/2002","48154393","238-48154393","VESKO Jičín, spol. s r.o.",,"Dělnická 15","Jičín","506 01","916512","Pokus",,,

*DOKRD;KodZbozi,Mnoz,Cena,SazbaDPH,KsBal,Sleva,TypKarty,Nazev,Skupina,Skupina2,Jednotka,EAN,EANbal,Poznamka,Vyrobce,Hmotnost

"6J548451",1,182.12,22,1,0,,"Tyč kavárenská bílá 135","6001",,"ks",,,"Pokus",,
"6J549030",5,44.61,22,6,0,"Z","Tyč kavárenská bílá 135","6001","AB","ks",
"8590000000000","85920000000000","Pokus","XY",0.3

Každá položka dokladu (řádek faktury) je v souboru na jednom samostatném řádku. Na jednom samostatném řádku jsou i záhlaví (dokladu i položek) a data z hlavičky dokladu. Řádky jsou odděleny znaky CR LF.
Jednotlivé položky v řádku jsou odděleny čárkou nebo tabelátorem. Řádky mohou být zakončeny středníkem. Údaje mohou být umístěny v uvozovkách (a to i číselné údaje). Případné uvozovky uvnitř textu je vhodné nahradit dvojicí uvozovek nebo uvozovky nahradit jiným obdobným znakem např. `. Kódování češtiny je libovolné (z hlediska programu je to výhodné v pořadí: Kamenicky / LATIN2 / Windows).
Ceny jsou uváděny v cenách bez DPH. Typ zboží může rozlišovat např. obaly. Většina položek z hlavičky dokladu není využívána. Podstatné údaje jsou Doklad, Datum, ICO (IČO dodavatele). Ostatní údaje v CSV databázi vůbec nemusí existovat (ale neuškodí). V databázi mohou být navíc také libovolné další údaje (např. Zakazka, Banka, OdbICO, OdbJmeno, OdbMesto, OdbPSC apod.), importní program je bude ignorovat.
Pořadí položek v řádku je nevýznamné, samozřejmě to co je v nadpisu musí být na odpovídajícím místě v datové části. Prázdné a nulové údaje vůbec nemusí být uvedeny (za čárkou následuje další čárka).
Podobně to platí i pro položky faktury (pro změnu ale zde většina údajů bude využita). Mimo některé klíčové položky nemusí být ale většina údajů v databázi definována.
Pojmenování souboru může být libovolné (vč. dlouhých názvů – doporučujeme však raději použít klasické max.8 znaků pro jméno souboru). Přípona souboru by měla být CSV (může to však kolidovat s Excelem, který tyto tabulky taky umí načíst). Může však být i jiná, ale raději taková, která se běžně nepoužívá (nevhodné je např .TXT). Pro snazší orientaci by snad bylo dobré, pokud by jméno souboru obsahovalo číslo dokladu.
Pokud by dělalo problémy rozdělení jednoho souboru do 2 sekcí (hlavička *DOKHL a položky *DOKRD), pak je možné do CSV souboru uvádět pouze položky dokladu (*DOKRD), ale je třeba do nich doplnit ještě Doklad, Datum a ICO (do každého řádku dokladu).
Naopak určitým zjednodušením může být, pokud by data obsahovali i třetí sekci:

 *DOKKARTY; KodZbozi, Cena, SazbaDPH, KsBal, TypKarty, Nazev,Skupina, Skupina2, Jednotka, EAN, EANbal, Poznamka, Vyrobce,Hmotnost
...skladové karty (pouze za položky z dokladu)...

V takovémto případě by tyto údaje již nemuseli být v sekci *DOKRD (musí tam zůstat KodZbozi, Mnoz, Cena, SazbaDPH). Údaj "Cena" je v tomto případě ceníková prodejní cena dodavatele (může se lišit od ceny v položce v dokladu).

Program nabízí obdobnou možnost importu dokladů z DBF formátu. Jména položek jsou analogická se jmény v textovém formátu CSV (pouze sekce *DOKRD) - program nevyžaduje sekci s hlavičkou dokladu (*DOKHL), stačí pokud DOKLAD, DATUM a IČO je v položkách dokladu (*DOKRD). V jednom DBF souboru může být uložen pouze jeden doklad

Upraven import dokladů z CSV nebo DBF: lze definovat vstupní převodní číselník, ve kterém lze určit, která položka ve vstupním souboru odpovídá jaké položce v databázi (př. OPE.Pocet=FMnozstvi).
Zpracovány jsou tyto položky:DOK.CISLODOKL, DOK.CISLOOBJ, DOK.DATODESLAN, DOK.CISLODL, DOK.POZNAMKA, OPE.CISLODOKL, OPE.DATUM, OPE.STAVPOL, OPE.XKOD,OPE.KOD, OPE.EAN, OPE.TYPKARTY, OPE.POCET, OPE.CENASDPH, OPE.CENA, OPE.PROCDPH, OPE.NAZEV, OPE.JEDNOTKA, OPE.SKUPINA, OPE.SKUPINA, OPE.ZARAZENI, OPE.BALENI, OPE.HMOTNOST, OPE.ODBERU, OPE.ZARUKA, OPE.VYROBCE, OPE.EANBALENI, OPE:CISLOSHODA, OPE.POZNAMKA a také obdobné položky s předponou KAR. Lze používat i výrazy (např. OPE.Kod=FSkp+FMater)


Technická poznámka
kód menu 1,49 import dodacích dokladů
kód menu 2,49 import příjmových dokladů
Vhodné umístění Menu: Převody nebo PřevodyImp


Technická poznámka - Proměnné
DirCSV určuje adresář, který se použije při ručním importu souboru v menu