O sistema possui uma tabela onde grava todas as alterações de acessos de usuários, seja ativando um acesso ou removendo o acesso de tal usuário, informando qual usuário foi alterado, qual item foi alterado e qual usuário alterou. Abaixo segue uma SQL simples de exemplo de como conseguir a informação da alteração de um usuário e seus respectivos índices.
SELECT
historicoacesso.CodigoUsuarioAlterado,
UsuarioAlterado.matricula,
UsuarioAlterado.Nome AS NomeDoUsuarioTeveAcessoAlterado,
historicoacesso.CodigoUsuarioAcao,
UsuarioQueAlterou.matricula,
UsuarioQueAlterou.Nome AS NomeDoUsuarioQueAlterouAcesso,
CodigoItemAlterado,
TipoItem,
Acao,
DataHora
FROM
historicoacesso
INNER JOIN usuario UsuarioAlterado ON (
historicoacesso.CodigoUsuarioAlterado = UsuarioAlterado.codigo
)
INNER JOIN usuario UsuarioQueAlterou ON (
historicoacesso.CodigoUsuarioAcao = UsuarioQueAlterou.codigo
)
WHERE
historicoacesso.CodigoUsuarioAlterado = 1195
AND historicoacesso.CodigoItemAlterado = 16
LIMIT 10;
historicoacesso.CodigoUsuarioAlterado
Usuário que teve seu acesso modificado
historicoacesso.CodigoUsuarioAcao
Usuário que alterou o acesso do usuário alterado no item anterior.
historicoacesso.Acao (Ativação/Desativação de acesso)
0 = Desmarcou
1 = Marcou
historicoacesso.TipoItem (Guia do formulário de acesso do usuário no sistema, módulo 195 - Acesso)
0 = Acesso
1 = Loja/Empresa
2 = Setor
3 = Centro Operacional
4 = Contrato
5 = Estoque
6 = Divisão
7 = Conta
8 = Estoque Material
9 = Plano de Conta
10 = Terminal
11 = Setores Autorização de Pagamento
12 = Modelo DAV
*Estoque de Visualização não gera histórico das remoções/ativação de acessos.