1. Opis ogólny
Plik tekstowy
CSV Without header / With header
2. Które pliki można wymieniać w formacie CSV ?
W BM, KB, KG, MG, NA, ZO, ...
3. Definicja plików CSV (mapowanie)
3.1 Opis ogólny
3.2 Budowa tabeli
3.3 Wypełnianie tabeli
3.4 Pola kodu GS1-128
3.5 Przykłady definicji
Plik CSV ma 6 pól
Plik CSV ma 3 pola
Transformacja wartości pola
Szukanie wg regex
4. Przykłady zastosowań plików CSV
5. Tematy powiązane
1. Opis ogólny
Dane programu Trawers można wymieniać z innymi systemami w wielu formatach:
CSV, XML (SOA), EDI.
Patrz:
Formaty plików wymiany
Format CSV (Comma Separated Values) jest popularnym formatem tekstowego
zapisu danych. CSV można utworzyć i odczytać np. w Excelu.
Pliki w formacie CSV stosowane są powszechnie do wymiany danych między
systemami ERP. Większość systemów ERP ma możliwość pobierania i wysyłania
danych w formatach CSV.
Plik tekstowy
Plik danych w formacie CSV jest plikiem tekstowym (ASCII), który zawiera
wiersze (rekordy) wypełnione ciągami znaków, rozdzielonych separatorami,
zwykle przecinkami (,). Stosowane są też średniki (;)
------------------------------------------
indeks, nr lot, ilosc, cena
------------ ---------------- ---------
------------------------------------------
"123-213-444";"201x/02/23-00123";300;34,80
"123-213-555";"201x/02/23-00124";12;12,00
------------------------------------------
CSV Without header / With header
Plik CSV może zawierać:
* Tylko dane (rekordy) (en: CSV without header line),
jak w przykładzie wyżej
* Dane (rekordy) oraz nazwy kolumn (pól)
w pierwszym wierszu pliku (en: CSV with header line)
------------------------------------------
indeks, nr lot, ilosc, cena
------------- ---------------- -----------
------------------------------------------
"INDEX"; "LOTNR"; "ILOSC";"CENA" <--- Header line
"123-213-444";"201x/02/23-00123";300;34,80 (nazwy kolumn)
"123-213-555";"201x/02/23-00124";12;12,00
------------------------------------------
Tabela mapowania pozwala na opisanie struktury plików tekstowych (.CSV),
pobieranych lub wysyłanych w poszczególnych systemach.
Zapisy (definicje) w tabeli mapowanie należy utworzyć dla wszystkich
rodzajów wczytywanych i zapisywanych danych (rodzajów plików CSV).
Patrz dalej opis: Definicja plików CSV (mapowanie).
Dane pliku CSV do jednego zbioru (tabeli)
Jeden plik CSV zawiera dane dla jednego zbioru (tabeli) w bazie danych.
Np. plik: klienci.csv zawiera dane dla zbioru: NA > 002 Kartoteka odbiorców.
o-------------o
| Plik | <--- klienci.csv
| CSV |
| |
o------o------o
|
|
V
o----------------------------------------------o
| Tabela definicji plików CSV |
| (definicja mapowania) |
o---------------o--------------o---------------o
| | ^
| | |
| | o NA > 002 > Kartoteka odbiorców
| |
V V
o--------------------o
| |
| Baza danych |<--- NA > Kartoteka odbiorców
| programu Trawers | Zbiór: NA00ODff
| |
o--------------------o
klienci.csv
------------------------------------------------------------------
Kontrahent Nazwa kontrahenta Kod Miasto Ulica
---------- -------------------------- ------ ------ --------
------------------------------------------------------------------
"000001";"Odbiorca 1 Hurtownia Mondis";"81-370";"Gdynia";"Kwiatowa"
"000002";"Odbiorca 2 Firma Makowski"; "26-602";"Radom"; "Szeroka"
"900000";"Odbiorca gotówkowy Paragon"; "00-000";"";"";""
---o--- -----------o-------------- --o--- ---o-- ---o----
| | | | |
| | | | |
v v v v v
ODBDOST ODNAZWA ODKOD ODMIASTO ODULICA
^ ^ ^ ^ ^
| |
| |
o- Nazwy pól w zbiorze: NA > Kartoteka odbiorców na00odff o
2. Które pliki można wymieniać w formacie CSV
Patrz też wymianę w formacie XML (SOA):
SOA Funkcje OutBound i InBound
W programie Trawers można wymieniać następujące pliki CSV:
--------------------------------------------------------------------------------
PobieranieWysyłanie
(import) (export)
System TabCSV Plik (zbiór danych) IN IdProces OUT IdProces
------ --- ---- ----------- -------------
BM 001 Struktura produktów BOM <--- [BM_OKS60] ---> [BM_OKS70]
KB 001 Wyciągi bankowe <--- [KB_DBA14] .
Dokumenty zapłat <--- [KB_PDO10]
KB Dokumenty tabelarycznie . ---> [KB_ZKR10] ...
KG 001 Polecenia księgowania <--- [KG_DDP30] .
KG Zestawienia z Księgi Głównej . ---> [KG_ZSO1A] ...
Dokumenty księgowe <--- [KG_DDP30]
MG 001 Dokumenty magazynowe:
Przychód [PR] <--- [MG_DPZ1C] ---> [MG_DPZ1V]
Rozchód [RO] <--- [MG_DRO1C] ---> [MG_DRO1V]
Przesunięcie MM [RM,PM] <--- [MG_DMM1C] ---> [MG_DMM1V]
Korekty nadwyżki [K1] <--- [MG_DMM1V] .
Korekty niedoboru [K2] <--- [MG_DKD1C] .
W CSV podaje się pozycje dok
002 Kartoteka KIM Dopisywanie <--- [MG_PDO10] ---> [MG_PDO40]
Aktualizacja <--- [MG_PDO30]
003 PR do zam zakupu CSV GS1-128 <--- [MG_DPZ2B] .
004 RO do zam sprzed CSV GS1-128 . ---> [MG_DRO2B]
005 Kody MPN Dopisanie <--- [MG_PDO50] .
006 Kody KID <--- [MG_PDO60] .
007 Kody KIZ <--- [MG_PDO70] .
008 Atrybuty (cechy) KIM <--- [MG_PDO80] .
009 Oznaczanie LOT/SER (beta) <--- .
Patrz:
Ilości z KSOM na karty LOT/SER
010 Dokumenty [RO]. Tryb wsadowy <--- [MG_YDO31] .
W CSV są dane dla nagłówków
i dla pozycji dokumentów
011 Kartoteka KSOM <--- [MG_YDO32] .
Stany zapasów tabelarycznie . ---> [MG_ZSW81]
Zapasy LOT/SER tabelarycznie . ---> [MG_ZSB31]
Obroty mag tabelarycznie . ---> [MG_ZOB70] ...
Obroty LOT/SER tabelarycznie . ---> [MG_ZOB51] ...
MI 001 Dane ze spisu z natury <--- [MI_PIN23] .
002 Spis z natury CSV GS1-128 <--- .
003 Cenniki sprzedaży wg KIM i KID <--- [MI_OC311] ---> [MI_ZCN40]
Indeksy nie spisane . ---> [MI_PIN76]
MR Prognozy potrzeb na osi czasu . ---> [MR_ZPR11]
NA 001 Zamówienia sprzedaży <--- [NA_PDO42] .
002 Kartoteka odbiorców <--- [NA_PDO10] ---> [NA_PDO14]
(+ osoby do kontaktu)
003 Adresy dodatkowe (wysyłkowe) <--- [NA_PDO60] .
Zam sprzedaży tabelarycznie . ---> [NA_ZZC10]
Dok sprzedaży tabelarycznie . ---> [NA_ZDC10]
Należności tabelarycznie . ---> [NA_ZSO35]
NZ Statystyki sprzedaży . ---> [NZ_ZSR50]
NZ Statystyki zakupów . ---> [NZ_ZZR50]
PM Wszystkie zbiory danych . ---> [PM_ZEX30]
(wg definicji w słowniku danych)
PM RaportyXML
RO 001 Procesy technologiczne RO <--- [RO_OPT40] ---> [RO_OPT50]
002 Opisy technologiczne <--- [RO_OPT41] ---> [RO_OPT51]
SE 001 Produkty serwisowane <--- [SE_PDO10] --> [SE_PDO20]
TK 001 Tabele kursów walut . ---> [TK_PAK10]
ZA 001 Ceny dostawców (oferty) <--- [ZA_KOF20] .
<--- [ZA_KOF21]
002 Zamówienia zakupu <--- [ZA_DKZ40] ---> [ZA_DKZ50]
ZO 001 [FA] Faktury zakupu <--- [ZO_DFA11] ---> [ZO_PDO60]
[ZO_DFA12]
002 Kartoteka dostawców <--- [ZO_PDO10] ---> [ZO_PDO14]
(+ osoby do kontaktu)
003 Adresy dodatkowe <--- [ZO_PDO70] .
004 [DA] Dostawy <--- [ZO_DDA11] . (beta) patrz #00053046
ZP Zlecenia tabelarycznie . ---> [ZP_ZPZ20]
ZP Dokumenty tabelarycznie . ---> [ZP_ZDC10]
Patrz - Zestawienia tabelaryczne:
Tabelaryczne. Opis ogólnyWydruki wg wzorców do pliku CSV
xx Wydruki wg wzorców . ---> [xx_xxxxx]
(treść wydruku to plik CSV)
Patrz szczegóły:
CSV Wydruk wg wzorca do pliku CSV
-----------------------------------------------------------
Funkcje, które pobierają i wysyłają oznaczono symbolem IdProces.
IdProces, to wewnętrzny (systemowy), unikalny identyfikator funkcji.
Każda wykonywane funkcja ma unikalny IdProces.
Patrz szczegóły:
IdProces. Identyfikatory funkcji
Konkretną funkcję można znaleźć, via IdProces, w drzewie (drabince) menu -
w tym zestawieniu:
Trawers ERP. Pozycje w menu systemów (drzewo)
NOTE: Funkcje, które pobierają dane z CSV i zapisują do baz danych Trawersa
zapewniają integralność i poprawność danych po wykonaniu operacji.
Jeżeli nie zapewniają integralności, to jest to zaznaczone w opisie funkcji.
Są to zwykle funkcje o statusie: beta.
3. Definicja plików CSV (mapowanie)
3.1 Opis ogólny
Tabela mapowania
W programie Trawers ERP jest narzędzie, które umożliwia przyporządkowanie
pól w zbiorach danych do odpowiadających im pól w plikach CSV.
Dzięki tej tabeli można importować (pobierać) dane z plików CSV i eksportować
(wysyłać) dane do plików CSV.
Takim narzędziem, które umożliwia przyporzadkowanie (mapowanie) pól
jest Tabela definicji plików CSV (tabela mapowania).
Tabela mapowania pozwala na opisanie struktury plików tekstowych (.CSV),
pobieranych lub wysyłanych w poszczególnych systemach.
Tabela jest w: AD > Tabele > Definicje plików CSV [AD_TTX10]
W tabeli wskazuje się że, np. pierwszy ciąg, zawiera numer dokumentu,
drugi ciąg zawier symbol odbiorcy, trzeci - kwotę należności, itp.
Odczytane kwoty program mnoży * przelicznik. Np. 100 groszy * 0.01 = 1 zł.
Takie definicje trzeba utworzyć dla wszystkich rodzajów wczytywanych
i zapisywanych danych (rodzajów plików CSV).
Definicja często ma nazwę: Mapa (a definiowanie: mapowanie (en: Mapping))
A zbiór definicji: Atlas
3.2 Budowa tabeli
-------------------------------------------------------------------------
System: MI <--- System
Tabela: 001 Dane ze spisu z natury <--- Id tabeli (TabCSV)
Nr definicji 01 Dane ze spisu #1 <--- Nr definicji
Nazwa pliku ../mitres/miinout/spis1.csv <--- Nazwa pliku CSV
-------------------------------------------------------------------------
Ogranicznik ["] Znacznik [ ] Separator [;] Kropka dzies [,] Nagł [N] <--- Ogranicznik, Znacznik, Separator
Format daty RRRR-MM-DD Kodowanie WIN Windows EE (CP-1250) <--- Format daty, kodowanie PL
-------------------------------------------------------------------------
------------- Pole ------------- Numer --Typ-- Ułamek --Przelicznik--
Indeks 1 C 16 o
Bar kod 2 C 13 |
Nr partii LOT 3 C 16 |
Nr serii SER 4 C 25 |<--- Pola pobierane / wysyłane
Ilość w Jm zapasu 5 N 12 3 3 1.00000000 |
Cena w PLN 6 N 15 2 2 1.00000000 |
Miejsce składowania 7 C 11 |
Kod KID 8 C 30 o
-------------------------------------------------------------------------
Podaje się:
Nagłówek
System
Symbol systemu, np. MI
Tabela (TabCSV)
Identyfiktor tabeli systemie, np. w MI: 001 Spis z natury
003 Cennik
Nr definicji
Nr (identyfikator) definicji. Dla danej tabeli w systemie można ustalić wiele definicji,
01 - Dane ze spisu #1
02 - Dane ze spisu #2
Nazwa pliku CSV
Nazwa pliku, np: spis1.csv
Plik znajduje się w podkatalogu xxTRES\xxINOUT
Zamiast nazwy pliku można podać maskę np. *.csv
Program zapyta o plik po wyborze definicji.
Jeżeli plik znajduje się w podkatalogu należy podać
względną ścieżkę do pliku, np. spis\dane.csv lub spis\*.csv
Ogranicznik pól znakowych (tekstowych)
Znak, w który ujęte będą pola, np. apostrof ("):
"Jan","Kowalski","80-123","Gdynia","Konwaliowa 13"
Format CSV stosuje ogranicznik ("").
Liczby (pola numeryczne) nie są ujmowane w ograniczniki.
Znacznik pól tekstowych
[ ] spacja (domyślnie)
['] Apostrof (Arkusze Google)
Dla Arkuszy Google można wybrać apostrof [']. Wtedy pola tekstowe
zostaną wstawione jako tekst. Nie będą interpretowane jako liczby.
Np. symbol odbiorcy (w bazie danych jest to tekst):
[ ] 100001 -> w Arkuszu Google będzie liczbą
['] '100001 -> w Arkuszu Google pozostanie tekstem
Separator pól
Znak, którym rozdzielone będą pola. W CSV jest to średnik (;)
Kropka dziesiętna
Znak, który rozdziela część całkowitą i ułamkową liczby,
kropka (.) lub przecinek (,)
np. 100.20 lub 100,20
Format daty
Format, w jakim zapisane są daty w pliku CSV
np. RRRR.MM.DD
Formaty danychKodowanie
Kodowanie polskich znaków w pliku
Sposób zapisu polskich znaków diakrytycznych (ogonków)
Kodowanie polskich znaków
Pola pobierane lub wysyłane
o--------------- Pole -------------- Numer - Typ - Ułamek - Przelicznik -o
| Indeks 1 C 16 |
| Bar kod 2 C 13 |
| Nr partii LOT 3 C 16 |
| Nr serii SER 4 C 25 |
| Ilość w Jm zapasu 5 N 12 3 3 1.00000000 |
| Cena w PLN 6 N 15 2 2 1.00000000 |
| Miejsce składowania 7 C 11 |
| Kod KID 8 C 30 |
o- -o-- ------------------------------ o ------------------- o ----------o
| | |
o-<- nazwa pola (informacyjnie) o-<- numer pola |
w pliku CSV |
|
|
Program mnoży odczytaną liczbę (*) przelicznik <---o
Przelicznik
-----------
Typowe zastosowanie: w pliku jest ciąg znaków, który trzeba wpisać do pola:
Kwota w PLN. Jednakże ciąg znaków wskazuje na kwotę w groszach.
Należy podać przelicznik 0.01 np. 100 groszy * 0.01 = 1 PLN
Transformacja (zmiana)
----------------------
Pole odczytane z pliku CSV można poddać transformacji (zmianie) przed zapisaniem
wartości pola do bazy danych. Funkcje transformacji (patrz: [Zmień]):
* usunięcie spacji (puste znaki, odstępy)
(en: trim, alltrim)
* pobranie fragmentu pola, np. trzy pierwsze znaki, dwa znaki od pozycji 5
(en: substr)
* usunięcie fragmentu pola, np. dwa ostatnie znaki, trzy pierwsze, cztery od pozycji 2
(en: remleft, remright)
* usunięcie spacji w uzyskanym fragmencie
(en: alltrim)
Patrz przykłady poniżej.
Szukanie wg regex (podciąg)
---------------------------
W polu odczytywanym z pliku CSV można wyszukać interesujący
nas podciąg przy użyciu funkcji grupowania wyrażeń regularnych.
Wyrażenia regularne (regex)
Patrz przykłady poniżej.
Nr pola w pliku CSV
Program wyświetla wszystkie pola, które mogą znajdować się w pliku CSV.
Operator może pozostawić wszystkie lub tylko niektóre.
W przykładzie, do identyfikacji asortymentu wystarczy jedno z pól:
Indeks, Bar kod (kod kreskowy) lub Kod KID. Dwa pozostałe można usunąć.
Proszę zwrócić uwagę na ustawienie parametru: Numer pola w pliku CSV.
Oznacza on numer kolumny w pliku CSV, który zawiera dane pole.
Wyznacza także liczbę kolumn pliku CSV.
Gdy w pliku mają być zawarte tylko wybrane pola:
* Usunąć niepotrzebne pola
lub
* Ustawić parametr: Numer = [0] w niepotrzebnych polach
Rezultat jest taki sam, ale czytelniejsze jest rozwiązanie pierwsze.
Po usunięciu niepotrzebnych pól, w kolumnie: Numer mogą być przerwy w numeracji.
Przerwy można usunąć: Nadaj kolejne numery 1,2,3,...
Format CSV ma pola odzielone separatorami [;]. Dlatego oznaczenie długości
ma charakter orientacyjny, aby pokazać jakie rozmiary pól zwykle wczytuje
się do programu Trawers.
Kontrola poprawności definicji
NOTE: Poprawność definicji (mapowania) sprawdzana jest podczas pobierania danych.
Program podaje odpowiednie komunikaty, np. że brakuje niezbędnych pól w definicji.
Np. podczas pobierania danych spisanych w inwentaryzacji, w definicji
(i we wczytywanym pliku CSV) musi być co najmniej identyfikator asortymentu
oraz ilość spisana.
3.3 Wypełnianie tabeli
* Wypełnić nagówek - patrz wyżej opis pól nagłówka
* Wypełnić wiersze, które zawieraja definicje pól pobieranych / wysyłanych
Program automatycznie wpisuje definicje pól - korzysta ze słownika bazy danych
Zaproponowane zapisy można redagować: usuwać, dodawać, zmieniać szczegóły definicji.
Patrz też:
Baza danych. Słownik
3.4 Pola kodu GS1-128
Pola kodu GS1-128 umieszczone w definicji struktury CSV informują program,
że dane w tych polach, w czytanym pliku CSV, będą zakodowane zgodnie z regułami GS1.
Program powinen je 'rozpakować' i dekodować przy pomocy identyfikatorów zastosowań (IZ).
Etykiety GS1-128 Zastosowania
Wykorzystanie odczytanych i dekodowanych pól zależy od konkretnej funkcji
czytającej pliki CSV GS1-128, np.
* Przychody do magazynu do zamówień zakupu
Program czyta plik CSV zawierający dane o otrzymanej dostawie
* Rozchody z magazynu do zamówień sprzedaży
Program czyta plik CSV zawierający dane o artykułach przygotowanych
do wysyłki
* Inwentaryzacja w magazynie z miejscami składowania
Program czyta plik CSV zawierający dane o stanach spisanych
w magazynie przy pomocy kolektora (skanowanych): miejsce w magazynie,
identyfikacja asortymentu oraz ilość
3.5 Przykłady definicji
Plik CSV ma 6 pól
Poniższe dwie równoważne definicje zawierają tylko 3 pola.
Są one umieszczone w kolumnach: 1, 5 i 6.
"Indeks 1";;;;100;15.90
--------------------------------------------------------------------------
------------- Pole ---------------- Numer --Typ-- Ułamek --Przelicznik--
Indeks 1 C 16
Ilość w Jm zapasu 5 N 12 3 3 1.00000000
Cena w PLN 6 N 15 2 2 1.00000000
--------------------------------------------------------------------------
--------------------------------------------------------------------------
------------- Pole ---------------- Numer --Typ-- Ułamek --Przelicznik--
Indeks 1 C 16
Bar kod 0 C 13
Nr partii LOT 0 C 16
Nr serii SER 0 C 25
Ilość w Jm zapasu 5 N 12 3 3 1.00000000
Cena w PLN 6 N 15 2 2 1.00000000
Miejsce składowania 0 C 11
Kod KID 0 C 30
--------------------------------------------------------------------------
Plik CSV ma 3 pola
Poniższe dwie równoważne definicje zawierają tylko 3 pola
Są one umieszczone w kolumnach: 1, 2 i 3
"Indeks 1";100;15.90
--------------------------------------------------------------------------
------------- Pole ---------------- Numer --Typ-- Ułamek --Przelicznik--
Indeks 1 C 16
Ilość w Jm zapasu 2 N 12 3 3 1.00000000
Cena w PLN 3 N 15 2 2 1.00000000
--------------------------------------------------------------------------
--------------------------------------------------------------------------
------------- Pole ---------------- Numer --Typ-- Ułamek --Przelicznik--
Indeks 1 C 16
Bar kod 0 C 13
Nr partii LOT 0 C 16
Nr serii SER 0 C 25
Ilość w Jm zapasu 2 N 12 3 3 1.00000000
Cena w PLN 3 N 15 2 2 1.00000000
Miejsce składowania 0 C 11
Kod KID 0 C 30
--------------------------------------------------------------------------
Transformacja wartości pola
Pobieranie z pliku CSV: Wstępna transformacja wartości
Kolumna 'Zam zakupu Nr poz' zawiera zapis w postaci 'nnnZZ'
gdzie:
- nnn to numer pozycji na zamówieniu, którego dotyczy dana pozycja faktury
- ZZ to numer kolejny zamówienia na tej fakturze
Potrzeba: W pozycji zostawić tylko nnn (usunąć ZZ)
Przykład definicji, która usuwa ZZ, czyli dwa ostatnie znaki.
Wybieramy [02] USUŃ dwa znaki od pozycji -2 (minus, czyli od końca):
------------- Pole ---------------- Numer --Typ-- Ułamek --Przelicznik--
Indeks KIM 1 C 16
Ilość 2 N 15 3 3 1.00000000
Cena 3 N 15 2 2 1.00000000
Zam zakupu Nr dok 4 C 12
Zam zakupu Nr poz 5 N 3 0 0 1.00000000
|
|
| o-- Zmień pole -------------------------------------------------------------[X]o
| | |
| | ----------- Pole ------------- ---------- Nr --Typ-- Ułamek--Przelicznik-- |
+->| Zam zakupu Nr poz NRPOZ 5 N 3 0 0 1.00000000 |
| |
| Transformacja T: WE -> U -> 02 USUŃ 2 zn. od pozycji -2 -> N -> WY |
| | |
o--------------------------------|---------------------------------------------o
| F2/3-wybór z listy | |
o--------------------------------|---------------------------------------------o
|
| o------------------------------------[X]o
| | 01 Weź N znaków od wskazanej pozycji |
+-> | 02 Usuń N znaków od wskazanej pozycji |
o---------------------------------------o
| , Esc |
o---------------------------------------o
Przykład wczytywanego pliku:
nnnZZ <---- numer pozycji
"0000000001"; 1,000; 12,00 ; "000004/04/23" ; 100;
"0000000002"; 1,000; 17,00 ; "000004/04/23" ; 200;
"0000000001"; 5,000; 12,00 ; "000005/04/23" ; 101;
"0000000004"; 1,000; 32,00 ; "000005/04/23" ; 201;
"0000000003"; 1,000; 7,86 ; "000004/04/23" ; 300;
"0000000007"; 12,000; 17,10 ; "000005/04/23" ; 1501;
Szukanie wg regex (podciąg)
Plik CSV z wyciągiem bankowym może zawierać szczegóły, które identyfikują
charakter operacji bankowej: wpłata/wypłata, kontrahent,
nr dokumentu (faktury), kwota.
Te szczegóły mogą być podane w sposób uporządkowany (strukturalny) i zawierają
oznaczenia (kody) wskazujące na rodzaj danych.
W takim przypadku można zbudować definicję struktury pliku CSV i wskazać
miejsca tych danych (wpłata/wypłata, kontrahent, itd.)
Do wskazania miejsc stosuje się wyrażenia regularne (regex).
Patrz przykład wykorzystania wyrażeń regularnych (regex) do interpretacji
zapisów w CSV.
Przykład dotyczy wyciągu bankowego pobranego w formacie iPKO Biznes Elixir.
Gdy pobiera się wyciąg z przelewem: Split payment MPP.
Patrz opis:
Wyrażenia regularne (regex)
4. Przykłady zastosowań
* Pobieranie kart odbiorców
* Przesunięcie [MM] całego zapasu z magazynu AA --> BB
* Rozchód [RO] całego zapasu z magazynu AA
* Automatyczne budowanie dokumentu MM Przesunięcie magazynowe
* Przesunięcie towarów z centrali do oddziałów
* Pobieranie wyciągów bankowych z plików CSV
* Masowe zmiany w wielu rekordach
* Wiele innych zastosowań
Patrz szczegóły:
CSV Pliki. Przykłady. Zastosowania