Co robi zadanie w każdym przebiegu
Zadanie nazywa się Verifactu: Alert Escalation to In-App Banner. Działa co pięć minut i jest aktywne po instalacji. Istnieje we wszystkich opublikowanych gałęziach modułu: Odoo 17, 18, 19 i 20. Kolejność jednego przebiegu, według opublikowanego kodu Odoo 20, jest taka:
- Oblicza próg: bieżąca godzina w UTC minus pięć minut.
- Szuka zdarzeń typu wysłany alert, których znacznik czasu jest równy progowi lub wcześniejszy. Wyszukiwanie opiera się na tych dwóch warunkach: typie zdarzenia i jego wieku.
- Przechodzi po tych zdarzeniach jedno po drugim i dla każdego wysyła komunikat na kanał użytkownika, z którego uprawnieniami wykonywana jest metoda. Komunikat jest trwały, typu ostrzeżenie, i ma tytuł
Verifactu Compliance Alert (Escalated). - Jako treści komunikatu używa opisu zdarzenia. Jeśli zdarzenie nie ma opisu, używa tekstu ogólnego, który zachęca do sprawdzenia poczty e-mail i aktywności.
- Jeśli wysłanie komunikatu się nie powiedzie, zapisuje ostrzeżenie w dzienniku technicznym Odoo z identyfikatorem zdarzenia i przyczyną, po czym przechodzi do kolejnego zdarzenia. Komunikat, który się nie wysłał, nie przerywa przebiegu.

Gdzie są zdarzenia, które przegląda zadanie
Zdarzenia, na które patrzy zadanie, otwierasz z menu Verifactu / SIF › Audit Trail › Event Log. Każdy odcinek menu wymaga uprawnień i jeśli nie masz żadnego z nich, tego odcinka nie widzisz:
- Odcinek
Audit TrailwymagaAccountant,Auditor (read-only),Privacy OfficerlubSIF Manager. - Odcinek
Verifactu / SIFwymagaAccountant,Asesoría Operator,Auditor (read-only),Privacy OfficerlubSIF Manager.
Treść komunikatu pochodzi z pola Description zdarzenia. Widzisz je w karcie All Events (Asesoría), w grupie Description. Na ekranie jest bez etykiety: widać tylko jego zawartość. Pojawia się też na liście All Events (Asesoría).

Przykład ilustracyjny: komunikat, którego nikt nie zobaczył
Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.
Wyobraź sobie wymyśloną firmę Distribuciones Mirlo. Marta ma rolę SIF Manager, a kolega mówi jej, że wyświetlił mu się na ekranie komunikat Verifactu. Jej żaden się nie pojawił i chce zrozumieć dlaczego.
Najpierw otwiera Libro de Eventos i szuka zdarzenia wysłanego alertu. Po otwarciu karty czyta zawartość grupy Description: to dokładnie tekst, który niesie komunikat. Gdyby pole było puste, komunikat pojawiłby się z tekstem ogólnym odsyłającym do poczty i aktywności, więc komunikat z takim tekstem nie byłby błędem.
Potem myśli o czasie. Zdarzenie musi mieć pięć minut od swojego znacznika czasu, a zadanie działa co pięć minut, więc komunikat pojawia się w pierwszym przebiegu po tym progu, a nie w chwili zarejestrowania alertu.
Na koniec zapisuje pytanie do osoby zarządzającej serwerem: kod wysyła komunikat na kanał użytkownika, z którego uprawnieniami wykonywana jest metoda, i chce wiedzieć, kto to jest. Prosi też o sprawdzenie dziennika technicznego Odoo pod kątem ostrzeżeń o niewysłanym komunikacie z identyfikatorem tego zdarzenia.
Czego uczy ten przykład: zadanie wyjaśniają trzy pytania. Czy istnieje zdarzenie alertu o wystarczającym wieku? Jaki ma tekst? Do którego użytkownika wysyłany jest komunikat?
Co sprawdzić, jeśli zadanie nic nie robi
- Czy zdarzenie istnieje. Jeśli nie ma zdarzeń wysłanego alertu mających co najmniej pięć minut, wyszukiwanie nic nie znajdzie i żaden komunikat nie zostanie wysłany.
- Czy zadanie nadal jest aktywne. Jest aktywne po instalacji. Poproś osobę administrującą Odoo o potwierdzenie, że zadanie o tej nazwie nadal jest aktywne.
- Tekst komunikatu. Komunikat z tekstem ogólnym oznacza, że zdarzenie nie miało opisu. Sprawdź opis zdarzenia w karcie
All Events (Asesoría), w grupieDescription. - Dziennik techniczny. Gdy wysłanie komunikatu się nie powiedzie, zostaje ostrzeżenie z identyfikatorem zdarzenia i przyczyną, a zadanie przechodzi do pozostałych.
- Użytkownik docelowy. Komunikat jest wysyłany na kanał użytkownika, z którego uprawnieniami wykonywana jest metoda. Osoba, która to sprawdza, powinna to uwzględnić, zanim uzna, że komunikat nie został wysłany.
Według wersji
Zadanie jest we wszystkich opublikowanych gałęziach modułu (17.0, 18.0, 19.0 i 20.0), a moduł jest opublikowany w Odoo Apps dla tych czterech. W Odoo 17.0 zadanie jest skonfigurowane tak, by powtarzać się bez końca. Szczegół przebiegu, który przeczytałeś, pochodzi z kodu Odoo 20.
Jak pomaga FlexigoTech
FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Jeśli wdrażasz moduł i chcesz razem przejrzeć, kto otrzymuje komunikaty i jak czyta się zdarzenia, napisz do nas. Moduł znajdziesz w karcie Odoo Apps.
Czytaj dalej
Sprawdzone w kodzie źródłowym modułu (wersja 17.0 i 20.0) i w podlinkowanych źródłach
Źródła
- Kod modułu: flexigo_spain_verifactu 20.0 (1fdc980f): data/verifactu_crons.xml
- Kod modułu: flexigo_spain_verifactu 17.0 (8d43d727): data/verifactu_crons.xml
- Kod modułu: flexigo_spain_verifactu 20.0 (1fdc980f): models/verifactu_evento.py
- apps.odoo.com/apps/modules/20.0/flexigo_spain_verifactu
- flexigotech.com/en/services.html
