Przykład: gest handlowy, którego nie da się wysłać
Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.
Distribuciones Norte, firma wymyślona na potrzeby tego przykładu, sprzedaje w Cdiscount i obsługuje zamówienia w Odoo z Octopia Connector. Marta z obsługi klienta chce zrekompensować coś klientowi gestem handlowym. Otwiera Octopia › Zamówienia › Gesty handlowe. Ten fragment menu Octopia widzi osoba z uprawnieniem Użytkownik Octopia; jeśli go nie masz, nie zobaczysz tego fragmentu.
Tworzy kartę gestu i klika Zgłoś do Octopia. Odoo prosi o potwierdzenie takim tekstem: Gest handlowy zwraca klientowi tę kwotę. Kontynuować?. Marta potwierdza, a akcja zatrzymuje się z tym komunikatem: Gesty handlowe dotyczą wyłącznie zamówień wysłanych lub dostarczonych (zamówienie … ma status …).. W miejscu wielokropków Odoo wpisuje identyfikator zamówienia w Octopia oraz jego aktualny status.

Problem nie leży w karcie gestu, lecz w statusie zamówienia, którego gest dotyczy.

Kiedy dokładnie się pojawia
Komunikat pojawia się po kliknięciu Zgłoś do Octopia na karcie gestu, gdy zamówienie spełnia warunek opisany poniżej. Przycisk jest widoczny, dopóki pole Stan gestu ma wartość początkową, a znika przy każdej innej, w Odoo 17, 18, 19 i 20.
Według kodu Odoo 20.0 moduł przegląda gesty i pomija te, które nie mają stanu początkowego. Dla każdego pozostałego wykonuje te kontrole, w tej kolejności:
- Sprawdza, czy kwota jest większa od zera. Jeśli nie, zatrzymuje się z innym komunikatem.
- Sprawdza kanał sprzedaży zamówienia: jeśli jego konfiguracja została zsynchronizowana i ma wyłączone gesty handlowe, również zatrzymuje się z innym komunikatem.
- Sprawdza status zamówienia: jeśli nie jest wysłane ani dostarczone, zatrzymuje się z komunikatem, którym się zajmujemy.
Inaczej mówiąc, komunikat pojawia się, gdy status zamówienia nie jest ani wysłany, ani dostarczony, pod warunkiem że wcześniej przeszły kontrole kwoty i kanału. Sam komunikat podaje aktualny status zamówienia.
Po zatrzymaniu nic z tego, co akcja miała zmienić, nie zostaje zapisane:
- gest nie przechodzi do innego stanu;
- nie zapisuje się odnośnik zgłoszenia ani data wysłania;
- nic nie jest wysyłane do Octopia.
Dlatego przycisk nadal jest widoczny na karcie i możesz kliknąć go ponownie później.
Komunikat występuje w opublikowanym kodzie gałęzi 17.0, 18.0, 19.0 i 20.0. Kolejność kontroli, którą właśnie przeczytałeś, pochodzi z kodu Odoo 20.0.

Gesty handlowe dotyczą wyłącznie zamówień wysłanych lub dostarczonych (zamówienie … ma status …).Jak to rozwiązać
- Przeczytaj komunikat: zawiera identyfikator zamówienia w Octopia i jego aktualny status.
- Jeśli ten status nie jest ani wysłany, ani dostarczony, gestu nie można jeszcze wysłać. Zostaw kartę bez zmian: z powodu tego komunikatu nie ma w niej nic do poprawiania.
- Gdy zamówienie będzie wysłane lub dostarczone, otwórz gest ponownie w
Octopia › Zamówienia › Gesty handlowe, kliknijZgłoś do Octopiai potwierdź. - Sprawdź wynik: jeśli wysyłka się powiodła, gest jest w toku, a przycisk znika z karty, ponieważ gest nie ma już stanu początkowego.
Jeśli zamiast tego komunikatu pojawi się inny, może pochodzić z jednej z wcześniejszych kontroli: kwoty gestu lub wyłączonych gestów w kanale sprzedaży.
Resztę tego, co robi ten przycisk, znajdziesz w instrukcji krok po kroku przycisku Zgłoś do Octopia.
Co się dzieje, gdy zamówienie spełnia warunek
Gdy zamówienie jest wysłane lub dostarczone, moduł idzie dalej. Pyta Octopia o pozostały budżet zamówienia. Jeśli Octopia zwróci budżet, a kwota gestu go przekracza, moduł zatrzymuje się z komunikatem o kwocie wyższej niż pozostały budżet. Jeśli go nie przekracza albo Octopia nic nie zwróci, wysyła gest wraz z jego powodem, szczegółem i kwotą.
Jeśli Octopia zwróci odnośnik zgłoszenia, moduł zapisuje go na karcie. Następnie zapisuje datę wysłania, ustawia gest jako w toku i tworzy wpis synchronizacji typu gesty z wynikiem poprawnym.
Czego uczy ten przypadek
- Komunikat dotyczy zamówienia, nie gestu: warunkiem, który go wywołuje, jest status zamówienia.
- Wielokropki w komunikacie to wskazówka: identyfikator zamówienia w Octopia i jego aktualny status.
- Taki komunikat nie zostawia wysyłki w połowie: nie zmienia stanu gestu i nic nie trafia do Octopia.
- Przycisk pozostaje widoczny, więc ponowna próba polega na kliknięciu go jeszcze raz, gdy zamówienie będzie wysłane lub dostarczone.
Koszt i pomoc FlexigoTech
Octopia Connector (Cdiscount & Octopia Marketplaces) to moduł z jednorazową opłatą za wersję Odoo (17, 18, 19 i 20; cena każdej wersji jest na jej karcie w Odoo Apps) i wymaga subskrypcji FlexigoTech Cloud w planie Conector: 49 €/mies. lub 490 €/rok netto (bez VAT), z maksymalnie 3 kontami platformy.
Jeśli wdrażasz Odoo i chcesz sprawdzić, jak obieg zamówień i gestów handlowych Cdiscount pasuje do Twojej firmy, w FlexigoTech wdrażamy Odoo 17, 18, 19 i 20 oraz tworzymy konektory i integracje na zamówienie.
Jeśli interesuje Cię inny przycisk modułu, przeczytaj artykuł o przycisku Importuj.
Czytaj dalej
Sprawdzone w kodzie źródłowym konektora (wersja 20.0) i w podlinkowanych źródłach
Źródła
- Kod modułu: flexigobe_octopia_connector 20.0 (4848da6a): models/octopia_order_actions.py
- Kod modułu: flexigobe_octopia_connector 20.0 (4848da6a): views/octopia_order_actions_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_octopia_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
