ProstaPaczka2

ProstaPaczka2 => Subiekt GT => Wątek zaczęty przez: Piotr w Styczeń 17, 2020, 10:20:04 pm

Tytuł: Jak wybrać dane punktu odbioru Poczty z dokumentu Subiekta GT?
Wiadomość wysłana przez: Piotr w Styczeń 17, 2020, 10:20:04 pm
(na podstawie zgłoszenia)
W polu własnym dokumentu Subiekta GT mam zapisane dane punktu odbioru:
[OP]|UP Chrząstowice (235939)|Dworcowa 38|46-053 Chrząstowice|PL|tel: +48 503 904 548|e-mail: yjh73tdxec+be940c28@allegromail.pl [/OP]

Jakie wyrażenia regularne należy wstawić aby automatycznie tworzony był list z punktem odbioru?
Tytuł: Odp: Jak wybrać dane punktu odbioru Poczty z pola własnego
Wiadomość wysłana przez: Piotr w Styczeń 17, 2020, 10:21:50 pm
Jeżeli wyszukiwanie punktu ma się odbywać po danych adresowych to można użyć wyrażeń:

Nazwa: (?<=\[OP]\|).*?(?= \()
Adres: (?<=^(?:[^|]+\|){2})[^|]+
Kod pocztowy: (?<=^(?:[^|]+\|){3})[^\s]+
Miasto: (?<=^(?:[^|]+\|){3}.{7})[^|]+

Jeżeli wyszukiwanie punktu odbioru Poczty Polskiej ma odbywać się po identyfikatorze placówki (zalecany sposób), to można użyć wyrażenia:

id: (?<=\[OP]\|.*\().*?(?=\))
Tytuł: Odp: Jak wybrać dane punktu odbioru Poczty z dokumentu Subiekta GT?
Wiadomość wysłana przez: Piotr w Luty 10, 2020, 11:41:12 am
Przykład wybierania identyfikatora punktu odbioru Poczty Polskiej z uwag dokumentu.

Przykład zawartości uwag:
**...tura*Punkt:976670*Janusza ...

Wyrażenie:
(?<=
Wybierze wartość pomiędzy "*Punkt" a "*".
Tytuł: Odp: Jak wybrać dane punktu odbioru Poczty z dokumentu Subiekta GT?
Wiadomość wysłana przez: Piotr w Listopad 06, 2020, 11:50:31 am
Przykład wybierania identyfikatora punktu odbioru Poczty Polskiej z uwag dokumentu Subiekta GT dla przesyłki Pocztex Kurier 48

Uwagi dokumentu:
Forma dostawy: Poczta Polska Odbiór w punkcie
Typ dokumentu: Faktura
PNI: 260497
Punkt odbioru: UP Poznań 33 - Poznań - ul. Bukowa 4 - 260497

Jako identyfikator wyszukiwania wpisujemy:
Poczta Polska Odbiór w punkcie

Ustawiamy wyszukiwanie w uwagach po identyfikatorze punktu odbioru i wpisujemy wyrażenie regularne:
(?<=PNI: ).*?(?=\r|\r\n|\n\r|\n)
Tytuł: Odp: Jak wybrać dane punktu odbioru Poczty z dokumentu Subiekta GT?
Wiadomość wysłana przez: Piotr w Listopad 10, 2020, 03:54:42 pm
Dla przykładowej treści:
FUP Łomianki (123123) | A1: Ul. Przykłądowa 11 | A2: | P: Polska | K: 01-485 | M: Warszawa

Id punktu odbioru można odczytać wyrażeniem:
(?<=\().*?(?=\))

Dane punktu odbioru można wybrać wyrażeniami:
Nazwa: ^.*?(?= \()
Adres1: (?<=A1: ).*?(?= \|)
Państwo: (?<=P: ).*?(?= \|)
Kod pocztowy: (?<=K: ).*?(?= \|)
Miasto: (?<=M: ).*
Tytuł: Odp: Jak wybrać dane punktu odbioru Poczty z dokumentu Subiekta GT?
Wiadomość wysłana przez: kidl w Luty 02, 2021, 02:30:46 pm
Mam zapis punktu odbioru jak poniżej wrzucone w Uwagi dokumentu oraz w Polu własnym w ZK w Subiekcie GT:
Sello|210,00|Dok:PAi|Dostawa:Allegro OWP|Email:u4pni9svf4+298e11963@allegromail.pl|IDPO:747787|

Zapis: |IDPO:747787| to identyfikator punktu odbioru

Zastosowałem wyrażenie regularne:  (?<=[|]IDPO:).*?(?=[|])

Jeśli ustawię w ProstejPaczce, żeby pobierał ID punktu odbioru z Pola własnego, powyższe wyrażenie regularne wyciąga właściwy numer.

Gdy ustawię, żeby pobierał ID punktu odbioru z Uwag dokumentu, to samo wyrażenie regularne już nie zwraca wyniku. Okno z danymi punktu odbioru pozostaje puste.

Czy w przypadku danych zapisanych w polu Uwagi dokumentu, powinienem zastosować inne wyrażenie?

A może zapisywać ID punktu w inny sposób?
Tytuł: Odp: Jak wybrać dane punktu odbioru Poczty z dokumentu Subiekta GT?
Wiadomość wysłana przez: Tomek w Luty 02, 2021, 04:02:56 pm
Dla Allegro Poczta Odbiór w Punkcie z uwag Subiekta nie wybieramy ID Punktu, tylko jego adres, a więc w uwagach powinien się znaleźć pełen adres punktu odbioru i zestaw wyrażeń regularnych do jego wyciągania, a nie jego identyfikator. Identyfikator ustalamy sami na podstawie adresu.
Tytuł: Odp: Jak wybrać dane punktu odbioru Poczty z dokumentu Subiekta GT?
Wiadomość wysłana przez: kidl w Luty 02, 2021, 04:35:18 pm
Panie Tomku, w ustawieniach PP jest możliwość włączenia pobierania identyfikatora punktu odbioru z Uwag dokumentu, co wg mnie wyraźnie sugeruje, że da się pobrać ID punktu.
Załączam screen.
Tytuł: Odp: Jak wybrać dane punktu odbioru Poczty z dokumentu Subiekta GT?
Wiadomość wysłana przez: Tomek w Luty 03, 2021, 08:48:30 am
I tu musimy się uderzyć w pierś, bo nazwa tego pola jest wybitnie nietrafiona i wprowadzająca w błąd. Zgłosiłem już poprawkę - wyjdzie w najbliższej wersji.

Na tą chwilę niestety działa to tak, jak opisałem powyżej. Jeśli w uwagach dokumentu Subiekta jest treść zdefiniowana w ustawieniach w tym nieszczęsnym polu, to podchodzimy do poszukiwania danych punktu w uwagach, a jeśli tej treści nie ma, to uznajemy, że w uwagach nie ma punktu odbioru.
Tytuł: Odp: Jak wybrać dane punktu odbioru Poczty z dokumentu Subiekta GT?
Wiadomość wysłana przez: kidl w Luty 03, 2021, 11:32:44 am
Jest szansa, żeby ID punktu odbioru mogło być pobierane z Uwag? Pełne dane punktu odbioru zabierają sporo miejsca, szczególnie że musimy zastosować jakiś identyfikator określający np nazwę punktu, czy kod pocztowy, a do tego jeśli się trafiają długie nazwy miejscowości jak "Sobienie Kiełczewskie Pierwsze" (jest taka miejscowość :)  ). To już mało miejsca tam zostaje.
Pole ma 500 znaków ale jest tam szereg też innych ważnych informacji (np do sterowania exportem), również uwagi klienta itd.

Sprawa nie jest pilna, ale do rozważenia.
Tytuł: Odp: Jak wybrać dane punktu odbioru Poczty z dokumentu Subiekta GT?
Wiadomość wysłana przez: Piotr w Luty 04, 2021, 08:28:48 am
Będziemy mieli to na uwadze przy rozwoju tego elementu programu, jednak nie mogę zagwarantować terminu w  wprowadzenia zmiany.