Kiedy pojawia się komunikat
Komunikat Could not determine Temu regionId for this order. pojawia się po kliknięciu przycisku Send Temu Tracking w widoku transferu. Ten przycisk jest widoczny tylko wtedy, gdy transfer dotyczy zamówienia z Temu i ma stan Wykonano; warunek w widoku jest taki sam w Odoo 17, 18 i 19. Gdy komunikat się pojawia, akcja zostaje zatrzymana.

Moduł zgłasza ten komunikat podczas szukania przewoźnika Temu dla zamówienia, gdy nie udaje mu się ustalić regionu. Warunek w kodzie jest dokładnie taki: region jest pusty.

Co robi moduł, zanim zgłosi komunikat
Kolejność, jaką po kliknięciu przycisku stosuje kod Odoo 19, wygląda tak:
- Ustala przewoźnika w Odoo: z samego transferu lub, jeśli go nie ma, z zamówienia sprzedaży.
- Szuka w instancji Temu aktywnego powiązania przewoźnika dla tego przewoźnika. Jeśli nie ma konkretnego, ale istnieje tylko jedno aktywne powiązanie, używa właśnie tego. To samo dzieje się, gdy przewoźnika nie ma: aktywne powiązanie się nadaje tylko wtedy, gdy jest jedyne.
- Jeśli to powiązanie ma już numeryczny identyfikator przewoźnika Temu, moduł go używa i na tym kończy. Nie sprawdza regionu, więc tą drogą komunikat nie może się pojawić.
- W przeciwnym razie szuka regionu zamówienia. Tu jest warunek: jeśli go nie znajdzie, zgłasza komunikat.
- Jeśli go znajdzie, pyta Temu o firmy logistyczne w tym regionie i dalej wybiera przewoźnika na podstawie odpowiedzi.
Gdzie moduł szuka regionu
Gdy moduł dochodzi do kroku czwartego, szuka regionu zamówienia w dwóch miejscach, w tej kolejności.
- Najpierw w danych zamówienia w takiej postaci, w jakiej przyszły z Temu: dane samego zamówienia, jego zamówienia nadrzędnego oraz dane wysyłki (w tym odszyfrowane dane wysyłki). Szuka klucza
regionIdlubregion_id, na pierwszym poziomie albo w zagnieżdżonym bloku, i uznaje go za dobry, jeśli jego wartość da się zamienić na liczbę całkowitą. - Jeśli nie ma tam nic użytecznego, patrzy na numer zamówienia Temu (a gdy jest pusty, na identyfikator zamówienia Temu). Bierze to, co jest przed pierwszym myślnikiem, albo cały numer, jeśli nie ma myślnika, i jeśli to same cyfry, jest to region.
Jeśli żadne z tych dwóch miejsc nie daje regionu, pojawia się komunikat, zanim moduł zapyta Temu o firmy logistyczne.
Przykład
Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.
Wyobraź sobie wymyślony sklep Hogar Norte, który sprzedaje artykuły gospodarstwa domowego na Temu i obsługuje wysyłki z Odoo. Pracownik zatwierdza dostawę zamówienia z Temu. Transfer przechodzi w stan Wykonano, pojawia się przycisk Send Temu Tracking i pracownik go klika. Pojawia się Could not determine Temu regionId for this order. i akcja zostaje zatrzymana.
Co się stało, krok po kroku według kodu:
- Transfer ma przewoźnika w Odoo, ale pasujące do niego aktywne powiązanie nie zawiera identyfikatora Temu. Moduł nie może zakończyć sprawy w kroku trzecim.
- Przechodzi więc do szukania regionu. W danych zamówienia nie ma klucza
regionIdaniregion_idz wartością będącą liczbą całkowitą, a to, co stoi przed pierwszym myślnikiem w numerze zamówienia Temu (lub cały numer, jeśli nie ma myślnika), to nie są same cyfry. - Bez regionu moduł zgłasza komunikat i nie pyta już Temu o nic więcej.
Przyczyna nie leży więc w przycisku ani w stanie transferu: zaimportowane zamówienie nie dostarcza modułowi żadnego regionu.
Czego uczy ten przykład
Komunikat dotyczy regionu, a nie przewoźnika
Pojawia się, zanim moduł zacznie porównywać przewoźników. Może się zdarzyć, że przewoźnik w Odoo jest wybrany prawidłowo, a komunikat i tak się pojawia, bo brakuje właśnie regionu.
Ustawiony identyfikator zapobiega komunikatowi
Jeśli aktywne powiązanie przewoźnika dla danego przewoźnika ma już numeryczny identyfikator Temu, moduł zwraca go w kroku trzecim i nie sprawdza regionu. To jedyna droga widoczna w kodzie, która nie zależy od regionu.
Czego moduł potrzebuje od zamówienia
Aby ustalić region, zamówienie musi zawierać w swoich danych numeryczny region albo numer zamówienia Temu, w którym fragment przed pierwszym myślnikiem (lub cały numer, jeśli nie ma myślnika) składa się z samych cyfr. Jeśli nie zachodzi żaden z tych przypadków, moduł nie ma skąd go wziąć.
Wersje
Kolejność sprawdzeń, którą przeczytałeś, pochodzi z kodu Odoo 19. Komunikat występuje w kodzie Odoo 17, 18 i 19, a przycisk ma w tych trzech wersjach ten sam warunek widoku.
Jak wygląda przycisk w Odoo po polsku
W Odoo po polsku stan, w którym przycisk się pojawia, nazywa się Wykonano, a sam przycisk to Send Temu Tracking, bo moduł nie ma dla niego polskiego tłumaczenia. Tego tekstu szukaj w transferze.

Jak pomaga FlexigoTech
FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Jeśli pracujesz z Temu Connector for Odoo, a Twoje zamówienia nie zawierają regionu albo chcesz dostosować sposób wyboru przewoźników, możemy to z Tobą przejrzeć.
Czytaj dalej
Sprawdzone w kodzie źródłowym konektora (wersja 19.0) i w podlinkowanych źródłach
Źródła
- Kod modułu: flexigobe_temu_connector 19.0 (455b3f0f): models/stock_picking.py
- Kod modułu: flexigobe_temu_connector 19.0 (455b3f0f): views/stock_picking_views.xml
- flexigotech.com/en/services.html
