Przypadek: zamówienie Mirakl bez zamówienia sprzedaży
Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.
Muebles Ribera to wymyślony sklep, który sprzedaje na marketplace Mirakl i pracuje z Odoo oraz Mirakl Connector. Osoba odpowiedzialna za zamówienia otwiera Mirakl › Operations › Orders i znajduje zamówienie Mirakl z pustym polem Sale Order. Konektor je wstrzymał: przycisk jest przeznaczony dla zamówień, które sprzedawca usunął, które już zostały wysłane albo które są wcześniejsze niż data początkowa. Ona uznaje, że to zamówienie jednak powinno istnieć jako zamówienie sprzedaży w Odoo, i klika Create Sales Order. Otwiera się zamówienie sprzedaży, które pozostaje ofertą, a potwierdza je już ona sama.


Ścieżka automatyczna i pole wyboru, które jej towarzyszy
Rutyna używana przez przycisk nie jest wywoływana wyłącznie po jego kliknięciu. Moduł rozszerza standardowy przycisk walidacji dokumentów wydania: gdy spełnione są pewne własne kontrole modułu, a dokument wydania dotyczy zamówienia sprzedaży pochodzącego z Mirakl, walidacja wywołuje tę samą rutynę, ale bez polecenia pominięcia kontroli wstrzymania. Jeśli to wywołanie się nie powiedzie, moduł zapisuje ostrzeżenie w dzienniku i kontynuuje resztę swojej rutyny kontaktów dostawy.
Pole wyboru, które decyduje o tej ścieżce, to Auto Confirm Sale, na karcie Mirakl Instances, w zakładce Orders and Returns, w grupie Sync Policy. Domyślnie jest wyłączone, a jego pomoc brzmi: Automatically confirm imported sale orders after sync.
Przycisk pozostaje wyjątkiem, dla zamówienia, które konektor wstrzymał. To zamówienie sprzedaży zostaje jako oferta i potwierdza je sprzedawca.
Kiedy pojawia się przycisk
Na karcie Mirakl Orders przycisk Create Sales Order jest ukryty w dwóch przypadkach: gdy pole Sale Order ma już wartość albo gdy pole State wskazuje, że zamówienie jest anulowane. Przy wartościach domyślnych jest widoczny. Przycisk znajduje się we wszystkich czterech opublikowanych gałęziach: Odoo 17, 18, 19 i 20.
Sale Order widnieje także na liście Mirakl Orders, tylko do odczytu. Nie wypełniasz go sam: zapisuje go rutyna tworzenia lub aktualizacji, do której dochodzi się z tego przycisku i z opisanej wyżej walidacji dokumentu wydania.
Moduł zawiera tłumaczenia przycisku. Tak nazywa się on w zależności od języka Twojego Odoo:
| Język Odoo | Tekst przycisku |
|---|---|
| Hiszpański | Create Sales Order |
| Niemiecki | Verkaufsauftrag erstellen |
| Francuski | Créer la commande de vente |
| Włoski | Crea ordine di vendita |
| Portugalski | Criar encomenda de venda |

Krok po kroku: co robi po kliknięciu w Odoo 20
- Wchodzisz na kartę zamówienia Mirakl z
Mirakl › Operations › Orders. Przycisk jest widoczny, jeśli zamówienie nie ma zamówienia sprzedaży i nie jest anulowane. - Klikasz
Create Sales Order. Jeśli zamówienie miałoby już zamówienie sprzedaży, przycisk je pomija, niczego nie zmieniając. - Jeśli go nie ma, usuwa z zamówienia znacznik wstrzymania i zapisuje informację, że zamówienie sprzedaży zostało utworzone ręcznie.
- Wywołuje rutynę tworzenia lub aktualizacji z poleceniem pominięcia kontroli wstrzymania. Ta kontrola, gdy nie jest pomijana, może zablokować utworzenie i zapisać powód w zamówieniu.
- Rutyna najpierw szuka zamówienia sprzedaży z tym samym identyfikatorem zamówienia Mirakl w tej samej instancji. Jeśli je znajdzie, używa go ponownie i zapisuje w nim dane zamiast tworzyć kolejne.
- Jeśli go nie znajdzie, przygotowuje pozycje i dane nagłówka nowego zamówienia sprzedaży, które pozostaje ofertą.
- Na końcu otwiera kartę zamówienia sprzedaży.
Wstrzymanie istnieje z powodu, który sam moduł opisuje w komentarzu: wcześniej przy ponownej synchronizacji odtwarzane było zamówienie sprzedaży, które sprzedawca usunął, a pierwszy import zamieniał w nowe dostawy zamówienia już wysłane ręcznie, przez co towar wychodził dwa razy. Kliknięcie przycisku oznacza pominięcie tej ochrony dla danego zamówienia, dlatego warto wcześniej sprawdzić, czy zamówienie już zostało wysłane.
Jakie dane kod przygotowuje dla zamówienia sprzedaży
Między innymi te:
- klienta i kontakt dostawy (potwierdzone już zamówienie sprzedaży zachowuje swojego klienta i, jeśli adres kupującego się nie zmienia, swój kontakt dostawy), a jako adres do faktury samego klienta;
- firmę instancji i walutę zamówienia Mirakl;
- jako referencję klienta, nazwę zamówienia Mirakl;
- instancję, identyfikator zamówienia Mirakl, jego stan i moment ostatniej synchronizacji;
- etykietę metody wysyłki wybranej przez kupującego;
- telefon i osobę kontaktową kupującego, gdy zamówienie sprzedaży ma te pola;
- datę zamówienia, jeśli zamówienie Mirakl ją ma, oraz zespół sprzedaży i magazyn instancji, jeśli są skonfigurowane.
Gdy zamówienie sprzedaży jeszcze nie istnieje, kod przygotowuje dodatkowo pozycje zamówienia.
Jeśli coś nie działa tak, jak oczekujesz
- Nie widzisz przycisku: sprawdź pole
Sale Order(jeśli ma wartość, jest już powiązane zamówienie) oraz poleState(jeśli zamówienie jest anulowane, przycisk jest ukryty). - Klikasz i nie otwiera się żadna karta: zamówienie sprzedaży otwiera się tylko wtedy, gdy zamówienie Mirakl ma je powiązane po wywołaniu. Sprawdź pole
Sale Order. - Błąd przy walidacji dokumentu wydania: na tej ścieżce błąd rutyny jest przechwytywany i zapisywany jako ostrzeżenie w dzienniku.
Jeśli masz wątpliwości, czy instancja jest dobrze połączona, sprawdź wcześniej co robi przycisk Test Connection.
Jak pomaga FlexigoTech
FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Mirakl Connector jest opublikowany w Odoo Apps dla tych czterech wersji: masz jego kartę i stronę modułu.
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_mirakl_connector 20.0 (aa05e537): views/mirakl_order_views.xml
- Kod modułu: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_order.py
- Kod modułu: flexigobe_mirakl_connector 20.0 (aa05e537): models/stock_picking.py
- Kod modułu: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_instance.py
- apps.odoo.com/apps/modules/20.0/flexigobe_mirakl_connector
- flexigotech.com/en/services.html
