Witam. Nie chce wyważać już otwartych drzwi jeśli chodzi o import płatności. czy ktoś podzieliłby się skryptem do importu? z góry dzięki
mam plik csv w formacie:
10-06-2014;10-06-2014;TYTUŁ PRZELEWU;IMIE NAZWISKO WŁAŚCICIELA KONTA4;konto z jakiego byl przelew;KWOTA PRZELEWU;saldo po operacji,77;1;
np. 10-06-2014;10-06-2014;DOSTĘP DO INTRENETU ZA CZERWIEC 2014 JAN KOWALSKI 00-500 WARSZAWA UL. LUBIEJEWSKA 11 ;TOMASZ NOWAK UL.WARSZAWSKA 22 00-500 WARSZAWA ELIXIR 10-06-2014;31 1020 1185 0000 4102 0134 7384;39,90;3000,77;1;
Eksport robiony jest z banku bzwbk i nie wiem co to są te dwie ostatnie pozycje.
no własnie nie, było by to proste parsowac po koncie, ale niestety musze po ID, nazwisku, nr faktury, adresie itp., po wszystkim tym by najlepiej dopasować to co klienci wpisują
W dniu 11 czerwca 2014 14:42 użytkownik Paweł Rohde pawel@rohde.pl napisał:
W dniu 11.06.2014 14:38, Marcin pisze:
Eksport robiony jest z banku bzwbk i nie wiem co to są te dwie ostatnie pozycje.
Masz indywidualne konta dla klientów?
-- pozdrawiam [ Paweł Rohde ]
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
no własnie nie, było by to proste parsowac po koncie, ale niestety musze po ID, nazwisku, nr faktury, adresie itp., po wszystkim tym by najlepiej dopasować to co klienci wpisują
Powinno być tam pole z numerem konta, ale TWOIM numerem. Jeśli masz subkonta klienckie, to ID to ostatnie cyfry numeru konta. My parsujemy wyłącznie po saldzie, bo inaczej po prostu się nie da. Ludzie wpisują takie głupoty w tytułach przelewu, że strach.
parsowanie po saldzie nie jest idealne, u nas niektórzy mając zobowiązanie 49,90 wpłacaja 50zł i wowczas parsowanie leży :/
niestety na chwilę obecną i w najbliższym czasie nie będzie subkont, pozaty jak już się zrobi masówki, to każdemu trzeba rozesłać "zmianę konta" i zanim się przestawią to minie ze dwa lata.
W dniu 11 czerwca 2014 14:50 użytkownik Rafał Wójcik rw@awbnet.pl napisał:
no własnie nie, było by to proste parsowac po koncie, ale niestety musze po ID, nazwisku, nr faktury, adresie itp., po wszystkim tym by najlepiej dopasować to co klienci wpisują
Powinno być tam pole z numerem konta, ale TWOIM numerem. Jeśli masz subkonta klienckie, to ID to ostatnie cyfry numeru konta. My parsujemy wyłącznie po saldzie, bo inaczej po prostu się nie da. Ludzie wpisują takie głupoty w tytułach przelewu, że strach.
-- Rafał Wójcik AWB-NET | eDial Internet ul. Wrocławska 42, 56-400 Oleśnica Telefon: 71 398 26 20 – E-mail: rafal.wojcik@gmail.com lub rw@awbnet.pl _______________________________________________ lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
parsowanie po saldzie nie jest idealne, u nas niektórzy mając zobowiązanie 49,90 wpłacaja 50zł i wowczas parsowanie leży :/
niestety na chwilę obecną i w najbliższym czasie nie będzie subkont, pozaty jak już się zrobi masówki, to każdemu trzeba rozesłać "zmianę konta" i zanim się przestawią to minie ze dwa lata.
Jest idealne. Nie zrozumiałeś idei działania. Bierzesz ostatnie cztery cyfry konta i to jest ID klienta. Pozostałe wartości z każdej linii tego co daje Ci bank parsujesz i wrzucasz do bazy. Wtedy nie interesuje Cię czy to jest 49,90 czy 49,95 zł. Liczy się TYLKO ID klienta, a to zgadza się zawsze. Teraz jasno? :)
W dniu 11 czerwca 2014 15:01 użytkownik Rafał Wójcik rw@awbnet.pl napisał:
Jest idealne. Nie zrozumiałeś idei działania. Bierzesz ostatnie cztery cyfry konta i to jest ID klienta. Pozostałe wartości z każdej linii tego co daje Ci bank parsujesz i wrzucasz do bazy. Wtedy nie interesuje Cię czy to jest 49,90 czy 49,95 zł. Liczy się TYLKO ID klienta, a to zgadza się zawsze. Teraz jasno? :)
pod warunkiem, że masz płatności masowe to jak najbardziej nie ma lepszego sposobu. ale ja nie mam masówek i muszę parsować z pola tytuł i właściciel :/
W dniu 11.06.2014 14:58, Marcin napisał(a):
parsowanie po saldzie nie jest idealne, u nas niektórzy mając zobowiązanie 49,90 wpłacaja 50zł i wowczas parsowanie leży :/
niestety na chwilę obecną i w najbliższym czasie nie będzie subkont, pozaty jak już się zrobi masówki, to każdemu trzeba rozesłać "zmianę konta" i zanim się przestawią to minie ze dwa lata.
E tam nie przesadzaj - już pierwsza wysyłka faktur ze zmienionym numerem rachunku oraz z oddzielną kartą informującą o fakcie zmiany rachunku daje duży efekt!
W dniu 11 czerwca 2014 14:50 użytkownik Rafał Wójcik rw@awbnet.pl napisał:
no własnie nie, było by to proste parsowac po koncie, ale niestety musze po ID, nazwisku, nr faktury, adresie itp., po wszystkim tym by najlepiej dopasować to co klienci wpisują
Powinno być tam pole z numerem konta, ale TWOIM numerem. Jeśli masz subkonta klienckie, to ID to ostatnie cyfry numeru konta. My parsujemy wyłącznie po saldzie, bo inaczej po prostu się nie da. Ludzie wpisują takie głupoty w tytułach przelewu, że strach.
-- Rafał Wójcik AWB-NET | eDial Internet ul. Wrocławska 42, 56-400 Oleśnica Telefon: 71 398 26 20 – E-mail: rafal.wojcik@gmail.com lub rw@awbnet.pl _______________________________________________ lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
W dniu 11.06.2014 14:58, Marcin napisał(a):
parsowanie po saldzie nie jest idealne, u nas niektórzy mając zobowiązanie 49,90 wpłacaja 50zł i wowczas parsowanie leży :/
niestety na chwilę obecną i w najbliższym czasie nie będzie subkont, pozaty jak już się zrobi masówki, to każdemu trzeba rozesłać "zmianę konta" i zanim się przestawią to minie ze dwa lata.
E tam nie przesadzaj - już pierwsza wysyłka faktur ze zmienionym numerem rachunku oraz z oddzielną kartą informującą o fakcie zmiany rachunku daje duży efekt!
Zgadzam się. Nie staraj się uniknąć subkont, bo tego nie ominiesz. Im szybciej je wdrożysz, tym prędzej będziesz miał więcej czasu na inne rzeczy.
W dniu 11 czerwca 2014 15:26 użytkownik Rafał Wójcik rw@awbnet.pl napisał:
Zgadzam się. Nie staraj się uniknąć subkont, bo tego nie ominiesz. Im szybciej je wdrożysz, tym prędzej będziesz miał więcej czasu na inne
i chyba tak zrobie, że powiem bosowi, że nie da się tak dobrze parsować bo ludzie głupoty piszą itd.
a ten parser po kontach, podzielisz się?
W dniu 11.06.2014 15:37, Marcin pisze:
W dniu 11 czerwca 2014 15:26 użytkownik Rafał Wójcik rw@awbnet.pl napisał:
Zgadzam się. Nie staraj się uniknąć subkont, bo tego nie ominiesz. Im szybciej je wdrożysz, tym prędzej będziesz miał więcej czasu na inne
i chyba tak zrobie, że powiem bosowi, że nie da się tak dobrze parsować bo ludzie głupoty piszą itd.
a ten parser po kontach, podzielisz się?
Jak będziesz miał w wbk to mogę ci wysłać.
W dniu 11 czerwca 2014 15:40 użytkownik Paweł Rohde pawel@rohde.pl napisał: k będziesz miał w wbk to mogę ci wysłać.
będzie w bzwbk
W dniu 2014-06-11 14:58, Marcin pisze:
parsowanie po saldzie nie jest idealne, u nas niektórzy mając zobowiązanie 49,90 wpłacaja 50zł i wowczas parsowanie leży :/
niestety na chwilę obecną i w najbliższym czasie nie będzie subkont, pozaty jak już się zrobi masówki, to każdemu trzeba rozesłać "zmianę konta" i zanim się przestawią to minie ze dwa lata.
Witam, Sprawdzone empirycznie - po 2-3 miesiące. Po tym terminie zostaje ci ~1 % wpłacających na stare konto. Oni sa nie reformowalni.
np. 10-06-2014;10-06-2014;DOSTĘP DO INTRENETU ZA CZERWIEC 2014 JAN KOWALSKI 00-500 WARSZAWA UL. LUBIEJEWSKA 11 ;TOMASZ NOWAK UL.WARSZAWSKA 22 00-500 WARSZAWA ELIXIR 10-06-2014;31 1020 1185 0000 4102 0134 7384;39,90;3000,77;1;
Eksport robiony jest z banku bzwbk i nie wiem co to są te dwie ostatnie pozycje.
Opis formatu powinien dać bank. Według mnie te dwie ostatnie wartości są do wywalenia.
tak, mam układ danych
LP Nazwa pola Długość pola Rodzaj danych Komentarz
1 Data księgowania =10 data Format: RRRR-MM-DD
2 Data operacji =10 data Format: RRRR-MM-DD
3 Tytuł operacji <=140 alfanumeryczne Dozwolone znaki: 0-9 A-Z a-z ` ! @ # $ % ^ & * ( ) _ + - = [ ] { } ; : , . ? / spacja oraz polskie znaki diakrytyczne.
4 Dane strony operacji <=140 alfanumeryczne Dozwolone znaki: 0-9 A-Z a-z ` ! @ # $ % ^ & * ( ) _ + - = [ ] { } ; : , . ? / spacja oraz polskie znaki diakrytyczne.
5 Rachunek strony operacji =32 numeryczne Numer rachunku w standardzie NRB
6 Kwota <=13 numeryczne Format: zzzzzzzzzz,gg
7 Saldo <=13 numeryczne Format: zzzzzzzzzz,gg
8 Pozycje historii <=4 numeryczne Dozwolone znaki: 0-9
W dniu 11 czerwca 2014 14:46 użytkownik Rafał Wójcik rw@awbnet.pl napisał:
np. 10-06-2014;10-06-2014;DOSTĘP DO INTRENETU ZA CZERWIEC 2014 JAN KOWALSKI 00-500 WARSZAWA UL. LUBIEJEWSKA 11 ;TOMASZ NOWAK UL.WARSZAWSKA 22 00-500 WARSZAWA ELIXIR 10-06-2014;31 1020 1185 0000 4102 0134 7384;39,90;3000,77;1;
Eksport robiony jest z banku bzwbk i nie wiem co to są te dwie ostatnie pozycje.
Opis formatu powinien dać bank. Według mnie te dwie ostatnie wartości są do wywalenia.
-- Rafał Wójcik AWB-NET | eDial Internet ul. Wrocławska 42, 56-400 Oleśnica Telefon: 71 398 26 20 – E-mail: rafal.wojcik@gmail.com lub rw@awbnet.pl _______________________________________________ lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
W dniu 2014-06-11 14:49, Paweł Rohde pisze:
W dniu 11.06.2014 14:48, Marcin pisze:
tak, mam układ danych
zrób sobie w wbk indywidualne konta, nie ma co się bawić w na końcu ręczne poprawianie błędów, szkoda czasu.
Ktoś się chwalił na jakiejś grupie że sprawdza po polu tytułem i tak sprawdza ID jak klient wpisze potem Nazwisko Imię porównuje z danymi z bazy oraz adresem oznacza jakoś (kolorami ) zielony ok (pomarańcz) coś tam , czerwony nie dopasowane automatycznie.
Poszukaj może znajdziesz
pz Radek
W dniu 2014-06-11 16:19, Biuro Digi Com ISP pisze:
W dniu 2014-06-11 14:49, Paweł Rohde pisze:
W dniu 11.06.2014 14:48, Marcin pisze:
tak, mam układ danych
zrób sobie w wbk indywidualne konta, nie ma co się bawić w na końcu ręczne poprawianie błędów, szkoda czasu.
Ktoś się chwalił na jakiejś grupie że sprawdza po polu tytułem i tak sprawdza ID jak klient wpisze potem Nazwisko Imię porównuje z danymi z bazy oraz adresem oznacza jakoś (kolorami ) zielony ok (pomarańcz) coś tam , czerwony nie dopasowane automatycznie.
Poszukaj może znajdziesz
To był skrypt do obsługi mBanku, ale pewnie da się dopasować
też to widziałem i szukam tego skryptu :)
W dniu 11 czerwca 2014 16:19 użytkownik Biuro Digi Com ISP < biuro@digicom.net.pl> napisał:
W dniu 2014-06-11 14:49, Paweł Rohde pisze:
W dniu 11.06.2014 14:48, Marcin pisze:
tak, mam układ danych
zrób sobie w wbk indywidualne konta, nie ma co się bawić w na końcu ręczne poprawianie błędów, szkoda czasu.
Ktoś się chwalił na jakiejś grupie że sprawdza po polu tytułem i tak
sprawdza ID jak klient wpisze potem Nazwisko Imię porównuje z danymi z bazy oraz adresem oznacza jakoś (kolorami ) zielony ok (pomarańcz) coś tam , czerwony nie dopasowane automatycznie.
Poszukaj może znajdziesz
pz Radek
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
W dniu 11 czerwca 2014 18:08 użytkownik Radosław Maślanek radoslaw.maslanek@gmail.com napisał:
Ktoś się chwalił na jakiejś grupie że sprawdza po polu tytułem i tak sprawdza ID jak klient wpisze potem Nazwisko Imię porównuje z danymi z bazy oraz adresem oznacza jakoś (kolorami ) zielony ok (pomarańcz) coś tam , czerwony nie dopasowane automatycznie.
Poszukaj może znajdziesz
też to kiedyś widziałem, było to chyba na inet-lms coś tak mi się kojarzy
wydaje mi się, że do czasu przejścia na masówki moge użyć improtu z pliku i poedytować modules/cashimportcfg.php. czy tylko to musze zmienić?? format danych w pliku tekstowym jak w pierwszych wiadomościach.
przerobiłem cashimportcfg.php na coś takiego:
#v+ $patterns[] = array( 'id' => NULL, // import source identifier (from 'cashsources' table) 'pattern' => "/^(.*);(.*);(.*);(.*);(.*);(.*);(.*);(.*);(.*);/", 'pid' => 0, // customer ID position in expression // if zero - we try to search ID by regexp, // invoice number or customer name and forename in entire line 'pname' => 4, // name position 'plastname' => 4, // forename position 'pvalue' => 6, // value position 'pcomment' => 3, // operation comment position 'pdate' => 2, // date position
'date_regexp' => '/([0-9]{2})-([0-9]{2})-([0-9]{4})/', // date format (dd.mm.yyyy) 'pday' => 1, 'pmonth' => 2, 'pyear' => 3,
'pid_regexp' => '/.*[IDid][:-/\b+]([0-9]{0,4}).*/i', // if 'pid' is not specified // try to find it by regexp
'invoice_regexp' => '/.*(\d+)/(d+)/([0-9]{4}).*/',// format of invoice number // default %N/LMS/%Y 'pinvoice_number' => 1, // position of invoice number in $invoice_regexp 'pinvoice_year' => 3, // year position in $invoice_regexp 'pinvoice_month' => 2, // month position in $invoice_regexp
'encoding' => 'UTF-8', // imported data encoding (for conversion)
'modvalue' => 0, // if not zero do value = value * modvalue 'use_line_hash' => FALSE, // create md5 hash for whole import line instead of // time, value, customer name and comment 'line_idx_hash' => FALSE, // include line number into hash data );
#v-
w konfiguracji w phpui dodałem opcje import_config = cashimportcfg.php, w źródłach importu dodałem źródło o nazwie cashimportcfg.php (wydaje mi się że nazwę można wpisać dowolną, to się do niczego nie odnosi :/)
wczytuję teraz plik tekstowy i niestety nic nie jest rozpoznane, w błędach wyświetlają sie wszystkie linie z pliku :/
gdzieś popełniłem chyba czeski błąd. podpowie ktoś jak to uruchomić?
W dniu 11 czerwca 2014 19:28 użytkownik Marcin marcin@nicram.net napisał:
wydaje mi się, że do czasu przejścia na masówki moge użyć improtu z pliku i poedytować modules/cashimportcfg.php. czy tylko to musze zmienić?? format danych w pliku tekstowym jak w pierwszych wiadomościach.
http://lists.lms.org.pl/pipermail/lms/2013-October/027162.html tego szukałeś ?
Pozdrawiam DeCha
W dniu 2014-06-11 18:48, Marcin pisze:
W dniu 11 czerwca 2014 18:08 użytkownik Radosław Maślanek radoslaw.maslanek@gmail.com napisał:
Ktoś się chwalił na jakiejś grupie że sprawdza po polu tytułem i tak sprawdza ID jak klient wpisze potem Nazwisko Imię porównuje z danymi z bazy oraz adresem oznacza jakoś (kolorami ) zielony ok (pomarańcz) coś tam , czerwony nie dopasowane automatycznie.
Poszukaj może znajdziesz
też to kiedyś widziałem, było to chyba na inet-lms coś tak mi się kojarzy
jup. dzięki :)
W dniu 11 czerwca 2014 20:51 użytkownik DeCha Computers decha@provider.pl napisał:
http://lists.lms.org.pl/pipermail/lms/2013-October/027162.html tego szukałeś ?
Pozdrawiam DeCha
W dniu 2014-06-11 18:48, Marcin pisze:
W dniu 11 czerwca 2014 18:08 użytkownik Radosław Maślanek radoslaw.maslanek@gmail.com napisał:
Ktoś się chwalił na jakiejś grupie że sprawdza po polu tytułem i tak sprawdza ID jak klient wpisze potem Nazwisko Imię porównuje z danymi z
bazy
oraz adresem oznacza jakoś (kolorami ) zielony ok (pomarańcz) coś tam , czerwony nie dopasowane automatycznie.
Poszukaj może znajdziesz
też to kiedyś widziałem, było to chyba na inet-lms coś tak mi się kojarzy
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
W dniu 11 czerwca 2014 20:51 użytkownik DeCha Computers decha@provider.pl napisał:
http://lists.lms.org.pl/pipermail/lms/2013-October/027162.html tego szukałeś ?
generalnie tak, to właśnie obiło mi się o oczy. ale na chwilę obecną nie potrzebuję przerabiać kilku plików jak trzeba jednynie poprawnie zrobić regexa w cashimportcfg.php.
widzę, ze właśnie w tym patternie coś pokręciłem, że mi nic nie wyłuskuje
Jak zrobicie do git'a to wrzućcie na forum.... Kolega tam opisywał dla mBank również mógłby się podzielić :D
Pozdrawiam DeCha
W dniu 2014-06-11 20:56, Marcin pisze:
W dniu 11 czerwca 2014 20:51 użytkownik DeCha Computers decha@provider.pl napisał:
http://lists.lms.org.pl/pipermail/lms/2013-October/027162.html tego szukałeś ?
generalnie tak, to właśnie obiło mi się o oczy. ale na chwilę obecną nie potrzebuję przerabiać kilku plików jak trzeba jednynie poprawnie zrobić regexa w cashimportcfg.php.
widzę, ze właśnie w tym patternie coś pokręciłem, że mi nic nie wyłuskuje
nie wiem jak ja liczyłem te pola w pliku z banku, ale naliczyłem tam 9 pól i taki pattern robiłem. nie dziwne, że nic nie łapał jak pól jest 8 :)
ale nie jest tak kolorowo w pliku importu mam 69 wierszy a import widzi tylko 64 a dla pozostałych 5 na dole mam błąd:
#v+ Zapytanie: INSERT INTO cashimport (date, value, customer, customerid, description, hash, sourceid, sourcefileid) VALUES (1402351200, '49.00', 'MIROSŁAW JERZY ZIELSKI WS. NAZWA PASKI 5 99-999 MIASTO ELIXIR 09-06-2014 MIROSŁAW JERZY ZIELSKI WS. NAZWA PASKI 5 99-00 MIASTO ELIXIR 09-06-2014', '', 'ID: 1768 ZIELSKA BEATA NAZWA PASKI 5 99-99 MIASTO OPŁATA ZA CZERWIEC 2014', '573e6007207e8ffe83537758f892c09e', 1, '7') Błąd: Cannot add or update a child row: a foreign key constraint fails (`lms`.`cashimport`, CONSTRAINT `cashimport_ibfk_1` FOREIGN KEY (`customerid`) REFERENCES `customers` (`id`) ON DELETE SET NULL ON UPDATE CASCADE) #v-
czemu na tych wierszach się wywala a na pozostałych nie?? jest to dira.
W dniu 11 czerwca 2014 21:56 użytkownik Marcin marcin@nicram.net napisał:
czemu na tych wierszach się wywala a na pozostałych nie??
już jasne. w tych liniach nie było dopasowane ID :)
uczestnicy (9)
-
Arturz
-
Biuro Digi Com ISP
-
DeCha Computers
-
Jarosław Dziub
-
Marcin
-
Paweł Rohde
-
Radosław Maślanek
-
Rafał Wójcik
-
Tomasz Chiliński