O Engine de Regras permite criar regras para traduzir informações do documento para realizar a integração com o ERP.
Com base no XML original que é recebido o DF-e verifica qual regra criada se encaixa no documento e então aplica a regra.
A regra aplicada irá traduzir alguma informação do documento para facilitar a tradução do documento para integração, onde o usuário não precisará fazer a digitação da informação manualmente, apenas conferir.
Em resumo, o Engine de Regras é um facilitador, auxilia a transformar a nota fiscal de saída na sua entrada.
O primeiro passo é criar um Tipo de Regra, para identificar que regras serão criadas.
É possível criar tipos de regra para NF-e, CT-e ou NFS-e, clicando no botão incluir abrirá a tela para então criar o tipo:
O tipo criado aparecerá no grid da tela conforme abaixo:
Botões da tela principal de Engine de Regras:
Opção
|
Descrição
|
Editar
|
Permite edição das informações cadastradas.
|
Incluir
|
Permite incluir os tipos de regra.
|
Duplicar
|
Permite duplicar o cadastro do tipo de regra.
|
Excluir
|
Permite excluir o cadastro de tipo de regra feito.
|
Aplicar Engine
|
Aplicará os engines criados sobre todos os documentos do DF-e.
|
Estabelecimentos
|
Permite vincular estabelecimentos que utilizarão as regras.
|
Engine
|
Permite consultar todas as regras que foram criadas para cada tipo de regra que aparecer no grid inicial.
|
Variáveis
As variáveis são os campos dos documentos que queremos utilizar nas Engines. A partir das informações dos campos do XML que o DF-e entende se uma regra deverá ser aplicada ou não.
Logo se a informação colocada na regra não for verdadeira, não existir, a regra não será aplicada.
Esses campos são apresentados de formas diferentes, dependendo do tipo de regra que foi criado inicialmente. Se o tipo de regra criado for NF-e só aparecerão campos de nf-e para utilizar na regra e assim por diante.
Quando os campos criados forem relacionados ao produto da nota quanto do frete, a tabela selecionada terá que ser relacionada a tabela PRODUTO.
As variáveis criadas aparecerão no grid conforme tela abaixo.
Podemos criar diversas variáveis e na engine usar apenas três. A criação das variáveis é gradativa, quando mais engines são criadas, mas variáveis elaboradas terão, que podem ser utilizadas ou não.
Opção
|
Descrição
|
Editar
|
Permite edição das informações cadastradas.
|
Incluir
|
Permite inclusão de novos cadastros.
|
Excluir
|
Permite a exclusão de cadastros realizados.
|
Regras
As Regras são consideradas como os separadores das operações da Empresa.
Nessa opção poderá ser criada regra conforme cada operação que a Empresa tiver, assim as Engines serão cadastradas separadamente, facilitando na hora de dar manutenção as Engines e até mesmo criar novas.
Opção
|
Descrição
|
Editar
|
Permite edição das informações cadastradas.
|
Incluir
|
Permite inclusão de novos cadastros.
|
Excluir
|
Permite a exclusão de cadastros realizados.
|
Condições
No cadastro da condição será definido qual o retorno para as expressões cadastradas.
No caso de uma regra para Natureza de Operação, qual será a natureza que deverá retornar
Abaixo exemplo criando uma regra para traduzir a CFOP de Entrada da nota fiscal:
A Natureza de Entrada sempre será o Valor Fixo da Condição da regra.
E a Variável Retorno sempre será a variável de CFOP de Entrada.
A condição criada aparecerá no grid conforme tela abaixo:
Selecionando a condição criada e clicando em Expressões, criamos a Regra.
Expressões
Onde será criada a expressão para a condição cadastrada anteriormente.
A expressão cadastrada utilizará as variáveis que já foram cadastradas na aba de variáveis.
No exemplo acima estamos informando que quando chegar um XML no DF-e que tiver a CFOP como 5101 OU 5102 e a alíquota do ICMS for de 12%, terá a Natureza de operação informada no campo CFOP de Entrada.
Sempre que usarmos uma variável mais de uma vez, devemos agrupar primeiro as variáveis iguais e depois a regra inteira, conforme regra acima.
O botão agrupar está abaixo da regra criada. Basta marcar as linhas ao lado de cada variável e clicar em agrupar.