Execução automática de rotinas por intervalo de tempo


#1

Boa tarde.
É possível ‘agendar’ a execução periódica de alguma rotina no Adempiere? Por exemplo, criamos uma campo no cadastro do cliente para sua classificação ‘RFV’ (Recência / Frequência / Valor) de acordo com a periodicidade e o valor dos pedidos de compra nos últimos 12 meses e a data do último pedido. Estamos criando uma rotina para atualização deste campo, mas gostaríamos que, além de ser executada manualmente, ela também pudesse ser automaticamente executada todo dia 1º, para garantir que a equipe de vendas não se esqueça de executá-la. É possível fazer este tipo de agendamento (como os jobs do SAP)?
Como são atualizados os indicadores dos dashboards de análise de desempenho, por exemplo? Periodicamente ou a cada execução/visualização?
Pensamos na possibilidade de atualizar este campo da classificação RFV a cada vez que a ficha do parceiro de negócios for aberta e também a cada vez que lançarmos um novo pedido para ele (o RFV implica em um fator de desconto, no nosso caso), mas estamos preocupados com o desempenho no primeiro caso, quando houverem muitos clientes e/ou com histórico muito grande.

Obrigado mais uma vez. :slight_smile:


#2

Olá,

Dê uma olhada numa janela do Adempiere chamada Agendador, lá você consegue definir um processo para ser executado em uma determinada frequência.

Os indicadores são atualizados cada vez que o Adempiere é aberto, desde que haja um intervalo de uma hora. Ex. se você abrir o adempiere dentro da mesma hora os indicadores não serão atualizados.

Para executar o processo cada vez que uma janela é aberta você precisará de uma modificação mais intrusiva no código fonte, para executar cada vez que um pedido novo é lançado você consegue resolver via framework, pesquise sobre Workflow (Document Value).

Att.