Páginas filhas
  • Como adicionar uma rotina de usuario no Event Viewer
  • Primeiro devemos criar o evento na tabela E3 das tabelas padrões do sistema:

 tabela E3

Itens da tabela E3

  • Depois criamos um Rdmake utilizando a Função abaixo:

EventInsert( cChannel, cCateg, cEventID, nLevel, cCargo, cTitle, cMessage, lPublic )

Parâmetros:

NomeTipoObrigatórioDefaultDescrição
cChanelCaractereXFW_EV_CHANEL_ENVIRONMENTCanal do Evento, como padrão deve-se utilizar a constante FW_EV_CHANEL_ENVIRONMENT.
cCategCaractereXFW_EV_CATEGORY_MODULESCategoria do Evento, referente ao canal selecionado, como padrão deve-se utilizar a constante FW_EV_CATEGORY_MODULES.
cEventIDCaractereX
Código do evento cadastrado na tabela E3.
nLevelNuméricoXFW_EV_LEVEL_INFONível do evento utilizado, como padrão deve-se utilizar a constante FW_EV_LEVEL_INFO.
cCargoCaractereX
Uso interno
cTitleCaractereX
Título da mensagem
cMessageCaractereX
Mensagem do evento, podendo ser uma string json. Caso seja uma string json deverá conter as propriedades obrigatórias, sendo elas: notification, title e body (exemplo de utilização abaixo) - Possibilidade da string em formato json disponível a partir da LIB Label 20221010 
lPublicLógico
.F.Se passada como .T. (verdadeiro), a mensagem poderá ser lida por todos inscritos no evento, caso contrário só pelo usuário gerador do evento.


Retorno:

Caso tenha algum erro o retorno será nulo


Exemplo:

Evento com mensagem em formato texto
#INCLUDE "FWEVENTVIEWCONSTS.CH"

User Function TstEW()
	Local cEventID as character
 	Local cMensagem as character
 	Local cTitulo as character


	cEventID  := "777" //Evento cadastrado na tabela E3

	cMensagem  := "Evento enviado com sucesso."

	cTitulo:='Teste do Event Viewer'      

	EventInsert(FW_EV_CHANEL_ENVIRONMENT, FW_EV_CATEGORY_MODULES, cEventID, FW_EV_LEVEL_INFO, "", cTitulo, cMensagem, .T.)

Return
Evento com mensagem em formato json string
#INCLUDE "FWEVENTVIEWCONSTS.CH"

User Function TstEW()     Local cEventID as character
    Local cTitulo as character
    Local jMsg as json
    Local jNotification as json
    
    jNotification := JsonObject():New()

    jMsg := JsonObject():New()
    jMsg["title"] := "cliente"
    jMsg["body"] := "Evento enviado com sucesso."
    jMsg["click_action"] := "notificar"
    
    jNotification["notification"] := jMsg
    
    cEventID  := "777" //Evento cadastrado na tabela E3
 
    cTitulo:='Teste do Event Viewer'      
     
    //Possibilidade da string em formato json disponível a partir da LIB Label 20220905
    EventInsert(FW_EV_CHANEL_ENVIRONMENT, FW_EV_CATEGORY_MODULES, cEventID, FW_EV_LEVEL_INFO, "", cTitulo, jNotification:toJson(), .T.)
 
Return
  • Efetuar o cadastro do evento através da rotina "Inscrição no Event Viewer" na pasta miscelânea de qualquer módulo.

 Event Viewer do módulo de Compras

Agora é só executar a rotina criada e verificar o e-mail enviado.