O que faz a tarefa em cada execução
A tarefa chama-se Verifactu: Alert Escalation to In-App Banner. Corre a cada cinco minutos e vem ativa ao instalar. Existe em todos os ramos publicados do módulo: Odoo 17, 18, 19 e 20. A ordem de uma execução, segundo o código publicado do Odoo 20, é esta:
- Calcula um limite: a hora atual em UTC menos cinco minutos.
- Procura os eventos do tipo alerta enviada cuja marca temporal seja igual ou anterior a esse limite. A pesquisa faz-se por essas duas condições, o tipo do evento e a sua antiguidade.
- Percorre esses eventos um a um e, para cada um, envia um aviso para o canal do utilizador com o qual o método é executado. O aviso é persistente, do tipo advertência, e leva o título
Verifactu Compliance Alert (Escalated). - Como texto do aviso usa a descrição do evento. Se o evento não tiver descrição, usa um texto genérico que convida a rever o e-mail e as atividades.
- Se o envio de um aviso falhar, escreve uma advertência no registo técnico do Odoo com o identificador do evento e o motivo, e segue para o evento seguinte. Um aviso que falha não interrompe a execução.

Onde estão os eventos que percorre
Os eventos que a tarefa analisa são os que se abrem a partir do menu Verifactu / SIF › Audit Trail › Event Log. Cada troço do menu exige permissões e, se não tiver uma delas, não vê esse troço:
- O troço
Audit TrailexigeAccountant,Auditor (read-only),Privacy OfficerouSIF Manager. - O troço
Verifactu / SIFexigeAccountant,Asesoría Operator,Auditor (read-only),Privacy OfficerouSIF Manager.
O texto do aviso sai do campo Description do evento. Vê-o na ficha de All Events (Asesoría), dentro do grupo Description. No ecrã aparece sem rótulo: só se vê o seu conteúdo. Também aparece na lista de All Events (Asesoría).

Um caso ilustrativo: o aviso que ninguém viu
Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.
Imagine uma empresa inventada, Distribuciones Mirlo. A Marta tem o papel SIF Manager e um colega comenta-lhe que lhe apareceu um aviso de Verifactu no ecrã. A ela não apareceu nenhum e quer perceber porquê.
Primeiro abre o Libro de Eventos e procura um evento de alerta enviada. Ao abrir a sua ficha, lê o conteúdo do grupo Description: esse é precisamente o texto que o aviso leva. Se o campo estivesse vazio, o aviso sairia com o texto genérico que remete para o e-mail e para as atividades, pelo que um aviso com esse texto não seria uma falha.
Depois pensa no momento. O evento tem de ter cumprido cinco minutos desde a sua marca temporal e a tarefa corre a cada cinco minutos, pelo que o aviso chega na primeira execução posterior a esse limite, não no mesmo instante em que a alerta é registada.
Por fim, anota uma pergunta para quem administra o servidor: o código envia o aviso para o canal do utilizador com o qual o método é executado, e quer saber qual é. Pede também que reveja o registo técnico do Odoo, para ver se há advertências de aviso não enviado com o identificador desse evento.
O que o caso ensina: a tarefa explica-se com três perguntas. Existe um evento de alerta com antiguidade suficiente? Que texto leva? A que utilizador se envia o aviso?
O que ver se a tarefa não faz nada
- Que o evento exista. Se não houver eventos de alerta enviada com pelo menos cinco minutos de antiguidade, a pesquisa não encontra nada e não se envia nenhum aviso.
- Que a tarefa continue ativa. Vem ativa ao instalar. Peça a quem administra o Odoo que confirme que a tarefa com esse nome continua ativa.
- O texto do aviso. Um aviso com o texto genérico significa que o evento não tinha descrição. Consulte a descrição do evento na ficha de
All Events (Asesoría), dentro do grupoDescription. - O registo técnico. Quando um aviso falha ao ser enviado, fica uma advertência com o identificador do evento e o motivo, e a tarefa segue com os restantes.
- O utilizador destinatário. O aviso é enviado para o canal do utilizador com o qual o método é executado. Quem o analisar deve ter isto em conta antes de concluir que o aviso não foi enviado.
Por versões
A tarefa existe em todos os ramos publicados do módulo (17.0, 18.0, 19.0 e 20.0), e o módulo está publicado na Odoo Apps para essas quatro. No Odoo 17.0, a tarefa está configurada para se repetir sem fim. O detalhe da execução que leu é o do código do Odoo 20.
Como ajuda a FlexigoTech
A FlexigoTech implementa o Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida. Se está a implementar o módulo e quer rever consigo quem recebe os avisos e como se leem os eventos, pode escrever-nos. O módulo está na ficha da Odoo Apps.
Continue a ler
Verificado no código do módulo (versão 17.0 e 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigo_spain_verifactu 20.0 (1fdc980f): data/verifactu_crons.xml
- Código do módulo: flexigo_spain_verifactu 17.0 (8d43d727): data/verifactu_crons.xml
- Código do módulo: 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
