1. Strona główna
  2. Automatyzacje / Procesy
  3. Konfiguracja
  4. Wyrażenia regularne w procesach automatycznych

Wyrażenia regularne w procesach automatycznych

Wyrażenia regularne, czyli regex, pozwalają w procesach automatycznych sprawdzać lub przekształcać dane według określonego wzorca. W xSale można ich używać w wybranych warunkach oraz akcjach procesu.

Najczęściej regex przydaje się wtedy, gdy dane z zamówienia są poprawne biznesowo, ale zapisane w różny sposób. Dotyczy to na przykład numerów telefonów, kodów pocztowych, numerów NIP albo pól, w których pojawiają się niepotrzebne spacje.

W tym artykule znajdziesz:

Po co używać regex w procesach automatycznych?

Proces automatyczny może sprawdzać dane zamówienia i wykonać akcję tylko wtedy, gdy dane spełniają określony warunek. Zwykłe porównanie sprawdza najczęściej konkretną wartość, a regex pozwala sprawdzić wzorzec zapisu.

Dzięki temu można rozpoznać dane, które mają różną treść, ale wspólny format. Przykładowo: każdy numer telefonu może być inny, ale wszystkie poprawne numery powinny mieć określoną liczbę cyfr. Każdy kod pocztowy może wskazywać inne miasto, ale powinien mieć format 00-000.

Regex pomaga więc nie tylko uruchamiać procesy dla konkretnych przypadków, ale też wychwytywać dane, które wymagają poprawy przed wysłaniem do kuriera, ERP lub innego systemu.

Jakie problemy regex pomaga rozwiązać?

W praktyce regex jest przydatny przede wszystkim przy danych, które użytkownicy lub systemy zewnętrzne zapisują w różnych formatach. W procesach automatycznych można go wykorzystać na przykład do:

  • sprawdzenia, czy numer telefonu ma właściwą liczbę cyfr,
  • wykrycia numeru telefonu zapisanego ze spacjami, myślnikami albo prefiksem kraju,
  • sprawdzenia, czy kod pocztowy ma format wymagany przez kuriera lub ERP,
  • wykrycia numeru NIP zapisanego z myślnikami lub spacjami,
  • usunięcia niepotrzebnych spacji z początku lub końca pola,
  • zamiany wielu spacji w środku tekstu na jedną spację,
  • rozpoznania danych, które powinny trafić do ręcznej weryfikacji.

Gdzie można użyć regex?

Wyrażenia regularne są dostępne w procesach automatycznych w dwóch obszarach:

  • w warunkach procesu, jako operator Pasuje do wyrażenia regularnego,
  • w akcji, która może zmienić wartość wybranego pola zamówienia na podstawie wzorca regex.

Regex nie jest dostępny dla każdego pola i każdego wyzwalacza. Lista dostępnych pól zależy od konfiguracji procesu i od tego, jaki wyzwalacz został wybrany.

Regex w warunkach procesu

W warunkach procesu operator Pasuje do wyrażenia regularnego służy do sprawdzenia, czy wartość wybranego pola spełnia podany wzorzec. Można go wykorzystać na przykład do rozpoznania określonego formatu numeru NIP, adresu e-mail, telefonu albo danych adresowych.

Jeżeli wartość pola pasuje do wzorca, warunek zostanie spełniony i proces może przejść dalej zgodnie z ustawioną konfiguracją.

Takie warunki warto stosować szczególnie wtedy, gdy proces ma odróżniać zamówienia poprawne od tych, które powinny zostać zatrzymane do sprawdzenia.

Regex w akcjach procesu

W akcjach procesu regex może służyć do przekształcenia wartości wybranego pola zamówienia. Użytkownik wskazuje wzorzec oraz wartość podstawienia. Na tej podstawie xSale może automatycznie zmienić zapis wybranego pola.

Przykładowo akcja może usunąć spacje z numeru NIP albo uporządkować zapis pola tekstowego, zanim dane zostaną wykorzystane w dalszej obsłudze zamówienia.

