Criar um evento
Se você não encontrar um evento existente adequado, poderá criar o seu próprio.
Antes de Iniciar
Por Que e Quando Desempenhar Esta Tarefa
Procedimento
- Navegar até Tudo > Política do Sistema > Eventos > Registroe selecione Novo.
-
No formulário, preencha os campos.
Tabela 1. Preenchimento do formulário de registro de evento Campo Descrição Nome do evento Nome do seu novo evento. Tabela Tabela de banco de dados para este evento. Nota:Somente tabelas e exibições de banco de dados que estão no mesmo escopo do evento aparecem na listagem.Fila Nome da fila em que o evento é colocado quando acionado. Use somente letras minúsculas, sem espaços e sem caracteres especiais, exceto sublinhado (_). Por exemplo, my_queue. Consulte Using custom queues to process events.
Prioridade Ordem na qual as mensagens serão processadas. Valores mais baixos têm prioridade mais alta. Nota:A propriedade do sistema com.glide.sysevent.priority.enabled está habilitada por padrão. Se você desativá-lo, o processamento de eventos não será feito por prioridade.Acesso do solicitante Configurações de acesso de chamador restrito. - Restrição do solicitante: as chamadas para o recurso devem ser aprovadas manualmente.
- Acompanhamento de chamadas: as chamadas para o recurso são aprovadas automaticamente.
Disparado por Nome da regra de negócio que executa o evento. Este campo é somente para referência e não é usado por nenhum processo. Verifique se há informações suficientes para localizar seu evento novamente. Descrição Descrição resumida da finalidade do evento. - Clique no link relacionado Regras de negócio.
-
Se você estiver criando um evento para uma tabela do sistema base, selecione a regra de negócio de evento existente para a tabela.
Por exemplo, selecione a regra de negócio sc request events para criar um evento de solicitação personalizado.
-
Se você estiver atualizando uma regra de negócio de evento existente, adicione uma nova condição ao Script.
O script de exemplo a seguir adiciona um evento request.commented com o SYS ID do usuário como parm1 e o nome de usuário do usuário para parm2.
if (current.operation() != 'insert' && current.comments.changes()) { gs.eventQueue('request.commented', current, gs.getUserID(), gs.getUserName()); } -
Se você estiver criando um evento para uma tabela personalizada, crie uma nova regra de negócio que seja executada após as operações do banco de dados.
Por exemplo, esta regra de negócio define vários eventos para uma aplicação personalizada chamada Eventos de Marketing.
Tabela 2. Exemplo de regra de negócio de evento Campo Valor Nome Eventos do participante Tabela Participante [x_snc_marketing_ev_apartee] Aplicação Eventos de Marketing Avançado Selecionado Quando após Inserir Selecionado Atualizar Selecionado Excluir Selecionado Script Adicionar script personalizado que:- Verifica se há uma ou mais condições no registro atual.
- Chama o método gs.eventQueue() e especifica um nome de evento.
Consulte a amostra de código.
Nota:Se você adicionar Condições de filtro, Condições de funçãoou um valor de Condição, verifique se ele executa a regra de negócio quando esperado.(function executeRule(current, previous /*null when async*/) { //This function will be automatically called when this rule is processed. //Add event when attendee inserted if(current.operation() == 'insert' && current.marketing_event.changes()) { gs.eventQueue('x_snc_marketing_ev.attendee.added', current, current.marketing_event, current.email); } //Add event when marketing event changes if(current.operation() == 'update' && current.marketing_event.changes()) { gs.eventQueue('x_snc_marketing_ev.attendee.deleted', previous, previous.marketing_event, previous.email); gs.eventQueue('x_snc_marketing_ev.attendee.added', current, current.marketing_event, current.email); } //Add event when attendee deleted if(current.operation() == 'delete') { gs.eventQueue('x_snc_marketing_ev.attendee.deleted', current, current.marketing_event, current.email); } })(current, previous); - Registre o evento.