
Temu, przyciski przedsprzedaży i komunikat, obecne w Odoo 17.0, 18.0 i 19.0. Etykiety na schemacie są po angielsku, tak jak w kodzie.Ten błąd dotyczy edycji statusu przedsprzedaży produktu w Temu. To kontrola wstępna: moduł przygotowuje dane żądania zmiany przedsprzedaży i jeśli brakuje któregoś niezbędnego, zatrzymuje się przed jego zbudowaniem.
Co oznacza komunikat i kiedy się pojawia
Co oznacza ten komunikat?
Że do zmiany statusu przedsprzedaży potrzeba dwóch rzeczy: identyfikatora produktu w Temu (goodsId) oraz co najmniej jednego wiersza na liście SKU (skuInfoList). Jeśli brakuje którejkolwiek z nich, moduł zgłasza Temu pre-sale status edit requires goodsId and at least one skuInfoList row. i akcja zostaje zatrzymana.
Jaki jest dokładny warunek?
Pojawia się, gdy po uporządkowaniu otrzymanych danych przez moduł spełniona jest jedna z dwóch rzeczy: goodsId jest puste albo lista SKU została bez żadnego wiersza. Puste goodsId to takie, które nie ma wartości, jest pustym tekstem lub jest fałszem.
Czy błąd pojawi się, gdy goodsId przyjdzie jako tekst?
Nie z powodu samego tekstu. Moduł usuwa spacje z krańców i jeśli zostają tylko cyfry, zamienia wartość na liczbę. Jeśli zostają inne znaki, zostawia ją jako tekst i nie jest to powód tego komunikatu. Za puste uznawany jest tylko tekst, który po usunięciu spacji staje się niczym.
Co liczy się jako poprawny wiersz SKU?
Moduł przegląda otrzymaną listę i odrzuca dwa rodzaje wpisów: te, które nie są zestawem danych klucz-wartość, oraz te bez identyfikatora SKU. Jeśli po tym przeglądzie nie zostaje żaden wiersz, pojawia się komunikat. Reszta wiersza nie decyduje o przejściu kontroli: jeśli zawiera docelowy stan magazynowy przedsprzedaży, jest zachowywany, a jeśli zawiera datę końca przedsprzedaży, jest zamieniana na znacznik czasu.

Skąd dochodzisz do błędu
Które przyciski mogą go wywołać?
Dwa przyciski widoku produktu: Enable Temu Pre-sale i Disable Temu Pre-sale. Oba prowadzą do tej samej kontroli, więc komunikat jest taki sam przy każdym z nich.

Enable Temu Pre-sale.Kiedy widać te przyciski?
Według warunku widoku oba przyciski są ukryte, gdy brakuje któregokolwiek z tych warunków: produkt ma powiązanie z instancją Temu (wskaźnik niewidoczny w żadnym widoku), pole Temu Display Goods ma wartość i pole Temu Display Sku ma wartość. Ponadto istnieje jeszcze jeden wewnętrzny wskaźnik, Show Temu Ui, również niewidoczny w żadnym widoku, który także je ukrywa. Aby zobaczyć przyciski, produkt musi spełniać to wszystko naraz.
Skoro przyciski widać tylko przy goods i SKU, jak może pojawić się błąd?
Bo to dwie różne kontrole. Warunek widoku decyduje, czy widzisz przycisk; kontrola metody decyduje, czy żądanie zmiany przedsprzedaży w ogóle zostanie zbudowane. Komunikat mówi, że to, co otrzymała ta druga kontrola, nie miało goodsId albo nie miało żadnego użytecznego wiersza SKU.
Czy pojawia się we wszystkich wersjach Odoo?
Komunikat jest w opublikowanym kodzie gałęzi 17.0, 18.0 i 19.0, a warunek widoczności przycisków jest taki sam we wszystkich trzech.
Co zrobić, gdy się pojawi
Czy coś zostało wysłane do Temu?
Żądanie zmiany przedsprzedaży nie. Kontrola odbywa się przed zbudowaniem tego żądania, więc nie wychodzi ono do Temu.
Jak to rozwiązać?
Zacznij od tego, co widać w Odoo. Po pierwsze, upewnij się, że jesteś na wariancie produktu odpowiadającym ofercie Temu, którą chcesz zmienić. Po drugie, sprawdź, czy nadal widać Enable Temu Pre-sale i Disable Temu Pre-sale: jeśli znikną, produkt przestał spełniać warunek widoku (powiązanie z instancją, goods i SKU z Temu oraz wewnętrzny wskaźnik niewidoczny na ekranie). Po trzecie, kliknij przycisk ponownie. Jeśli błąd się utrzymuje przy widocznym przycisku, zanotuj wariant produktu i który z dwóch przycisków kliknąłeś, i napisz do nas: to przypadek, w którym warto przejrzeć moduł z konkretnymi danymi przed oczami.
Kartę instancji Temu otwierasz z menu Temu.
Co się dzieje, gdy kontrola przechodzi?
Moduł buduje żądanie z docelowym statusem przedsprzedaży, goodsId i listą SKU i wysyła je do Temu, próbując metod API, które ma jako kandydatów. Jeśli metoda, która odpowiedziała, jest inna niż ta zapisana w instancji, moduł ją aktualizuje. Każdy inny błąd zwrócony przez Temu to sprawa odrębna od tego komunikatu.
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 z poziomu Odoo i chcesz, żeby ktoś przejrzał z Tobą Twoje produkty i instancję, masz stronę modułu i kartę w Odoo Apps.
W jednym zdaniu: moduł zatrzymał się przed zbudowaniem żądania, bo brakowało goodsId albo wiersza SKU z identyfikatorem.
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_instance.py
- Kod modułu: flexigobe_temu_connector 19.0 (455b3f0f): views/product_template_views.xml
- Kod modułu: flexigobe_temu_connector 19.0 (455b3f0f): models/fgt_cloud.py
- flexigotech.com/en/services.html
