Przypadek: Casa Boreal klika Push Stock
Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.
Casa Boreal to wymyślony sklep. Marta prowadzi jego katalog i właśnie połączyła sklep Shopify z Odoo. Otwiera Shopify › Configuration › Stores, wchodzi do karty sklepu i klika Push Stock. Akcja zatrzymuje się, a Odoo pokazuje No Shopify locations were found for …, z domeną sklepu po słowie „for”.
Marta nie wie, czy problem leży w Odoo, w połączeniu czy w Shopify. Oto, co robi kod modułu przed wyświetleniem tego komunikatu, żeby wiedziała, gdzie szukać.

Aby dotrzeć do tej karty, trzeba widzieć menu: sekcja Configuration wymaga uprawnienia Operator, a sekcja Shopify wymaga Viewer. Jeśli nie masz żadnego z tych uprawnień, nie zobaczysz tej części menu.
Treść komunikatu zmienia się w zależności od języka Twojego Odoo. W Odoo po polsku moduł nie ma tłumaczenia i komunikat wygląda tak, jak go widzi Marta; w innych językach brzmi tak:

No Shopify locations were found for …; po niemiecku Keine Shopify-Standorte für … gefunden; po francusku Aucun emplacement Shopify trouvé pour …; po włosku Nessuna ubicazione Shopify trovata per …; po portugalsku Nenhuma localização Shopify encontrada para ….| Język Odoo | Treść komunikatu |
|---|---|
| Polski | No Shopify locations were found for … |
| Niemiecki | Keine Shopify-Standorte für … gefunden |
| Francuski | Aucun emplacement Shopify trouvé pour … |
| Włoski | Nessuna ubicazione Shopify trovata per … |
| Portugalski | Nenhuma localização Shopify encontrada para … |

Kiedy dokładnie się pojawia
Przycisk Push Stock jest zawsze widoczny w widoku sklepu, w Odoo 17, 18, 19 i 20: żaden warunek widoku go nie ukrywa. Jego akcja trafia do kroku modułu, który szuka domyślnej lokalizacji sklepu, i to ten krok zgłasza komunikat. Według opublikowanego kodu Odoo 20.0 kolejność jest następująca:
- Jeśli sklep ma już zapisaną domyślną lokalizację, moduł ją wykorzystuje i nie pyta Shopify. Przy zapisanej lokalizacji komunikat nie może pojawić się tą drogą.
- Jeśli jej nie ma, moduł prosi Shopify o lokalizacje sklepu, ale tylko o pierwszą, jaką zwróci.
- Sprawdza odpowiedź. Jeśli nie zawiera żadnej lokalizacji (lista nie przychodzi albo jest pusta), zgłasza
No Shopify locations were found for …. Wielokropek to domena sklepu. - Jeśli lokalizacja istnieje i ma identyfikator, moduł zapisuje ten identyfikator i jej nazwę w sklepie jako domyślną lokalizację.
Warunkiem w kodzie prowadzącym do komunikatu jest to, że odpowiedź nie zawiera żadnej lokalizacji, i jest on sprawdzany tylko wtedy, gdy sklep nie ma jeszcze zapisanej domyślnej lokalizacji. Komunikat znajduje się w opublikowanym kodzie gałęzi 17, 18, 19 i 20 Odoo.
Co to oznacza w praktyce
Komunikat opisuje to, co moduł otrzymał: odpowiedź Shopify przyszła bez lokalizacji. Ostrzeżenie nie mówi, dlaczego lista była pusta, tylko że była pusta.
Mówi też o tym, co się nie wydarzyło. Gdy komunikat zostaje zgłoszony, akcja się zatrzymuje, a to, co miało się zmienić w tym kroku, nie zostaje zapisane: sklep Casa Boreal nadal nie ma zapisanej domyślnej lokalizacji. Jeśli akcja ponownie dotrze do tego kroku, a sklep nadal nie ma zapisanej lokalizacji, moduł znów zapyta Shopify od początku.
Jak Marta to rozwiązuje
- Czyta domenę na końcu komunikatu i sprawdza, czy jest to domena sklepu, którego chciała użyć. Moduł wstawia tam domenę sklepu, dla którego uruchomiono akcję.
- Wchodzi do panelu administracyjnego tego sklepu w Shopify i sprawdza, czy ma co najmniej jedną lokalizację. To właśnie moduł musi znaleźć w odpowiedzi.
- Wraca do
Shopify › Configuration › Stores, otwiera kartę sklepu i ponownie klikaPush Stock. - Jeśli komunikat wraca z prawidłową domeną, Shopify nadal odpowiada na to zapytanie bez lokalizacji i trzeba dalej sprawdzać ten sklep w Shopify. Jeśli Odoo pokaże inne ostrzeżenie, jest to już inny przypadek i czyta się go osobno.
Czego uczy ten przypadek
- Komunikat może pojawić się tylko wtedy, gdy sklep nie ma zapisanej domyślnej lokalizacji. Po jej zapisaniu moduł ją wykorzystuje i nie pyta Shopify.
- Moduł odczytuje tylko jedną lokalizację, pierwszą, jaką zwróci Shopify. To, że ostrzeżenie się nie pojawia, nic nie mówi o tym, ile lokalizacji ma sklep.
- Przycisk
Push Stocknie ma warunku widoku: widzisz go zawsze, niezależnie od tego, czy lokalizacja jest zapisana. - Domena na końcu komunikatu to najszybsza wskazówka, który sklep go wywołał, gdy jest ich więcej niż jeden.
- Warunkiem jest to, że odpowiedź nie zawiera żadnej lokalizacji, i jest on sprawdzany tylko wtedy, gdy sklep nie ma jeszcze zapisanej domyślnej lokalizacji.
Jak pomaga FlexigoTech
FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Jeśli łączysz sklep Shopify i chcesz przejrzeć konfigurację z kimś, kto zna moduł, zobacz stronę modułu lub kartę w Odoo Apps, opublikowany dla Odoo 17, 18, 19 i 20, i napisz do nas stamtąd.
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_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Kod modułu: flexigobe_shopify_seller_connector 20.0 (d7e627b4): views/shopify_instance_views.xml
- Kod modułu: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
