Como gravar um log de quem alterou um usuário

No artigo de hoje, vamos ativar a gravação de logs para identificar se alguém alterou algum usuário no Protheus.

Às vezes, temos a impressão de algum usuário estava bloqueado, só que alguém foi e desbloqueou. Como podemos ver quem fez essa proeza? Pois bem, abaixo vamos analisar o passo a passo.

 

Ativando a gravação de Logs

  1. Acesse o Configurador, ai entre em Usuário > Senhas > Política

Acessando Política

 

  1. Vá na aba Outros, na sub aba Parâmetros e na seção Regras de Auditoria. Ai informe no campo Auditar atualizações no cadastro de usuário como “Sim”

Habilitando Log

 

  1. Agora é só aguardar as “situações estranhas” acontecerem

 

Consultando o Log

  1. Acesse o Configurador, vá em Base de Dados > Auditoria > Situação de Usuários (a função é a APCFGR30)
  2. Se quiser avaliar algum usuário individualmente (do contrário irá trazer a lista completa), filtre em Outras Ações > Parâmetros

Filtrando

 

  1. Ao confirmar o relatório, terá duas colunas no fim, uma com a data e uma com o código do usuário que fez a última alteração

Exemplo do relatório

 

  1. Agora basta ir no cadastro de usuários, e ver o código do usuário, no nosso caso é o 000003 (nome Daniel)

Verificando no cadastro de usuários

 

Obs.: Caso você precise ver via banco, os campos ficam salvos direto na SYS_USR, sendo USR_L_ADMIN_CH (qual usuário admin que fez a alteração), USR_DTALASTALT (data da alteração) e USR_HRLASTALT (hora da alteração), abaixo uma query de exemplo:

SELECT 
    US1.USR_ID AS CODIGO,
    US1.USR_CODIGO AS USUARIO,
    US1.USR_NOME AS NOME,
    US1.USR_L_ADMIN_CH AS ALTER_POR, 
    US2.USR_CODIGO AS ALTER_USR,
    US1.USR_DTALASTALT AS ALTER_DATA, 
    US1.USR_HRLASTALT AS ALTER_HORA
FROM 
    SYS_USR US1
    LEFT JOIN SYS_USR US2 ON (
        US2.USR_ID = US1.USR_L_ADMIN_CH
        AND US2.D_E_L_E_T_ = ' '
    )
WHERE
    US1.USR_ID = '000004'
    AND US1.D_E_L_E_T_ = ' '

E abaixo o print da query:

Exemplo de query

 

Referências:

 

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação