- Criado por Bruno Alexandrino Pirolo, última alteração em 18 out, 2024

EventViewer é o processo padrão de notificações do Protheus que permite aos usuários se inscreverem em notificações específicas do ERP.
Tem como objetivo possibilitar a emissão de mensagens do ERP de seus processos que ocorrem em segundo plano ou até mesmo que ocorrem em seções de outros usuários e que um determinado usuário tenha interesse.
- Com exceção as notificações de Progresso e Scheduller, todas as demais são emitidas apenas para os usuários inscritos;
- Os gatilhos são definidos nas rotinas do ERP Protheus, podendo também ser implementados em customizações;
- As notificações são geradas no momento do acionamento do gatilho para os usuários inscritos no evento.
- Garantir monitoramento de ações sensíveis no ERP;
- Melhorar a dinâmica entre os processos e áreas;
- Possibilitar melhor acompanhamento de processos em segundo plano;
- Extensão para outras funcionalidades (ex.: Meu Protheus, e-mail).
Diferente do comportamento comumente visto nas mídias sociais, nas notificações Protheus os usuários precisam determinar quais eles desejam receber, sendo possível apenas para usuários do grupo de Administradores realizar a inscrição de outros usuários.
Para realizar inscrição em um evento o usuário deverá acessar o menu “Miscelânea” e selecionar a rotina “Inscr. Event Viewer”, enquanto os usuários com acesso ao Configurador podem realizar por meio do menu “Ambiente/Cadastros” também por meio da opção “Inscr. Event Viewer”.
Os eventos apresentados ficam armazenados na Tabela Genérica (SX5) sobre o código E3, podendo o cliente cadastrar e implementar seus próprios eventos, porém os mesmos podem ser sobrescritos caso coincidir com novos Eventos Padrões. |
Inscrição por Grupo de Usuários
- A partir da lib 20241125 (release 12.1.2410) será possível realizar inscrição de Grupos de Usuários nos eventos, desta forma, todos os membros do grupo indicado receberão as notificações sem a necessidade de realizar a inscrição usuário por usuário.
- Clientes migrados para a release 12.1.2410 a partir da lib 20241125 já contam com esta funcionalidade, enquanto clientes migrados em libs anteriores deveram proceder com a atualização do FwRebuildIndex para criação dos campos necessários.
- Apenas usuários do grupo Administradores podem realizar este tipo de inscrição.
- Usuários não Administradores poderão apenas visualizar as inscrições dos grupos aos quais pertencem.
- Para maiores detalhes consultar Event Viewer - Inscrição de Eventos.
As notificações do Event Viewer podem ser acessadas por meio do ícone localizado no canto superior direito da tela principal do Protheus e a partir da lib 20240408 o ícone passa a sinalizar a existência de novas notificações, sendo:
Não possui mensagens pendentes
Existência de mensagens não lidas
A partir da lib 20240408 o comportamento das notificações do Event Viewer após sua leitura sofreu uma importante mudança, passando a não mais ser apagado e sendo mantido na base de dados com status de "Evento lido", garantindo um melhor histórico, para ativação deste comportamento é necessário executar a rotina de atualização FwRebuildIndex - Rebuild de índices.
Obs.: Em libs anteriores a notificação é apagada da base de dados após a visualização do usuário.
A inclusão de notificações do Event Viewer é um recurso aberto para implementação tanto pelo Produto Padrão quanto por Clientes em suas Customizações, para isso foi disponibilizada a função EventInsert com o objetivo de registrar um Evento e consequentemente notificar todos os usuários inscritos.
Para isso, primeiramente precisamos proceder com o cadastro do evento na tabela genérica E3 (SX5), para isso deveremos acessar o Configurador no menu “Ambiente/Cadastro” e escolher a rotina “Tabelas” (CFGX016).
Importante
Para cadastro de eventos customizados recomenda – se considerar um número muito superior ao atual para o campo Chave (ex.: se a última chave da tabela E3 é 084, cadastrar customizado a partir de 300), garantindo assim uma distância maior até que novas notificações padrões sobrescrevam as customizadas.
Finalizado o cadastro, o novo evento passa a ser disponibilizado para inscrição para os usuários que selecionarem o Canal “002 – Ambientes” e a categoria “001 – Módulos” conforme abaixo:
Porém apenas com o cadastro nenhum evento será emitido para os usuários inscritos pois ainda se faz necessária a implementação do "gatilho" em uma rotina, gatilho esse que podemos programar pelo uso da função EventInsert que vamos detalhar melhor abaixo:
EventInsert( cChannel, cCateg, cEventID, nLevel, cCargo, cTitle, cMessage, lPublic )
Parâmetro | Tipo | Descrição | Obrigatório | Deafult |
---|---|---|---|---|
cChannel | Character | Canal do evento | X | |
cCateg | Character | Categoria do evento | X | |
cEventID | Character | Código do evento | X | |
nLevel | Numeric | Nível do evento, sendo:
| X | |
cCargo | Character | Identificador auxiliar do evento | Em branco | |
cTitle | Character | Título da mensagem do evento | Em branco | |
cMessage | Character | Mensagem do evento | Em branco | |
lPublic | Logical | Indica se é pública, e qualquer inscrito receberá a mensagem (.T.) ou se somente o usuário que disparou o evento. | .F. |
Importante
Não é possível emitir um Evento direcionado para um determinado usuário do sistema, sempre é emitido um evento e apenas os usuários inscritos são notificados.
#Include "FWEVENTVIEWCONSTS.CH" Function TstEvent(cMensagem,cTitulo) Local cEventID := "061" Default cMensagem := "" Default cTitulo := "Bloqueio de Processos" EventInsert(FW_EV_CHANEL_ENVIRONMENT /*"002" */,; FW_EV_CATEGORY_MODULES /*"001" */,; cEventID /*cEventID*/,; FW_EV_LEVEL_INFO /*1 */,; "" /*cCargo */,; cTitulo /*cTitle */,; cMensagem /*cMessage*/,; .T. /*lPublic */) Return Nil
Novidades
Confira o novo layout da tela de Inscrições e o novo recurso de inscrição por Grupo de Usuários em Event Viewer - Inscrição de Eventos.
Confira a nova funcionalidade de Eventos de Progresso em segundo plano em EventViewer - Eventos de Progresso
Confira os novos Eventos de Progresso dos componentes tNewProcess e Processa
Uso do Mingle para receber notificações do Event Viewer
Confira os novos metodos para emissão de erros controlados das classes tNewProcess (ControlledErrorEV) e Processa (ErrorProcessa)
ÚLTIMAS ATUALIZAÇÕES
Atualizado recentemente
Conforme você e sua equipe criam o conteúdo, esta área será preenchida e exibirá as atualizações mais recentes.