Identificador de Regra
VEN-140NEIMPBO
Módulo: VEN - Vendas.
Finalidade: permite criar regras após a autorização de uma nota fiscal eletrônica (NF-e e NFS-e) com base na chave primária da nota fiscal na tabela E140NFV. No caso de uma integração com sistema emissor de documentos eletrônicos, o identificador de regras é chamado sempre que houver o retorno de autorização de uma NF-e ou NFS-e para o ERP, ou seja, quando o campo SitNel for repassado como 3 - Autorizado (via Ação SID ou web service).
Importante
- O termo SitNel refere-se ao parâmetro repassado no web service ou na Ação SID utilizada para indicar a autorização da NF. Na base de dados, a informação do status da NF fica armazenada no campo E140IDE.SitDoe.
- A utilização do identificador de regras VEN-140NEIMPBO com regras complexas que possam apresentar tempo de execução elevado (superior a 1 segundo), pode afetar diretamente o processo de Faturamento da Empresa. Isso ocorre porque tal uso pode causar gargalos no retorno das autorizações dos documentos (seja via eDocs ou qualquer outro sistema de mensageria utilizado), podendo, inclusive, causar grandes Locks na base de dados, comprometendo a operação de todo o sistema.
Assim, recomenda-se fortemente que rotinas customizadas que precisem ser disparadas após autorização do documento eletrônico sejam personalizadas/parametrizadas para serem executadas de forma assíncrona, em vez de dentro desse identificador de regras. Exemplo: a regra customizada pode ser executada em um processo agendado que fique lendo os registros das notas fiscais autorizadas para, então, executar o processo necessário, tendo campos de usuário como controle para execução das rotinas.
Além disso, deve-se tomar cuidado com a execução de regras vinculadas a esse identificador, assegurando que, caso a regra precise ser executada apenas uma vez para cada nota fiscal, haja um controle na própria regra para esse tipo de cenário (podem também ser utilizados campos de usuário para esse controle). Vale destacar que, em cenários específicos, o ERP pode acabar acionando o identificador de regras VEN-140NEIMPBO mais de uma vez para a mesma nota fiscal .
Exemplos:
Em casos em que uma NF-e tenha sido cancelada manualmente de forma incorreta e haja necessidade de fazer um processo de autorização da NF-e novamente;
Em casos onde ocorra algum tipo de rollback do processo de autorização da NF-e originalmente, e a autorização da NF-e seja chamada novamente pelo sistema de mensageria.
Características:
- não é chamado para CT-e e MDF-e;
- não pode ser utilizado mais de uma vez por nota fiscal, tendo em vista que cada nota pode ser autorizada apenas uma vez;
- não é chamado quando houver retorno com SitNel diferente de 3 - Autorizado;
- a utilização de uma regra marcada para Depuração nesse identificador pode ocasionar travamento no processo de retorno de NF-e/NFS-e de sistemas terceiros para o ERP.
Tela: Nota Fiscal Eletrônica (qualquer tela que manipule status de notas) e Retorno de status de NF para o ERP.
Transação: não se aplica.
Regra:
Definir Alfa vaNomeArq;
Definir Alfa vaMsg;
Definir Alfa vaData;
Definir Alfa vaHora;
Definir Alfa VSCODSNF; @ A variável E140NFV.XXXXXX vem carregada com todos os dados da tabela E140NFV (se houver relacionamento entre o título e uma nota de venda) @
IntParaAlfa(VSNUMNFV,vaMsg);
vaNomeArq = "\servidor\Programas\Senior\__Identificador_VEN_140NEIMPBO_" + vaMsg + "_" + VSCODSNF + ".txt";
nArq = Abrir(vaNomeArq,GravarNL);
ConverteMascara(3, DatSis, vaData, "DD/MM/YYYY");
ConverteMascara(4, HorSis, vaHora, "HH:MM:SS");
vaMsg = "Identificador Acionado " + vaData + "-" + vaHora;
GravarNL(nArq, vaMsg);
Variáveis disponibilizadas:
Nome | Tipo | Observações | Retorna Valor |
---|---|---|---|
VSCODEMP | NÚMERO | Código da Empresa | N |
VSCODFIL | NÚMERO | Código da Filial | N |
VSCODSNF | ALFA | Série da Nota Fiscal | N |
VSNUMNFV | NÚMERO | Número da Nota Fiscal | N |
Atenção
Caso o parâmetro global LisVarReg esteja habilitado, a variável ListaVariaveis estará disponível em todos os identificadores de regras do sistema. O conteúdo desta variável lista os campos disponibilizados no identificador de regras em questão.
Não é aconselhada a ativação desse parâmetro global para o uso cotidiano. Esse recurso de listagem dos campos de identificadores auxilia a construção de regras e o Suporte para, por exemplo, depuração ou quando não houver acesso à documentação dos identificadores de regras.