Dwie rodziny komunikatów
Najprościej uporządkować komunikaty modułu według tego, co robisz, gdy się pojawiają:
- Wartości konfiguracji, które się nie zgadzają:
Day values cannot be negative.,Scan interval and retention must be at least 1.,Backorder threshold and lookback must be at least 1.,Age bucket boundaries must increase strictly.iMajor overdue threshold cannot exceed critical threshold.
- Akcje lub dane wyjątku:
Ignoring an exception requires a reason.,Cannot change route exception from %(old)s to %(new)s.,The source document no longer exists or is not accessible.iSource record id must be positive.
Przy Ignoring an exception requires a reason. poprawka polega na wpisaniu powodu, zanim zignorujesz wyjątek.
Jeśli chcesz najpierw zobaczyć, jakie menu dodaje moduł i przez co przechodzi rekord, zajrzyj do artykułu jak moduł działa od środka.
Jeden przykład od początku do końca
Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.
Distribuciones Garbí to wymyślony dystrybutor, który właśnie zainstalował moduł w swoim Odoo. Marta, kierowniczka magazynu, ma go skonfigurować i co rano przeglądać wyjątki. Śledzimy, co robi i jaki komunikat dostaje na każdym etapie.
Krok pierwszy: konfiguracja
Marta otwiera Inventory › Route Exceptions › Route Exception Settings, gdzie jest jeden rekord.

Najpierw testowo ustawia interwał skanowania na zero, a moduł odpowiada Scan interval and retention must be at least 1. Komunikat jasno podaje minimum: zarówno interwał skanowania, jak i retencja muszą wynosić 1 lub więcej. Marta przywraca poprawną wartość i zapisuje.
Potem przez pomyłkę wpisuje liczbę ujemną w polu z dniami i pojawia się Day values cannot be negative. Wystarczy zmienić ją na wartość nieujemną.
Podobnie jest z progiem zamówień zaległych: zostawia go na zero i dostaje Backorder threshold and lookback must be at least 1. Tak jak wcześniej, próg i okres wsteczny muszą wynosić co najmniej 1.
Następnie ustawia przedziały wieku i powtarza tę samą granicę w dwóch kolejnych przedziałach. Moduł odrzuca to komunikatem Age bucket boundaries must increase strictly. Granice muszą rosnąć i nie mogą się powtarzać, więc Marta ustawia każdą wyżej niż poprzednią.
Na koniec ustawia próg opóźnienia Major powyżej progu Critical. Pojawia się Major overdue threshold cannot exceed critical threshold. Rozwiązanie: obniż Major albo podnieś Critical, aż pierwszy nie będzie przekraczał drugiego.
Krok drugi: praca z wyjątkami
Po zapisaniu konfiguracji Marta przechodzi do Inventory › All Route Exceptions.

Jeden wyjątek uznaje za niewart dalszej kontroli i próbuje go zignorować, niczego nie wpisując. Moduł zatrzymuje akcję komunikatem Ignoring an exception requires a reason. Marta dodaje powód i wtedy może go zignorować.
Przy innym wyjątku próbuje zmiany i dostaje Cannot change route exception from %(old)s to %(new)s. Komunikat pokazuje, skąd zaczyna się zmiana i dokąd miała prowadzić, i oznacza, że moduł nie pozwala na ten konkretny krok. Marta sprawdza, w jakim statusie jest wyjątek, zanim wybierze inną zmianę.
Przy trzecim akcja wymagająca dokumentu źródłowego kończy się komunikatem The source document no longer exists or is not accessible. Tekst podaje dwie możliwości: dokument już nie istnieje albo jej użytkownik nie ma do niego dostępu. Marta pyta administratora, czy dokument nadal istnieje i czy jej uprawnienia go obejmują.
Krok trzeci: bieżąca kontrola
Bez zaległych ostrzeżeń Marta przegląda pulpit i raport, żeby zobaczyć otwarte wyjątki i czas rozwiązania według typu.


Komunikat, który nie pojawił się w przykładzie
Marta nie trafiła na Source record id must be positive., ale warto go znać. Pojawia się, gdy wyjątek jest tworzony z identyfikatorem rekordu źródłowego, który nie jest dodatni. Trzeba sprawdzić, jaka wartość jest przypisywana do tego identyfikatora.
Zestawienie komunikatów i co zrobić
| Komunikat | Co zrobić |
|---|---|
Day values cannot be negative. | Zmienić wartość dni na nieujemną |
Scan interval and retention must be at least 1. | Wpisać 1 lub więcej w interwale skanowania i retencji |
Backorder threshold and lookback must be at least 1. | Wpisać 1 lub więcej w progu i okresie wstecznym |
Age bucket boundaries must increase strictly. | Uporządkować granice przedziałów od najmniejszej do największej, bez powtórzeń |
Major overdue threshold cannot exceed critical threshold. | Ustawić próg Major równy lub niższy od Critical |
Ignoring an exception requires a reason. | Wpisać powód przed zignorowaniem |
Cannot change route exception from %(old)s to %(new)s. | Sprawdzić bieżący status i wybrać inną zmianę |
The source document no longer exists or is not accessible. | Sprawdzić, czy dokument istnieje i czy masz do niego dostęp |
Source record id must be positive. | Sprawdzić, jaka wartość trafia do identyfikatora źródła |
Czego uczy ten przykład
Większość komunikatów w przykładzie pojawiła się podczas konfiguracji i każdy dało się rozwiązać, czytając tekst: podaje minimum, kolejność albo zależność między progami, której oczekuje moduł. Zanim zmienisz ustawienia, ustal, jakie wartości wpiszesz i w jakiej kolejności idą przedziały.
W codziennej pracy komunikaty blokują dwie rzeczy: ignorowanie wyjątku bez powodu i zmianę, na którą moduł nie pozwala. Gdy ostrzeżenie dotyczy dokumentu źródłowego lub jego identyfikatora, problem leży w dokumencie albo w wartości identyfikatora, a nie w wyjątku.
Jak pomaga FlexigoTech
FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Moduł jest opublikowany w Odoo Apps dla wersji 17, 18, 19 i 20, w cenie 9 € netto (bez VAT) za wersję Odoo, płatność jednorazowa. Więcej znajdziesz na stronie modułu i w jego karcie w Odoo Apps.
Czytaj dalej
Sprawdzone w kodzie źródłowym modułu (wersja 20.0) i w podlinkowanych źródłach
Źródła
- Kod modułu: flexigo_warehouse_route_exception_dashboard 20.0 (8c481836): models/route_exception.py
- Kod modułu: flexigo_warehouse_route_exception_dashboard 20.0 (8c481836): models/route_exception_config.py
- apps.odoo.com/apps/modules/20.0/flexigo_warehouse_route_exception_dashboard
- apps.odoo.com/apps/modules/17.0/flexigo_warehouse_route_exception_dashboard
- apps.odoo.com/apps/modules/18.0/flexigo_warehouse_route_exception_dashboard
- apps.odoo.com/apps/modules/19.0/flexigo_warehouse_route_exception_dashboard
- flexigotech.com/en/services.html
