Log de operações da Nota Fiscal de Saída
1) Contextualização
- O recurso realiza o log de diversas operações efetuadas na Nota Fiscal de Saída, permitindo a rastreabilidade dessas operações e fornecendo insumos para a análise de cenários ou investigação de erros, por parte da equipe de Manutenção e/ou de Suporte.
- O recurso também pode ser utilizado como Log de auditoria, com tempo de expiração limitado, conforme será visto posteriormente.
Abaixo segue a lista de Operações efetuadas na Nota Fiscal de Saída que a rotina possibilita mapear:
- Inclusão;
- Alteração;
- Exclusão (implementada a partir da versão 5-10-3-37);
- Fechamento;
- Emissão;
- Operações Eletrônicas;
- Reabilitação (implementada a partir da versão 5-10-3-70);
- Cancelamento (implementada a partir da versão 5-10-3-70).
Abaixo segue a lista de Operações Eletrônicas efetuadas na Nota Fiscal de Saída que a rotina possibilita mapear:
- Emissão;
- Inutilização;
- Carta de Correção Eletrônica;
- Evento de Cancelamento;
- Comprovante de Entrega;
- Cancelamento de Comprovante de Entrega;
- Registro de Saída;
- Cancelamento de Registro de Saída;
Em qual versão o recurso está disponível?
O recurso foi disponibilizado a partir da versão 5-10-3-37. A recomendação da Senior é que o recurso seja utilizado com o sistema atualizado, ou seja, com a versão 5-10-3-70, visto que nessa versão foram liberadas diversas correções de melhorias. É importante estar com essa versão ou em versões posteriores para que o log contemple todas as interfaces (Telas, web service, Processos Automáticos) e também para que a higienização da tabela de Log ocorra corretamente, evitando lentidão na geração da Notas Fiscais de Saída.
Para conhecimento
- A cada tentativa de log, o sistema verifica o valor do parâmetro global que habilita a rotina na Base de Dados, nunca em memória. Isso foi feito para que seja possível habilitar/desabilitar o recurso sem a necessidade de reiniciar o sistema/middleware.
- O comando executado pelo sistema para verificar se o recurso está ativo segue abaixo. Nenhum campo da consulta deve ser alterado:
SELECT VLRCMP
FROM E000PXF
WHERE CODEMP = 0
AND CODFIL = 0
AND CODUSU = 0
AND IDFFRM = '$PARAMETROS_GLOBAIS_SAPIENS$'
AND CMPFRM = 'GerLogNfs'
- O resultado da consulta com valor “S - Sim” indica que o recurso está ativo.
- Qualquer outro valor diferente de “S - Sim” ou mesmo a não existência do registro indicam que o recurso está inativo.
2) Novas necessidades e/ou sugestões
- Novas operações, tanto para as Operações efetuadas na Nota Fiscal de Saída, como para as Operações Eletrônicas, podem ser implementadas mediante necessidade de monitoramento elencadas pela equipe de Manutenção e/ou Suporte.
- Sugestões para tornar o recurso mais versátil também são bem vindas.
- Existindo a necessidade de efetuar o Log de outras rotinas, como por exemplo: Pedidos, Cargas, Notas de Entrada, basta entrar em contato com o suporte ou manutenção que estes irão analisar a viabilidade.
3) Clientes que já utilizavam o recurso
- Clientes que já utilizam o recurso de log de operações da nota fiscal de saída devem desabilitá-lo via parâmetro global e adequar a tabela de usuário à nova estrutura que será apresentada nesse documento.
- Caso não seja feita essa adequação da tabela, então certamente ocorrerá o
seguinte aviso na entrada do sistema:
“Erro na leitura do parâmetro global de sistema ‘GerLogNfs’: Valor ‘S’ inválido para o parâmetro global de sistema ‘GerLogNfs’: Não foi possível habilitar o log de operações da Nota Fiscal de Saída: A estrutura da tabela ‘USU_T140NFVLOG’, necessária para o log de operações da Nota Fiscal de Saída não está coerente. Pode-se desabilitar o log por meio do parâmetro ‘GerLogNfs’ na tela F000PGS. "
4) Erros durante o uso do recurso
- Caso ocorra algum erro durante a gravação do log, isso poderá impedir alguma operação efetuada na Nota Fiscal de Saída. Nesse cenário o sistema exibirá uma mensagem referenciando a tabela USU_T140NFVLOG e/ou o Parâmetro Global GerLogNfs, conforme exemplo apresentado abaixo:
“A estrutura da tabela USU_T140NFVLOG, necessária para o log de operações da nota fiscal de saída não está coerente. Pode-se desabilitar o log por meio do parâmetro ‘GerLogNfs’ na tela F000PGS”.
- Havendo urgência na continuidade de uso do sistema, pode-se desabilitar o parâmetro global até que a base de dados esteja adequada à nova estrutura, ou até que o erro que impede a gravação do log seja corrigido. Para desabilitar a funcionalidade basta acessar a tela Manutenção dos parâmetros globais do sistema (F000PGS) e atribuir “N - Não” ao parâmetro global GerLogNfs.
4.1) Como desabilitar o recurso de log em emergências
- O recurso deve ser desabilitado mediante a alteração do Parâmetro Global por meio da tela Manutenção dos parâmetros globais do sistema (F000PGS). Em emergências, caso não seja possível acessar essa tela, pode-se desabilitar o recurso de log por meio do comando SQL de Update abaixo:
UPDATE E000PXF
SET VLRCMP = 'N'
WHERE CODEMP = 0
AND CODFIL = 0
AND CODUSU = 0
AND IDFFRM = '$PARAMETROS_GLOBAIS_SAPIENS$'
AND CMPFRM = 'GerLogNfs'
5) Habilitando o recurso
- Para habilitar o recurso de log de operações da nota fiscal de saída deve-se seguir alguns passos, que seguem enumerados e descritos abaixo:
Importante
A tabela, todos os campos e o índice precisam ser criados pelo CBDS para que uma consistência de base ou mesmo uma atualização de versão não exclua essa tabela, seus campos e índices.
5.1) Criar a tabela de usuário USU_T140NFVLOG conforme especificado abaixo:
Nome: USU_T140NFVLOG;
Descrição: Tabela de Log de Operações da Nota Fiscal de Saída;
Permissão de Usuário: Acesso Completo;
Monitoramento: Não monitorar.
5.2) criar o campo de usuário USU_SEQUENCIAL conforme especificado abaixo:
Nome do Campo: USU_SEQUENCIAL;
Máscara: Z[11]9;
Tipo: Number;
Tamanho: 12;
Precisão: 0;
Título Curto: USU_SEQUENCIAL;
Título: USU_SEQUENCIAL;
Descrição: USU_SEQUENCIAL;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.3) criar o campo de usuário USU_DATA conforme especificado abaixo:
Nome do Campo: USU_DATA;
Máscara: DD/MM/YYY;
Tipo: Date;
Tamanho: 0;
Precisão: 0;
Título Curto: USU_DATA;
Título: USU_DATA;
Descrição: USU_DATA;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.4) criar o campo de usuário USU_CODEMP conforme especificado abaixo:
Nome do Campo: USU_CODEMP;
Máscara: ZZZ9;
Tipo: Number;
Tamanho: 4;
Precisão: 0;
Título Curto: USU_CODEMP;
Título: USU_CODEMP;
Descrição: USU_CODEMP;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.5) criar o campo de usuário USU_CODFIL conforme especificado abaixo:
Nome do Campo: USU_CODFIL;
Máscara: ZZZZ9;
Tipo: Number;
Tamanho: 5;
Precisão: 0;
Título Curto: USU_CODFIL;
Título: USU_CODFIL;
Descrição: USU_CODFIL;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.6) criar o campo USU_USUARIO conforme especificado abaixo:
Nome do Campo: USU_USUARIO;
Máscara: Z[9]9;
Tipo: Number;
Tamanho: 10;
Precisão: 0;
Título Curto: USU_USUARIO;
Título: USU_USUARIO;
Descrição: USU_USUARIO;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.7) criar o campo USU_USU_ERP conforme especificado abaixo:
Nome do Campo: USU_USU_ERP;
Máscara: A[100];
Tipo: String;
Tamanho: 100;
Precisão: 0;
Título Curto: USU_USU_ERP;
Título: USU_USU_ERP;
Descrição: USU_USU_ERP;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.8) criar o campo USU_ORIGEM conforme especificado abaixo:
Nome do Campo: USU_ORIGEM;
Máscara: A[100];
Tipo: String;
Tamanho: 100;
Precisão: 0;
Título Curto: USU_ORIGEM;
Título: USU_ORIGEM;
Descrição: USU_ORIGEM;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.9) criar o campo USU_OPERACAO conforme especificado abaixo:
Nome do Campo: USU_OPERACAO;
Máscara: A[100];
Tipo: String;
Tamanho: 100;
Precisão: 0;
Título Curto: USU_OPERACAO;
Título: USU_OPERACAO;
Descrição: USU_OPERACAO;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.10) criar o campo USU_OBSERVACAO conforme especificado abaixo:
Nome do Campo: USU_OBSERVACAO;
Máscara: #(40,3)#;
Tipo: String;
Tamanho: 999;
Precisão: 0;
Título Curto: USU_OBSERVACAO;
Título: USU_OBSERVACAO;
Descrição: USU_OBSERVACAO;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.11) criar o campo USU_ROTINA conforme especificado abaixo:
Nome do Campo: USU_ROTINA;
Máscara: 9[9];
Tipo: Number;
Tamanho: 9;
Precisão: 0;
Título Curto: USU_ROTINA;
Título: USU_ROTINA;
Descrição: USU_ROTINA;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.12) criar o campo USU_WEBSERVICE conforme especificado abaixo:
Nome do Campo: USU_WEBSERVICE;
Máscara: A[250];
Tipo: String;
Tamanho: 250;
Precisão: 0;
Título Curto: USU_WEBSERVICE;
Título: USU_WEBSERVICE;
Descrição: USU_WEBSERVICE;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.13) criar o campo USU_TRANSACOES conforme especificado abaixo:
Nome do Campo: USU_TRANSACOES;
Máscara: 9[3];
Tipo: Number;
Tamanho: 3;
Precisão: 0;
Título Curto: USU_TRANSACOES;
Título: USU_TRANSACOES;
Descrição: USU_TRANSACOES;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.14) criar o campo USU_CONEXAO conforme especificado abaixo:
Nome do Campo: USU_CONEXAO;
Máscara: A[100];
Tipo: String;
Tamanho: 100;
Precisão: 0;
Título Curto: USU_CONEXAO;
Título: USU_CONEXAO;
Descrição: USU_CONEXAO;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.15) criar o campo USU_COMPUTADOR conforme especificado abaixo:
Nome do Campo: USU_COMPUTADOR;
Máscara: A[100];
Tipo: String;
Tamanho: 100;
Precisão: 0;
Título Curto: USU_COMPUTADOR;
Título: USU_COMPUTADOR;
Descrição: USU_COMPUTADOR;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.16) criar o campo USU_USU_SO conforme especificado abaixo:
Nome do Campo: USU_USU_SO;
Máscara: A[100];
Tipo: String;
Tamanho: 100;
Precisão: 0;
Título Curto: USU_USU_SO;
Título: USU_USU_SO;
Descrição: USU_USU_SO;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.17) criar o campo USU_REGRA conforme especificado abaixo:
Nome do Campo: USU_REGRA;
Máscara: #(40, 3)#;
Tipo: String;
Tamanho: 999;
Precisão: 0;
Título Curto: USU_REGRA;
Título: USU_REGRA;
Descrição: USU_REGRA;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.18) criar o campo de usuário USU_EMPNFV conforme especificado abaixo:
Nome do Campo: USU_EMPNFV;
Máscara: ZZZ9;
Tipo: Number;
Tamanho: 4;
Precisão: 0;
Título Curto: USU_EMPNFV;
Título: USU_EMPNFV;
Descrição: USU_EMPNFV;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.19) criar o campo de usuário USU_FILNFV conforme especificado abaixo:
Nome do Campo: USU_FILNFV;
Máscara: ZZZZ9;
Tipo: Number;
Tamanho: 5;
Precisão: 0;
Título Curto: USU_FILNFV;
Título: USU_FILNFV;
Descrição: USU_FILNFV;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.20) criar o campo USU_SNFNFV conforme especificado abaixo:
Nome do Campo: USU_SNFNFV;
Máscara: u[3];
Tipo: String;
Tamanho: 3;
Precisão: 0;
Título Curto: USU_SNFNFV;
Título: USU_SNFNFV;
Descrição: USU_SNFNFV;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.21) criar o campo USU_ABRNFV conforme especificado abaixo:
Nome do Campo: USU_ABRNFV;
Máscara: #(40, 3)#;
Tipo: String;
Tamanho: 999;
Precisão: 0;
Título Curto: USU_ABRNFV;
Título: USU_ABRNFV;
Descrição: USU_ABRNFV;
Permite Nulo: S;
Permite Zero/Espaço: S;
Permissão o Usuário: Acesso Completo.
5.22) criar o índice USU_USU_IDATA com o campo USU_DATA:
Nome do Índice: USU_USU_IDATA;
Campos: USU_DATA;
Único: N.
Importante
O índice é essencial para otimizar a limpeza dos registros, que é feita pelo próprio recurso com base na data deles.
5.23) abaixo um resumo de como deve ficar a tabela de usuário:
Tabela: USU_T140NFVLOG
Campos:
- USU_SEQUENCIAL;
- USU_DATA;
- USU_CODEMP;
- USU_CODFIL;
- USU_USUARIO;
- USU_USU_ERP;
- USU_ORIGEM;
- USU_OPERACAO;
- USU_OBSERVACAO;
- USU_ROTINA;
- USU_WEBSERVICE;
- USU_TRANSACOES;
- USU_CONEXAO;
- USU_COMPUTADOR;
- USU_USU_SO;
- USU_REGRA;
- USU_EMPNFV;
- USU_FILNFV;
- USU_SNFNFV;
- USU_ABRNFV.
6) Configurando o sistema
6.1) Acessar a tela Manutenção dos parâmetros globais do sistema (F000PGS) e atribuir “S - Sim” ao parâmetro global GerLogNfs:
- Na tela Manutenção dos parâmetros globais do sistema (F000PGS), carregar o Parâmetro Global GerLogNfs e alterar o valor dele para “S - Sim”.
- O sistema somente permitirá a mudança do parâmetro caso a tabela de usuário exista e contenha todos os campos necessários para que o recurso funcione corretamente. Caso houver alguma inconsistência na estrutura da tabela, então o parâmetro não será alterado e o recurso não será habilitado.
Importante
- O parâmetro global tem abrangência para todo o ERP, ou seja, não é uma configuração a nível de empresa, filial ou usuário.
- O fato do parâmetro ter sido ativado não indica que o recurso está funcional!
- Ainda é preciso configurar as operações que o sistema poderá efetuar log. Essa configuração é feita por meio dos parâmetros dinâmicos da filial, de cada empresa e filial onde deseja-se habilitar o recurso.
6.2) Acessar a tela Parâmetros da Filial para Vendas (F070FVE) e inserir/alterar o parâmetro dinâmico NOTAFISCALSAIDA.LOG.OPERACOES:
- Acessar a tela Parâmetros da Filial para Vendas (F070FVE) e carregar a filial onde deseja aplicar os Parâmetros Dinâmicos;
- Na canto inferior esquerdo o clicar no botão Par. Dinâmico;
- A tela Configuração de parâmetros dinâmicos (F000PPD) será aberta.
6.3) Na tela Configuração de parâmetros dinâmicos (F000PPD) configurar as operações que podem efetuar log:
- O sistema abrirá a tela Configuração de parâmetros dinâmicos (F000PPD) ao clicar no botão Par. Dinâmico da tela Parâmetros da Filial para Vendas (F070FVE);
- Criar ou Alterar o Parâmetro Dinâmico NOTAFISCALSAIDA.LOG.OPERACOES .
- Para habilitar as operações deve-se seguir a tabela abaixo, informando uma ou mais de uma opção, conforme necessidade. As Operações inseridas devem estar separadas por vírgula, por exemplo: I,A,E,F.
6.4) Operações Disponíveis:
- I - log de Inclusão;
Indica que o sistema deve logar toda inclusão dos Dados Gerias das Notas Fiscais de Saída.
- A - log de Alteração;
Indica que o sistema deve logar toda alteração realizada nos Dados Gerias da Nota Fiscal de Saída.
- D - log de Depuração;
Indica que o sistema deve logar os pontos de depuração existentes na Nota Fiscal de Saída.
- E - log de Exclusão;
Indica que o sistema deve logar toda exclusão de Nota Fiscal de Saída.
- F - log de Fechamento;
Indica que o sistema deve logar todo fechamento de Nota Fiscal de Saída.
- M - log de Emissão;
Indica que o sistema deve logar toda emissão de Documentos Eletrônicos de Notas Fiscais de Saída.
- L - log de Operações Eletrônicas;
Indica que o sistema deve logar todas as Operações Eletrônicas executadas nas Notas Fiscais de Saída.
- R - Habilita o Identificador de Regras VEN-140LOGNF01.
Indica que o sistema pode invocar o identificador de regras VEN-140LOGNF01 a cada geração de log que for efetuada;
- C - Cancelamento de Nota Fiscal de Saída.
Indica que o sistema deve logar todo cancelamento de Nota Fiscal de Saída.
- B - Reabilitação de Nota Fiscal de Saída.
Indica que o sistema deve logar toda reabilitação de Nota Fiscal de Saída.
Identificador de regras VEN140LOGNF01
A rotina de log de operações da Nota Fiscal de Saída disponibiliza um ponto de regra para ser utilizado da forma como for necessário. Para que o identificador execute é necessário que exista a opção “R” cadastrada no parâmetro dinâmico NOTAFISCALSAIDA.LOG.OPERACOES da filial da empresa que estiver gerando o documento. Em 99,99% dos casos a empresa/filial do documento é também a empresa/filial logada.
Importante
Não recomenda-se executar consistências por meio do identificador.
Para conhecimento
- A cada tentativa de log o sistema verifica o valor do identificador de regras na base, nunca em memória. Isso foi feito para que seja possível habilitar/desabilitar o recurso sem a necessidade de reiniciar o sistema/middleware.
- O comando executado pelo sistema para verificar se o recurso está ativo segue abaixo. Nenhum campo da consulta deve ser alterado:
SELECT CODREG, SITREG
FROM E098REG
WHERE MODSIS = 'VEN'
AND IDEREG = '140LOGNF01'
AND SITREG = 'A';
- O resultado da consulta com valor maior do que zero para o campo CODREG e valor “A” para o campo SITREG indicam que o recurso está ativo.
- Valor zero para o campo CODREG ou valor “I” para o campo SITREG indicam que o identificador está inativo.
7.1) Como desabilitar o Identificador de Regras em emergências.
- O Identificador deve ser desabilitado mediante a alteração da situação dele por meio da tela Cadastro de Identificador de Regras (F098REG). Em emergências, caso não seja possível acessar essa tela, pode-se desabilitar o Identificador por meio do comando SQL de Update abaixo:
UPDATE e098reg
SET SITREG = 'I'
WHERE CODEMP = Informe o Código da Empresa aqui.
AND MODSIS = 'VEN'
AND IDEREG = '140LOGNF01'
7.2) Variáveis disponíveis no identificador
- A regra associada ao identificador de regras recebe valor para as variáveis descritas abaixo:
Nome: VLOP_NCodEmp
Descrição: Código da empresa logada no ERP
Retorna Valor: Não
Tipo: Numero
Nome: VLOP_NCodFil;
Descrição: Código da filial logada no ERP;
Retorna Valor: Não;
Tipo: Numero.
Nome: VLOP_NUsuario;
Descrição: Código do usuário logado no ERP;
Retorna Valor: Não;
Tipo: Numero.
Nome: VLOP_AUsuario_ERP;
Descrição: Nome do usuário logado no ERP;
Retorna Valor: Não;
Tipo: Alfa.
Nome: VLOP_AOrigem;
Descrição: Origem da execução;
Retorna Valor: Não;
Tipo: Alfa.
Nome: VLOP_AOperacao;
Descrição: Operação executada;
Retorna Valor: Não;
Tipo: Alfa.
Nome: VLOP_AObservacao;
Descrição: Observação da operação;
Retorna Valor: Não;
Tipo: Alfa.
Nome: VLOP_NRotina;
Descrição: Número da rotina em execução (Processo Automático);
Retorna Valor: Não;
Tipo: Numero.
Nome: VLOP_AWebservice;
Descrição: Web service em execução;
Retorna Valor: Não;
Tipo: Alfa.
Nome: VLOP_NTransacoes;
Descrição: Transações em aberto;
Retorna Valor: Não;
Tipo: Numero.
Nome: VLOP_NConexao;
Descrição: Código da conexão;
Tipo: Numero;
Retorna Valor: Não.
Nome: VLOP_AComputador;
Descrição: Nome do computador;
Retorna Valor: Não;
Tipo: Alfa.
Nome: VLOP_AUsuario_SO;
Descrição: Usuário do sistema operacional;
Retorna Valor: Não;
Tipo: Alfa.
Nome: VLOP_ARegra;
Descrição: Variável de retorno do identificador de regras;
Essa é a única variável do Identificador de Regras que permite o retorno de valor.
O valor informado nessa variável será gravado no campo USU_REGRA da tabela USU_T140NFVLOG.
A quantidade máxima de caracteres suportada pelo campo é 999.
Retorna Valor: Sim;
Tipo: Alfa.
Nome: VLOP_Nfv_NEmpNfv;
Descrição: Código da empresa da nota fiscal de saída;
Tipo: Numero;
Retorna Valor: Não;
Nome: VLOP_Nfv_NFilNfv;
Descrição: Código da filial da nota fiscal de saída;
Tipo: Numero;
Retorna Valor: Não;
Nome: VLOP_Nfv_ASnfNfv;
Descrição: Código da série da nota fiscal de saída;
Tio: Alfa;
Retorna Valor: Não.
Nome: VLOP_Nfv_AAbrNfv;
Descrição: Abrangência de notas fiscais de saída;
Tipo: Alfa;
Retorna Valor: Não
7.3) Variáveis devolvidas pelo identificador
- O identificador de regras permite devolver ao sistema valor para a variável VLOP_ARegra. Essa é a única variável do Identificador de Regras que permite o retorno de valor.
- O valor devolvido nessa variável será gravado no campo USU_REGRA da tabela USU_T140NFVLOG.
- A quantidade máxima de caracteres suportada pelo campo é 999.
7.4) Exemplo de regra para o identificador
Definir Numero VLOP_NCodEmp;
Definir Numero VLOP_NCodFil;
Definir Numero VLOP_NUsuario;
Definir Alfa VLOP_AUsuario_ERP;
Definir Alfa VLOP_AOrigem;
Definir Alfa VLOP_AOperacao;
Definir Alfa VLOP_AObservacao;
Definir Numero VLOP_NRotina;
Definir Alfa VLOP_AWebservice;
Definir Numero VLOP_NTransacoes;
Definir Numero VLOP_NConexao;
Definir Alfa VLOP_AComputador;
Definir Alfa VLOP_AUsuario_SO;
Definir Alfa VLOP_ARegra;
Definir Numero VLOP_Nfv_NEmpNfv;
Definir Numero VLOP_Nfv_NFilNfv;
Definir Alfa VLOP_Nfv_ASnfNfv;
Definir Alfa VLOP_Nfv_AAbrNfv;
Definir Alfa VAEmpNfv;
IntParaAlfa(VLOP_Nfv_NEmpNfv, VAEmpNfv);
Definir Alfa VAFilNfv;
IntParaAlfa(VLOP_Nfv_NFilNfv, VAFilNfv);
Definir Alfa VAMensagem;
VAMensagem = "Empresa: " + VAEmpNfv + " Filial: " + VAFilNfv + " Serie: " +
VLOP_Nfv_ASnfNfv + " Numero/s: " + VLOP_Nfv_AAbrNfv;
VLOP_ARegra = VAMensagem;
x = y;
8) Limpeza periódica de registros da tabela de log
- A limpeza dos registros é feita pelo próprio recurso de log, não sendo necessária qualquer configuração ou intervenção manual, seja por parte da TI do cliente e/ou da Senior.
- A cada registro de log que é inserido na base o sistema limpa a tabela, eliminando os registros com idade maior ou igual a 30 dias. Essa quantidade de dias é o padrão do sistema. Essa quantidade de dias pode ser alterada, mas a configuração deve estar entre um intervalo de 30 até 60 dias.
8.1) Configuração da Limpeza de Registros da tabela de Log
- A configuração da Limpeza de Registro pode ser feita por meio de um Parâmetro Dinâmico.
- Será necessário acessar a tela Parâmetros da Filial para Vendas (F070FVE) e inserir o Parâmetro Dinâmico NOTAFISCALSAIDA.LOG.OPERACOES.DIAS.
- O valor informado ao Parâmetro Dinâmico deve estar em 0 e 60 dias.
- Caso seja informado um valor menor que 0 dias, o sistema utilizará o valor de 30 dias.
- Caso seja informado um valor maior que 60 dias, o sistema utilizará o valor de 60 dias.
- Caso Parâmetro Dinâmico NOTAFISCALSAIDA.LOG.OPERACOES.DIAS não exista, o sistema utilizará o valor de 30 dias.
Importante
- Não recomenda-se deixar de higienizar a tabela de log de operações, pois isso tornaria a inserção de registros cada vez mais lenta. Por isso, o recurso de log faz a higienização dos registros de forma automática.
- Caso o Parâmetro Dinâmico utilizado para higienização não seja criado na filial, o sistema adota por padrão a quantidade de 30 dias, para que não fiquem milhares de registros logados na tabela, o que geraria lentidão.
8.2) A limpeza pode gerar lentidão?
- A limpeza não deve causar lentidão, mesmo em cenários de clientes com grande volume de notas, como, por exemplo, em um cliente com geração de 20 mil notas/dia. Nesse cenário teríamos no mínimo 600 mil registros gerados em um mês na tabela de log. Ao deletar os registros o sistema eliminaria apenas a quantidade de registros que passou de 30 dias (20 mil registros) e não os 600 mil registros.