Import dowolnych (prawie dowolnych zapewne) plikow CSV.
zbior takich samych plikow CSV zamieniany jest na format MAGPX rozliczeniowy
wg informacji zapisanej w pliku schematu;
stad - jesli w plikach CSV dostaniemy wiecej dokumentow, pierwszy wgra sie ta funkcja,
a dalsze w opcji przyjmowania z formatu MAGPX rozliczeniowy
przy kazdym czytaniu CSV program szuka wszystkich CSV w miejscu A lub B, w zaleznosci
od tego, co podamy i uwaza, ze maja one te sama strukture.
Plik z takimi schematami to : dane\sch_csv.txt .
schemat - plik CSV, gdzie dzielnikiem jest przecinek, a ograniczeniem
tekstu cudzyslow "podwojny":
1 wiersz - liczby:
(1) pierwsza cyfra oznacza kodowanie polskich znakow
(0-Mazovia/bez zmian/brak polskich znakow,2-DOScp852,3-WinCP1250,4-WinExcel,5-ISO8859-2)
(2) druga cyfra (0=NIE,1=TAK)- czy pominac przy odczycie pierwszy wiersz
(3) trzecia cyfra to kod ASCII w ukladzie 10 znaku dzielnika CSV
(4) czwarta cyfra to kod ASCII w ukladzie 10 uszu, ktore ograniczaja tekst;
    jesli nie sa w pliku stosowane uszy, to nalezy tu wstawic kod znaku ASCII,
    ktory sie na pewno nie znajduje w pliku, np. 1 czy 255
(5) piate pole to nazwa schematu - kodowanie 3
szosta cyfra to format dat w pliku:
 0-brak dat, albo nie spelniaja nastepujacych formatow - kazda data wstawiana
 do pol dat posredniego DBF'a bedzie to po prostu "dzis"
 (znak dzielenia cyfr nie ma znaczenia):
 1-RRRR.MM.DD,2-DD.MM.RRRR,3-RR.MM.DD,4-DD.MM.RR,5-RRRRMMDD
2 wiersz - nazwy pol w CSV - nazwa pola nie moze miec wiecej, niz 25 znakow,
nie moze sie powtarzac w tym samym pliku, moze sie skladac z liter alfabetu
angielskiego, cyfr i znakow podkreslenia, zawsze sie musi zaczynac od litery
jesli w pierwszym wierszu CSV sa nazwy pol, to po weryfikacji ich nazw mozna
je skopiowac do schamatu
3 wiersz - typy pol:
	Ax, gdzie x>0 x<=255 - pola tekstowe, np. A30 (x dlugosc ciagu znakow)
	S - pola liczb dwubajtowy integer
	I - pola liczy czterobajtowy integer
	X - pola liczb zaokraglane do 7 miejsc po przecinku
        Y - pola liczb calkowitych liczacych do 22 cyfr
	N - pola liczb zmiennoprzecinkowych
	$ - pola liczb zaokraglane do dwu miejsc po przecinku (lepiej nie uzywac)
	D - pola daty - data musi byc zapisana zgodnie z norma ISO: rrrr-mm-dd,
            a jezeli nie jest, nalezy to pole zdeklarowac jako Ax o x takim,
            zeby daty sie zmiescily
nastepne 17 wierszy - schemat przenoszenia danych do DOKUMEN2.DBF -
kazdy wiersz zawiera element, ktory moze byc elementem listy SELECT dla
pliku CSV - dozwolone wszystkie funkcje SZBD PostgreSQL, ktory
jest uzywany, 

jest jeden symbol zastrzezony, bedacy ciagiem samych liter:
nazuplikux

sa symbole zastrzezone, symbolizujace ciagi znakow, zaczynajace sie od "$":
$dom_pkwiu - domyslny w MagAD kod PKWiU
$dom_vat - domyslna w MagAD stawka VAT
$ean_to_isbn17(pole) - rozkaz wstawiania nowego isbn liczonego na podstawie EAN
$isbn_to_ean(pole) - rozkaz wstawiania EAN liczonego na podstawie ISBN (nowego lub starego)
ww. "pole" to nazwa pola na podstawie sie cos liczy - jako "pole" uzywana
jest tak naprawde niezaleznie od paramrtru podanego w nawiasie wielkosc
z pola nr 14 dokumen2, poniewaz w tym polu wlasnie jest ISBN
$ean_to_isbn17(pole) - rozkaz wstawiania nowego isbn liczonego na podstawie
EAN - parametr pole to pole 10 z dokumen2


Przyklad:
3,1,59,255,"Olesiejuk faktury",0
LP,Opis,SymKar,KodKres,IloscOpk,JM,CenaWlOpk,RabP,RabatWl,Netto,Vat,Brutto
I,A250,I,Y,X,A6,X,X,X,X,X,X
'FA'
nazuplikux
current_date
symkar
opis
'd/X'
netto/iloscopk
0
iloscopk
round(100*vat/netto)
kodkres
current_date
''
''
$ean_to_isbn17(kodkres)
cenawlopk+round(100*cenawlopk*vat/netto)/100
$dom_pkwiu
jm

Program buduje z powyzszego SELECT dla wgrywanych pliko CSV, ktorego wynik
ladowany jest do DOKUMEN2.DBF .
Dlugosc wierszy czytanego CSV moze byc do 65519 znakow, ale dlugosc
pobranej jednej danej nie moze byc wieksza od 253 znakow.
W pliku schematu wszystkie linie oprocz 2 i 3 nie moga przekraczac 255 znakow.
Nazwa schematu do 20 znakow, moze byc do 12 schematow.

Jesli ilosc typow pol jest rozna od ilosci pol, program przyjmuje za ilosc
pol nizsza z ww. ilosci.
