Co widzisz i gdzie
Otwierasz Octopia › Katalog › Produkty, wchodzisz do karty produktu i zmieniasz pole Referencja produktu sprzedawcy. To pole znajduje się na karcie Produkty Octopia, w grupie Tożsamość, a także na liście w tym menu. Część menu Octopia wymaga uprawnienia Użytkownik Octopia: bez niego tej części menu nie zobaczysz.
Przy zapisie Odoo zatrzymuje operację i wyświetla ten komunikat:
Referencja produktu sprzedawcy jest niezmienna w Octopia po zgłoszeniu produktu (…). Jej zmiana wymaga zgłoszenia do wsparcia Octopia.
Tam, gdzie w komunikacie stoi „…”, moduł wpisuje nazwy objętych produktów, oddzielone przecinkami. Komunikat jest w kodzie opublikowanym dla Odoo 17, 18, 19 i 20, a moduł jest opublikowany w Odoo Apps dla tych czterech wersji.

Pomoc samego pola mówi to samo krócej: Twoja niezmienna referencja produktu w Octopia (zmiana po utworzeniu wymaga zgłoszenia do wsparcia).


Dokładny warunek, odczytany z kodu
Komunikat zgłasza zapis kart Produkty Octopia, więc pojawia się przy zapisie zmian. Najpierw kod sprawdza, czy wśród zapisywanych zmian jest referencja. Jeśli jej nie ma, nie ma żadnej kontroli i zapis przebiega dalej.
Jeśli jest, kod przegląda każdy zapisywany produkt i wybiera te, które spełniają jednocześnie trzy warunki:
- Produkt nie jest już w wersji roboczej.
- Ma już wpisaną referencję (nie jest pusta).
- Nowa referencja różni się od obecnej.
Jeśli jest co najmniej jeden taki produkt, zgłaszany jest komunikat z nazwami tych produktów. Jeśli nie ma żadnego, zapis przebiega normalnie.
Z tego wynikają cztery praktyczne konsekwencje:
- Z tego zapisu nie zapisuje się nic. Komunikat jest zgłaszany przed zapisem, więc nie zapisują się też inne pola, które zmieniono jednocześnie.
- W wersji roboczej kod tego nie blokuje. Kontrola dotyczy tylko produktów, które nie są już w wersji roboczej.
- Pustą referencję można uzupełnić. Jeśli produkt nie miał referencji, kod jej nie blokuje.
- Wpisanie tej samej wartości nie powoduje błędu. Komunikat pojawia się tylko wtedy, gdy nowa referencja różni się od obecnej.
Przykład
Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.
Hogar Atlántico to wymyślony sklep, który prowadzi katalog Octopia z poziomu Odoo. Osoba z zespołu otwiera Octopia › Katalog › Produkty, wchodzi do karty lampy, która nie jest już w wersji roboczej, i zauważa literówkę w referencji. Poprawia pole Referencja produktu sprzedawcy, zmienia też inne pole na tej samej karcie i klika zapisz.
Odoo pokazuje komunikat z nazwą lampy w nawiasie i nie zapisuje niczego: ani nowej referencji, ani drugiej zmiany. Wszystkie trzy warunki są spełnione naraz: produkt nie jest w wersji roboczej, miał już referencję, a nowa jest inna.
Osoba przywraca w polu poprzednią referencję, powtarza drugą zmianę i zapisuje, nie ruszając referencji. Tym razem zapis przechodzi, bo referencji nie ma wśród zmian. Ponieważ literówka nadal tam jest, zakłada zgłoszenie do wsparcia Octopia, czyli to, czego wymaga sam komunikat, by ją zmienić.
Czego uczy ten przypadek: komunikat nie informuje o błędzie technicznym, lecz o regule, którą moduł stosuje przy zapisie, a zmiana, która ją uruchamia, przepada w całości.
Co zrobić, gdy się pojawi
- Odczytaj w nawiasie nazwy objętych produktów: to te, które spełniają warunek.
- Przywróć w polu
Referencja produktu sprzedawcyreferencję, którą miał produkt. - Jeśli w tym samym zapisie zmieniałeś inne pola, powtórz te zmiany i zapisz, nie ruszając referencji.
- Jeśli referencja naprawdę musi się zmienić, komunikat mówi, że jej zmiana wymaga zgłoszenia do wsparcia Octopia: złóż je w Octopia.
- Sprawdź na karcie i na liście
Produkty Octopia, że referencja jest poprzednia, a pozostałe zmiany zostały zapisane.
Pytania, które sobie zadasz
Czy pojawi się, jeśli zmieniam tylko inne pola karty?
Nie. Kontrola włącza się tylko wtedy, gdy wśród zapisywanych zmian jest referencja.
Czy pojawi się przy produkcie w wersji roboczej?
Kod tego nie blokuje: sprawdza tylko produkty, które nie są już w wersji roboczej.
Czy mogę uzupełnić referencję, jeśli była pusta?
Tak. Kod blokuje zmianę tylko wtedy, gdy produkt miał już wpisaną referencję.
Dlaczego komunikat pokazuje kilka nazw?
Bo zapis może dotyczyć więcej niż jednego produktu. Komunikat łączy, oddzielone przecinkami, nazwy tych, które spełniają warunek.
Co z resztą zmian, które wprowadziłem?
Nie zapisują się. Komunikat zatrzymuje zapis, zanim cokolwiek zostanie zapisane.
Jak może pomóc FlexigoTech
FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Jeśli budujesz katalog Octopia w swoim Odoo i chcesz ustalić, kto co edytuje, zanim wczytasz referencje, napisz do nas. W sprawie innych przycisków i błędów modułu zacznij od co robi przycisk Submit to Octopia.
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_product.py
- Kod modułu: flexigobe_octopia_connector 20.0 (4848da6a): models/octopia_ffm_setup.py
- apps.odoo.com/apps/modules/20.0/flexigobe_octopia_connector
- flexigotech.com/en/services.html
