Mam za zadanie wyluskiwac dane z plikow txt eksportowanych do formatu jak nizej:
NazwaFirmy Sp. z o.o. Zamówienie od odbiorcy DZ/0997/14
ul. UlicaFirmy 123 Oryginał
99-999 KodPocztowy Data i miejsce wystawienia: 2013-03-15 Miasto
NIP: 9999999999 Data operacji: 2013-03-15Biuro rachunkowe
"Nazwa Biura Rachunkowego"" SP. Z O.O.Sp.K."
NIP: 999-999-88-88Magazyn: Magazyn wyrobów - handlowy 1
Odbiorca:
"Nazwa Odbiorcy ze wszystkimi skrotami"
ul. UlicaOdbiorcy 71 A
99-999 KodOdbiorcy
NIP: 5555555555
Lp. Kod towaru Nazwa towaru Cena Rabat CenaPoRabacie Ilość jm. Wartość1 fgj23mdjvi4da Nazwa Towaru w systemie ERP 65 0 00% 65 100 szt 6500
Nazwa Rozszerzona 1
2 dmajb93nakeib Normalna Nazwa 12 0 00% 12 20 szt 2403 3ngkanflow96n Dziwna 328x, nazwa 76 0 00% 76 30 szt 2280
4 gmalburkaje92 Wyrob z grupy o stalej dlugosci nazwy 385 0 00% 385 20 szt 7
Nazwa rozszerzona 2
5 fjka73mpoa825 Wyrob-o-takiej-nazwie 5 0 00% 5 5 szt 256 dk239gmajkwo3 Jakis wyrob 6 5 0 00% 5 1 szt 5
Suma: 9530
Podsumowanie ilości: 176 szt
Czasami uwagi sa tu
w wielu liniach
Opiekun klienta:
Ilość palet/paczek:
Wysokość palet:
Rodzaj palet:
Materiały reklamowe / reklamacje:
Proponowany termin realizacji:
Informacje dodatkowe/uwagi: a czasami zaczynaja sie tu
i przechodza do kolejnych liniiSprawdził:
Imie NazwiskoWystawiajacego
.................................................. ..................................................
Podpis osoby uprawnionej do wystawienia dokumentu Podpis osoby upoważnionej do otrzymania dokumentu
SĄD REJONOWY W MIESCIE WYDZIAŁ GOSPODARCZY KRS
©programERP 2013 124.23.10598.579654 sn: 346872159
Interesują mnie dane z tych plików, które wytłusciłem:
- Sygnatura dokumentu - pierwsza linia po "Zamówienie od odbiorcy"
- Data wystawienia dokumentu - w linii trzeciej, "2013-03-13"
- Nazwa Odbiorcy - w linii 12
- Wszystkie pozycje zamowienia - konkretnie kolumny: LP, Kod Towaru, Nazwa Towaru, Ilość, jm
- Uwagi wpisywane recznie w dwóch róznych lokalizacjach
Pewniki:
- dokument ma format niezmienny,
- jedyne co się zmienia to liczba linii pozycji zamowienia i uwagi wystepujace w dwoch lokalizacjach albo nie wystepujace w ogóle.
Moj sposob odczytywania:
- sygnatura, data wystawienia i nazwa odbiorcy moge na sztywno przypisac w ktorej linii te dane sa i z ktorej pozycji stringa je brac
- pozycje zmowienia:
- mam taki pomysl aby wszystkie linie ktore wystepuja miedzy liniami zaczynającymi się na "Lp." i "Podsumowanie ilosci:" traktowac jako pozycje zamowienia
- do pojedynczej pozycji zamowienia dobierac się przez Split'a calej linii po bialych znakach, ale ze w "Nazwa Towaru" tez sa spacje to kolumny "Lp." i "Kod Towaru" odczytywac z tablicy po splicie z pozycji [0] i [1] a pozostale dane pobierac z tablicy po Splicie od konca, z czego "Nazwa towaru" bedzie skladana z pozycji tablicy od [3] do [rozmiar tablicy-8]
- w niektorych pozycjach zamowienia sa tez "Nazwy rozszerzone" ktore zawsze wystepuja w nastepnej linii konkretnej pozycji zamowienia
- uwagi do zamowienia chyba trzeba by bylo odczytywac z przedzialow miedzy liniami zaczynajacymi sie na "Podsumowanie ilości:", "Opiekun klienta: " LUB "Informacje dodatkowe/uwagi:","Sprawdził:"
I teraz moje pytania:
- Czy da sie jakos usprawnic, ulatwic dostep do tych danych? Czy nie ma innej drogi niz robic to na piechote z mnostwem warunkow?
- Szczegolnie interesuje mnie uproszczenie wyciagania danych z pozycji zamowienia, da sie to jakos zrobic na wyrazeniach regularnych (komplet danych pozycji zamowienia jest w 2 liniach)
- Czy sprawdzanie tych przedzialow w ktorych spodziewac sie linii zawierajacych uwagi lub wszsytkie pozycje zamwoienia czy mozna to zrobic jakos inaczej?
- przyklad_dokumentu_ZO.txt (4 KB) - ściągnięć: 195