Ten komunikat zatrzymuje akcję: to, co miał zrobić przycisk, nie zostaje wykonane.

Co widzisz, gdy się pojawia
Otwierasz kartę z menu Temu › Orders & Fulfillment › Fulfillment i klikasz Execute. Przycisk jest zawsze widoczny w Odoo 17, 18 i 19. Po kliknięciu jego metoda przechodzi do metody budującej żądanie, a to właśnie ona zgłasza Provide orderSnList or payload lines for shipping services query., jeśli spełniony jest jej warunek.

Execute.
Dlaczego się pojawia i co sprawdza kod
Pojawia się tylko przy zapytaniu o usługi wysyłkowe
Sprawdzenie znajduje się wewnątrz gałęzi operacji usług wysyłkowych. Przy jakiejkolwiek innej operacji kod w ogóle go nie wykonuje. Jeśli widzisz ten komunikat, karta była ustawiona jako takie zapytanie, i to warto mieć na uwadze w pierwszej kolejności.
Muszą brakować obu rzeczy jednocześnie
Warunek jest podwójny: karta nie ma żadnej pozycji w zakładce Payload Lines i dodatkowo lista zamówień (orderSnList, tak jak nazywa ją komunikat) jest pusta. Wystarczy jedna z dwóch, by sprawdzenie przeszło. Kod odczytuje tę listę, rozdzielając wartości przecinkami lub znakami nowej linii i odrzucając puste fragmenty, więc tekst złożony wyłącznie z przecinków, spacji lub znaków nowej linii jest traktowany jako pusty.
Pole Order Sn w karcie się nie liczy
Ze względu na podobieństwo nazw można by sądzić, że wypełnienie Order Sn usuwa komunikat, ale tak nie jest: sprawdzenie dotyczy pozycji i listy zamówień, a nie tego pola. Pole to działa dopiero później: gdy pozycje istnieją, pozycja bez własnego numeru zamówienia używa numeru z Order Sn w karcie. Pole to uzupełnia pozycję, ale nie zastępuje pozycji.
Docierasz tu z już sprawdzonymi danymi wysyłki
Tuż przed tym sprawdzeniem metoda wymaga, by były wypełnione: magazyn, waga i jej jednostka, długość, szerokość, wysokość oraz jednostka wymiarów. Ta weryfikacja odbywa się najpierw. Dlatego jeśli widzisz Provide orderSnList or payload lines for shipping services query., te dane już ją przeszły, a brakuje pozycji lub listy zamówień.
Żądanie ustalone z góry pomija to wszystko
Jeśli karta zawiera żądanie zastępcze z treścią i ta treść jest obiektem, metoda zwraca to żądanie bez zmian i nie dociera do żadnego sprawdzenia operacji, w tym do tego. Wyjaśnia to, dlaczego taka karta nie zgłasza komunikatu. To nie jest sposób na rozwiązanie problemu: normalną drogą są pozycje.
Co robi moduł, gdy pozycje są
Po przejściu sprawdzenia metoda buduje żądanie z danymi wysyłki i, jeśli są pozycje, dodaje informacje o każdej z nich: jej numer zamówienia (lub numer z Order Sn w karcie, jeśli pozycja go nie ma) oraz ilość, która nigdy nie spada poniżej jednego. Jeśli jest lista zamówień, również ją uwzględnia. Dzięki temu zapytanie ma od czego wyjść.
To ten sam komunikat w gałęziach 17, 18 i 19
Tekst znajduje się w opublikowanym kodzie gałęzi 17.0, 18.0 i 19.0. Wcześniejsze sprawdzenia i ich kolejność pochodzą z kodu Odoo 19.0, więc jeśli pracujesz z inną wersją, porównaj je ze swoją instalacją, zanim uznasz, że są takie same.
Jak to rozwiązać
- Otwórz kartę z menu
Temu › Orders & Fulfillment › Fulfillment. - Wejdź do zakładki
Payload Linesi dodaj co najmniej jedną pozycję. - Jeśli pozycja nie ma własnego numeru zamówienia, wypełnij
Order Snw karcie: pozycja użyje tego numeru. - Kliknij ponownie
Execute.
Gdy w zakładce są pozycje, warunek komunikatu przestaje być spełniony, bo wystarczy, że istnieje jakakolwiek pozycja.
Zniknięcie tego komunikatu nie gwarantuje, że przejdą pozostałe sprawdzenia operacji: każde z nich zatrzymuje akcję osobno.
Co sprawdzić potem
- Czy zakładka
Payload Linespokazuje pozycje, które właśnie utworzyłeś. - Czy, jeśli pozycja nie ma własnego numeru zamówienia,
Order Snw karcie ma wartość, której chcesz użyć. - Czy po kliknięciu
Executeten komunikat już się nie pojawia. Jeśli pojawi się inny, zajmij się nim osobno: to już nie jest ta przyczyna.
Jak może pomóc FlexigoTech
Jeśli wdrażasz Odoo i łączysz Temu, FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Moduł znajdziesz na stronie Temu Connector for Odoo, a jeśli Twój proces wysyłek wymaga integracji na zamówienie, napisz do nas.
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/temu_fulfillment.py
- Kod modułu: flexigobe_temu_connector 19.0 (455b3f0f): views/temu_fulfillment_views.xml
- flexigotech.com/en/services.html