Tę akcję należy konfigurować ostrożnie, ponieważ zmienia dane zapisane na zamówieniu.

Przykłady użycia

Poniższe przykłady pokazują typowe problemy z danymi w zamówieniach. Traktuj je jako punkt wyjścia do konfiguracji procesu. Ostateczny wzorzec powinien być dopasowany do pola, które sprawdzasz lub zmieniasz w swoim procesie.

Problem w danych Co może zrobić proces? Przykład zastosowania
Numer telefonu ma spacje albo myślniki Rozpoznać taki zapis i przekazać zamówienie do akcji porządkującej dane. Telefon zapisany jako 600 700 800 albo 600-700-800 może zostać wykryty jako numer wymagający ujednolicenia przed wysłaniem do kuriera.
Numer telefonu ma zbyt mało lub zbyt dużo cyfr Zatrzymać zamówienie do ręcznej weryfikacji. Jeżeli pole telefonu nie spełnia oczekiwanego formatu, proces może ustawić status do obsługi ręcznej lub dodać informację dla operatora.
Kod pocztowy jest zapisany bez myślnika Wykryć nieprawidłowy format kodu pocztowego. Kod zapisany jako 00123 zamiast 00-123 może zostać wychwycony przed wygenerowaniem etykiety.
Kod pocztowy ma spacje Wykryć nadmiarowe znaki w polu adresowym. Kod zapisany jako 00 – 123 albo 00- 123 może powodować błąd w integracji kurierskiej, dlatego warto go wcześniej rozpoznać.
NIP jest zapisany z myślnikami lub spacjami Ujednolicić zapis numeru NIP albo skierować zamówienie do sprawdzenia. NIP zapisany jako 123-456-78-90 lub 123 456 78 90 może zostać rozpoznany jako ten sam typ danych co 1234567890.
NIP ma inną liczbę cyfr niż 10 Oznaczyć zamówienie jako wymagające poprawy danych. Proces może sprawdzić, czy po usunięciu spacji i myślników w polu pozostaje 10 cyfr.
W polu są spacje na początku lub na końcu Usunąć zbędne spacje przed dalszym przetwarzaniem zamówienia. Dotyczy to np. nazwy odbiorcy, miasta, ulicy, numeru NIP albo uwag, które później trafiają do ERP lub kuriera.
W środku tekstu jest kilka spacji obok siebie Zamienić wiele spacji na jedną. Nazwa odbiorcy zapisana jako Jan   Kowalski może zostać uporządkowana do zapisu Jan Kowalski.

Przykłady wzorców

Poniższe przykłady pokazują, jak można myśleć o wzorcach. Przed użyciem w procesie sprawdź je na kilku rzeczywistych zamówieniach.

  • Kod pocztowy w formacie 00-000: ^\d{2}-\d{3}$
  • NIP jako 10 cyfr bez spacji i myślników: ^\d{10}$
  • Polski numer telefonu jako 9 cyfr: ^\d{9}$
  • Wykrycie spacji na początku pola: ^\s+
  • Wykrycie spacji na końcu pola: \s+$
  • Wykrycie kilku spacji obok siebie: \s{2,}

Jeżeli proces ma nie tylko sprawdzić dane, ale też je zmienić, skonfiguruj akcję zmiany pola przez regex. Przykładowo wzorzec \s+ może pomóc usuwać spacje z pól takich jak NIP lub telefon, a wzorzec \s{2,} może służyć do zamiany kilku spacji w tekście na jedną.

O czym warto pamiętać?

  • Regex działa tylko w miejscach, w których xSale udostępnia taki operator lub akcję.
  • Wzorzec powinien być możliwie prosty i jednoznaczny.
  • Inaczej konfiguruje się proces, który tylko sprawdza dane, a inaczej proces, który zmienia wartość pola.
  • Przed użyciem procesu na większej liczbie zamówień warto sprawdzić działanie na kilku przykładach.
  • Jeżeli wzorzec jest nieprawidłowy albo zbyt złożony, proces może zakończyć się błędem.

Czego brakuje w tym artykule?