ProstaPaczka2

ProstaPaczka2 => Sello => Wątek zaczęty przez: maniootek w Maj 30, 2023, 11:56:13 am

Tytuł: INVALID_PICKUP_POINT_FORMAT
Wiadomość wysłana przez: maniootek w Maj 30, 2023, 11:56:13 am
W programie ProstaPaczka v23.5.0 nie pobierało punktu odbioru z Paczki Sello podczas tworzenia listu. W wersji v23.5.1 zostało to poprawione i teraz pobiera dane ale jest problem, jeżeli w danych punktu odbioru są dwie wartości umieszczone w nawiasie.
Chodzi o przesyłki "Allegro Wysyłka z Polski do Czech - Automaty Paczkowe Packeta"
Dokładniej zostało to opisane tutaj:
https://forum.insert.com.pl/index.php?/topic/81102-automaty-paczkowe-packeta/page/2/#comment-415426
Tytuł: Odp: INVALID_PICKUP_POINT_FORMAT
Wiadomość wysłana przez: Tomek w Maj 30, 2023, 02:56:49 pm
Czy po zastosowaniu rozwiązania zaproponowanego przez Pana Bartosza (konfiguracja WzA w Sello) problem nadal występuje?
Tytuł: Odp: INVALID_PICKUP_POINT_FORMAT
Wiadomość wysłana przez: maniootek w Maj 30, 2023, 02:58:01 pm
To co Pan Bartosz zasugerował dotyczy konfiguracji nadawania przesyłek przez Sello a nie przez program ProstaPaczka więc to nie ma znaczenia.
Tytuł: Odp: INVALID_PICKUP_POINT_FORMAT
Wiadomość wysłana przez: Tomek w Maj 31, 2023, 08:14:08 am
Odnoszę wrażenie, że to o czym pisze Pan Bartosz, dotyczy umieszczania id punktu odbioru w polu ID punktu, z którego PP2 pobiera sobie identyfikator punktu.
Tytuł: Odp: INVALID_PICKUP_POINT_FORMAT
Wiadomość wysłana przez: Tomek w Maj 31, 2023, 08:16:38 am
Proszę wysłać screen z paczki Sello oraz screen z formularza listu w PP2 na adres office@lcsoft.pl
Tytuł: Odp: INVALID_PICKUP_POINT_FORMAT
Wiadomość wysłana przez: maniootek w Maj 31, 2023, 11:11:52 am
Odnoszę wrażenie, że to o czym pisze Pan Bartosz, dotyczy umieszczania id punktu odbioru w polu ID punktu, z którego PP2 pobiera sobie identyfikator punktu.
Z tego co się orientuje, to baza danych Sello nie przewiduje pola "id punktu". Dane dotyczące punktu są zapisywane w polu 'adr_Name' w tabeli adr__Address i identyfikator trzeba wyciągnąć parsując tego stringa. Można by to zrobić wyrażeniem regularny (regex):
\((\d+)\)
Proszę wysłać screen z paczki Sello oraz screen z formularza listu w PP2 na adres office@lcsoft.pl
screen przesłany
Tytuł: Odp: INVALID_PICKUP_POINT_FORMAT
Wiadomość wysłana przez: Tomek w Maj 31, 2023, 03:43:34 pm
Przekazuję temat do analizy.
Tytuł: Odp: INVALID_PICKUP_POINT_FORMAT
Wiadomość wysłana przez: Piotr w Czerwiec 03, 2023, 10:20:06 am
W wersji v23.6 dodaliśmy możliwość wpisania własnego wyrażenia regularnego do pobierania id punktu odbioru dla każdej usługi dostawy Wysyłam z Allegro.
Możliwość ta pojawi się w oknie konfiguracji ustawień przetwarzania:
PACZKI SELLO -> zębatka -. zakładka WYSYŁAM Z ALLEGRO -> przycisk WYSYŁAM Z ALLEGRO -. przycisk KONFIGURACJA w sekcji dla edycji ustawień -> zakładka PUNKT ODBIORU.

Dla danych punktu Packety powinno wystarczyć wpisanie wyrażenia:
(?<=\) \().*?(?=\))
Tytuł: Odp: INVALID_PICKUP_POINT_FORMAT
Wiadomość wysłana przez: maniootek w Czerwiec 03, 2023, 12:58:09 pm
Dla danych punktu Packety powinno wystarczyć wpisanie wyrażenia:
(?<=\) \().*?(?=\))
Tutaj jest chyba błąd w tym wyrażeniu regularnym bo nie wczytuje kodu z nawiasu. Wydaje mi się, że chodziło Panu o taki kod:
(?<=\().*?(?=\))Który powinien zadziałać ale tylko gdy w polu "Punkt odbioru" paczki Sello jest tylko jeden nawias (a zdarzają się dwa, tak jak to odpisane było na forum Sello https://forum.insert.com.pl/uploads/monthly_2023_05/cats2.jpg.7e189aad1cbf9e361e547a7ff8380447.jpg).
Wg mnie, prawidłowy regex to:
(?<=\()\d+(?=\))który przetestowałem i działa
https://regex101.com/r/UinFXk/1
Tytuł: Odp: INVALID_PICKUP_POINT_FORMAT
Wiadomość wysłana przez: Piotr w Czerwiec 09, 2023, 09:17:35 am
Dziękujemy za podpowiedź :)
Tytuł: Odp: INVALID_PICKUP_POINT_FORMAT
Wiadomość wysłana przez: Tomek w Marzec 26, 2024, 04:58:19 pm
W Allegro pojawiły się przypadki, gdy id punktu odbioru zapisane jest jako cyfry przed nawiasem zamykającym i proponowane przez nas wcześniej rozwiązanie przestaje działać.
W przypadku identyfikatorów zapisanych jako ciąg cyfr przed nawiasem zamykającym sugerujemy zastosowanie wyrażenia:
(?<=\s)(\d+)(?=\))