Árvore de páginas

Produto:

Protheus.

Ocorrência:

SIGACFG- Como configurar o sistema para gravar o nome do usuário que realizou uma Inclusão/Alteração no sistema e a Data de Inclusão?

Passo a passo:

  • Para que o sistema possa gravar o nome do usuário que realizou alterações em rotinas do sistema deverá o cliente executar os procedimentos conforme demonstrado abaixo.
  • Esse procedimento poderá ser realizado em qualquer tabela do sistema.
  • Este procedimento tem por finalidade efetuar o controle e auditoria de informações da base.

  • Acesse o SIGACFG - CFGX031- Base de Dados/Dicionários/Base de Dados:
  • No exemplo abaixo iremos aplicar a funcionalidade na tabela SRC- Movimento Mensal.
  • Clique na opção dicionário de dados para que todas as tabelas possam ser apresentadas.

  • Através da Lupa , selecione a tabela desejada- SRC e clique em Editar .

  • Selecione a opção "campos" e após clique em campos reservados.

  • Selecione a primeira opção "Log de Inclusão"- Este campo terá por finalidade armazenar o nome do usuário que realizou a inclusão de informações na tabela.
  • Clique em Finalizar.

  • Selecione a opção "campos" e após clique em campos reservados.

  • Selecione a primeira opção "Log de Alteração"- Este campo terá por finalidade armazenar o nome do usuário que realizou a alteração de informações na tabela.
  • Clique em Finalizar.

-Após, visualize a criação dos campos RC_USERLGI e RC_USERLGA e clique na flecha verdepara Salvar a alteração realizada.

  • Feito isto, para que o sistema grave a informação no dicionário de dados, deverá o procedimento ser salvo, logo, clique em .

  • Feito isto, deverá ser criados campos virtuais no sistema, conforme descrito abaixo.
  • Será criado o campo Log de Inclusão.
  • Estes campos armazenarão o Log de Inclusão/Alteração realizados pelos usuários no sistema Protheus, porém, eles ficam com a informação criptografada, então deverá ser incluído novos campos virtuais com uma função para visualizar os nomes dos usuários.
  • Campo virtual aparecerá na tela no grid ou quando abrir determinada tela, a informação não será gravada no banco, apenas de forma criptografada.
  • Selecione a tabela SRC.

  • Clique na opção Incluir .

  • Abaixo será criado o campo "RC_LOGINC".
  • Preencha as informações conforme abaixo.

,

  • Campo "Título" é um campo obrigatório.

  • Na aba "opções" Inclua a seguinte função nos campos: "Inic. Padrão" e "Inic.Browse".
  • USRFULLNAME(SUBSTR(EMBARALHA(SRC->RC_USERLGI,1),3,6))

  • Veja abaixo que o campo RC_USERLGI foi criado com sucesso.

  • Salve a alteração realizada.

  • Clique em avançar.

  • Atualização do dicionário realizada com sucesso.

  • Abaixo será criado o campo "RC_LOGALT".
  • Preencha as informações conforme abaixo.

  • Campo "Título" é um campo obrigatório.

  • Na aba "opções" Inclua a seguinte função nos campos: "Inic. Padrão" e "Inic.Browse".
  • USRFULLNAME(SUBSTR(EMBARALHA(SRC->RC_USERLGA,1),3,6))

  • Efetue o mesmo procedimento para salvar a alteração e atualizar o dicionário de dados.

Caso após a atualização o sistema não recrie os campos na tabela, favor execute o seguinte procedimento.

  • Pare os serviços Protheus.
  • Reinicie os serviços.
  • Acesse o APSDU.
  • Selecione a tabela onde o campo foi criado, conforme exemplo acima SRC.
  • Faça um backup da tabela.
  • Drop a tabela SRC e recrie.
  • Em Topconnect abra a tabela SRC e verifique a existência do novo campo.

Para teste do procedimento:

  • Acesse a rotina GPEA090- Atualizações/Lançamentos/Mensal;
  • Inclua uma verba;
  • Acesse o APSDU- Arquivo/Abrir/Topconnect/SRC e busque pela coluna RC_USERLGI e verifique que estará gravado o nome do usuário (criptografado) que realizou a inclusão da informação na tabela.
  • Campo virtual aparecerá na tela no grid ou quando abrir determinada tela, a informação não será gravada no banco, apenas de forma criptografada.


  • Para incluir o campo "data de Inclusão", faça o seguinte procedimento:
  • Conforme o exemplo dos processos acima, crie um campo chamado RC_DTINC:

  • Na aba "opções" Inclua a seguinte função nos campos: "Inic. Padrão" e "Inic.Browse".
  • "Inic. Padrão":  FWLEUSERLG('RC_USERLGI', 2)
  • "Inic. Browse": FWLEUSERLG('RC_USERLGI', 2)4
  • Feito isto, salve as informações conforme os exemplos anteriores para que o sistema atualize o dicionário de dados.
  • Acesse o sistema e veja que o campo foi criado na rotina Atualizações/Lançamentos/Mensal:
  • Outra curiosidade sobre este processo é que quando estes campos são criados eles também serão assumidos pela rotina Atualização/Lançamentos/Por Verba pois esta rotina grava informações na tabela SRC- Movimento Mensal:

Observações: