ausa:

Como é utilizado o Engine de Regras, nas integrações do ERP Datasul com o SIGAGFE (Frete Embarcador) ?

Solução:

Quando é feita a integração do ERP Datasul com o SIGAGFE (Frete Embarcador) ou vice-versa, os seguintes pontos tem chamada para o Engine de Regras (CD0024).

  1. Notas Fiscais de saída (ERP Datasul para o SIGAGFE).
  2. Documentos de entrada (ERP Datasul para o SIGAGFE).
  3. Integração do Documento de Frete (SIGAGFE com o Fiscal do ERP Datasul).
  4. Integração do Documento de Frete (SIGAGFE com o Recebimento do ERP Datasul - "Apropriar Despesa").
  5. Tipo de Documento de Entrada(ERP Datasul para o SIGAGFE). NOTA: Funcionalidade disponível a partir da release 12.1.6 do ERP Datasul.
    A utilização da regra é opcional.
    Antes dessa implementação, para categorizar as notas fiscais de entrada do Datasul em tipos de documento de carga no SIGAFE utilizava-se apenas a espécie de documento correspondente à natureza de operação informada no cabeçalho do documento de entrada. Essas espécies de documento são códigos restritos a uma lista de opções bastante limitada, muito genérica para distinguir, por exemplo, uma nota fiscal de retorno de beneficiamento de uma nota fiscal de compra; nesse exemplo ambas são identificadas como NFE. Diante dessa limitação não possível diferenciar o frete de algumas operações entre despesa ou custo no SIGAGFE. Considerando essa necessidade, torna-se possível, com a utilização do Engine de Regras, configurar qual tipo de documento de carga deve ser atribuído ao documento de carga do SIGAGFE na integração do documento de entrada do recebimento do ERP Datasul.

Para utilizar o Engine de Regras, devemos primeiro cadastrar os tipos de operações pelo programa CD0025. Segue abaixo os 05 pontos de integração utilizados pelo SIGAGFE.

  1. “gfe-nfs” (Nota Fiscal Saída - Engine GFE)


  2. “gfe-nfe” (Nota Fiscal Entrada - Engine GFE)


  3. “gfe-fiscal” (Documento Fiscal - Engine GFE - De-Para Natureza Operação)


  4. “gfe-re” (Apropriar Despesa Documento de Entrada - Engine GFE - De-Para Natureza Operação)


  5. "GFE-TIPO-DC"(Configurar o tipo de documento de carga a ser atribuído ao documento de carga do SIGAGFE na integração do documento de entrada do recebimento do Datasul).

Em seguida cadastramos as regras no CD0024. Abaixo as variáveis usadas em cada ponto de integração.

1. Bloquear/Liberar Nota Fiscal de Saída/Recebimento


“GFE-NFS” - Faturamento:

"cod-estabel"
"serie"
"nome-ab-cli"
"cod-emitente"
"ind-sit-nota" - Situação da Nota Fiscal (1-Calculada, 2-Impressa, 3-Confirmada, 4-Cancelada, 5-Atual CR, 6-Atual OF, 7-Atual Etat.)
"cod-cond-pag"
"esp-docto" - Informar a espécie do documento conforme é gravado na nota fiscal do faturamento: NFD -  grava 20, NFE - grava 21, NFS - grava 22 e NFT - grava 23)
"ind-tp-frete" - Indicador do Tipo de Frete (1-CIF, 2-FOB, 3-CIF REDESP.)
"cidade-cif"
"nome-transp"
"ind-tip-nota - Tipo Nota (1-Sistema,2-Manual,3-Diferença Preço,4-Complementar,5-Fat Balcão,6-Fat Balcão Reduzido,7-Entrada,8-Recebimento,9-Débito,10-Crédito,11-Importada)


(itens)
"it-codigo"
"cod-ean"
"nat-operacaoitem"

Obs: o retorno desta regra de engine deverá sempre ser realizado a partir de uma variável com o mesmo nome do tipo de operação “GFE-NFS” com o retorno igual a “no” quando não for para integrar ou “yes” quando for para integrar.


“GFE-NFE” - Recebimento:

"cod-emitente"
"tipo-frete" - Tipo de Frete (1-CIF, 2-FOB, 3-CIF REDESP.)
"ind-tip-nota" - Tipo da Nota Fiscal (1-Compra, 2-Devolução, 3-Transferência, 4-Entrada Benef, 5-Retorno Benef, 6-Entrada Consig, 7-Fatura Consig, 8-Devolução Consig, 9-Nota de Rateio, 10-Rem. Entrega Futura, 11-Rem. Fat. Antecipado)
"nat-oper"

Obs: o retorno desta regra de engine deverá sempre ser realizado a partir de uma variável com o mesmo nome do tipo de operação “GFE-NFE” com o retorno igual a “no” quando não for para integrar ou “yes” quando for para integrar.


2. Realizar o De-Para do CFOP do Documento de Frete para a Natureza de Operação e Item Fiscal do Datasul


“GFE-FISCAL” - Integração Fiscal:

VariávelTipo de DadoSignificado / Origem Informação
cod-estabelCaracterCódigo da Filial no GFE (GW3_FILIAL) – Documento de Frete
cod-emitenteInteiroCódigo da Transportadora (GW3_EMISDF) – Documento de Frete
cidadeCaracterCódigo da Cidade no EMS relacionado à Transportadora "cod-emitente"
estadoCaracterCódigo da UF no EMS relacionado à Transportadora "cod-emitente"
nat-operacaoCaracterCódigo do CFOP no GFe (GW3_CFOP) – Documento de Frete
cod-acesso-cteCaracterChave do CTe no GFe (GW3_CTE) – Documento de Frete
l-cteYES/NOIndicador se a Chave do CTe no GFE está ou não preenchida “cod-acesso-cte”
it-cd-trib-issInteiro

Tipo de Tributação no GFE quando o imposto for do tipo ICMS (GW3_TRBIMP) – Documento de Frete

Se GFE = "1-Tributado" no EMS "1-Tributado"

Se GFE = "2-Isento/Não-trib." no EMS "2-Isento/Não-tributado"

Se GFE = "3-Subst. Tribut." no EMS "3-Outros"

Se GFE = "4-Diferido" no EMS "3-Outros"

Se GFE = "5-Reduzido" no EMS "1-Tributado"

Se GFE = "6-Outros" no EMS "3-Outros"

Se GFE = "7-Presumido" no EMS "3-Outros"
it-aliquota-issDecimalAlíquota de Imposto no GFE quando o imposto for do tipo ISS (GW3_PCIMP) – Documento de Frete
it-cd-trib-icmInteiro

Tipo de Tributação no GFE quando o imposto for do tipo ICMS (GW3_TRBIMP) – Documento de Frete

Se GFE = "1-Tributado" no EMS "1-Tributado"

Se GFE = "2-Isento/Não-trib." no EMS "2-Isento/Não-tributado"

Se GFE = "3-Subst. Tribut." no EMS "3-Outros"

Se GFE = "4-Diferido" no EMS "3-Outros"

Se GFE = "5-Reduzido" no EMS "1-Tributado"

Se GFE = "6-Outros" no EMS "3-Outros"

Se GFE = "7-Presumido" no EMS "3-Outros"
it-aliquota-icmDecimalAlíquota de Imposto no GFE quando o imposto for do tipo ICMS (GW3_PCIMP) – Documento de Frete
vl-cofinsDecimalValor do Imposto de PIS no GFE (GW3_VLPIS) – Documento de Frete
vl-pisDecimalValor do Imposto de COFINS no GFE (GW3_VLCOF) – Documento de Frete
tipoInteiro

Tipo do Imposto relacionado à Espécie do Documento de Frete (GVT_TPIMP) – Documento de Frete – Espécie Doc. Frete

Se GFE = “1-ICMS” no EMS “1-Entrada”

Se GFE = “2-ISS” no EMS “3-Serviço”
trib-imp-gfeInteiro

Tipo de Tributação no GFE quando sem tradução para o EMS

1-Tributado;

2-Isento/Não Tributado

3-Subs Tributária

4-Diferido

5-Reduzido

6-Outros

7-Presumido

itemCaracter

Item do Documento parametrizado pelo Parâmetros do Módulo, Aba “Integrações Datasul”, Campo “Código Item Documento Fiscal” (MV_DSOFIT).

Apenas variável de retorno não sendo possível utilizar como condição.


“GFE-RE” - Nota Fiscal de Rateio (Apropriação de Despesa):

VariávelTipo de dadoSignificado/origem informação
nat-operacaoCaracterCódigo do CFOP no GFE (GW3_CFOP) – Documento de Frete
cod-servicoInteiroCódigo tributação de ICMS GFE
cd-trib-icmInteiroCódigo tributação de ICMS GFE
aliquota-icmDecimalAlíquota de ICMS do documento de frete no GFE
nf-nat-operCaracterNatureza de operação da nota de entrada
l-issYES/NOIndica se o conhecimento tem ISS
l-ativoYES/NOIndica se a NF Entrada é uma nota de ativo imobilizado
l-cons-finalYES/NOIndica se a NF Entrada é uma nota para uso e consumo
l-crdicmsYES/NOIndica se a NF Entrada se creditou de ICMS
l-difaliqYES/NOIndica se a NF Entrada teve cálculo de ICMS Compl.
l-nat-entradaYES/NOIndicar que as NF rateio serão geradas com a natureza da NF entrada

uforigem

CaracterEstado de origem do fornecedor da nota de entrada
ufdestinoCaracterEstado do estabelecimento que recebeu a mercadoria
l-trib-pcYES/NOIndicador se Tributa ou não PIS/COFINS no Documento de Frete do GFE.


Variáveis de Retorno

RetornoTipo de dadoAção

nat-operacao ou

natur-oper ou

natureza

CaracterNatureza de operação resultante, com a qual será gerada a nota de rateio.
cod-servicoInteiroCódigo do serviço da nota de rateio
l-nat-entradaYES/NOIndica se utiliza a natureza da NF entrada para a natureza de rateio


“GFE-TIPO-DC” - Nota Fiscal Entrada/Tipo - Engine SIGAGFE:

VariávelTipo de dadoSignificado/origem informação
esp-doctoCaracterEspécie de Documento de Entrada
nat-operCaracterNatureza de operação da nota de entrada
cfopCaracterCFOP
tipo-doctoCaracterTipo de Documento de Entrada.

“1” para Entrada

"2” para Saída

cod-observaCaracter

“1” para Indústria

“2” para Comércio

“3” para Devolução Cliente

“4” para Serviço

ge-codigoCaracterGrupo de Estoque


Variáveis de Retorno

RetornoTipo de dadoAção
tipo-dcCaracterCódigo do tipo de documento de carga resultante, com a qual será utilizada na criação do documento de carga.
cdtpdcCaracterCódigo do tipo de documento de carga resultante, com a qual será utilizada na criação do documento de carga.



Segue abaixo um exemplo de uma regra que deverá Bloquear a integração de Nota Fiscal de Saída com frete do tipo FOB


Segue abaixo um exemplo de uma regra que deverá alterar a CFOP 2353 para a Natureza de Operação 235305 quando o tipo de imposto for Tributado e a alíquota de ICMS igual a 12%


Dica 01:  Simulador de Configurador de Regras(CD0026)

Podemos utilizar o CD0026 para simular as regras cadastradas.

Neste exemplo abaixo estamos testando a regra da Natureza de Operação 2353, alíquota de 12% e Tipo de ICMS Tributado

Neste exemplo abaixo estamos testando a regra de Nota Fiscal de Saída com frete do tipo FOB


Dica 02:  Uso do Clientlog durante a investigação de algum incidente


Durante a execução das integrações do SIGAGFE que utilizam-se de conceito de engine de regras,  há a execução da API cdp/cdapi034 responsável em executar o cadastro da regra, sendo possível consultar alguns parâmetros no clientlog:


     RUN cdp/cdapi034.p (<empresa do usuário, visível>,

                                        <temp-table, não é visível>,

                                       <código da operação, visível>,

                                       <temp-table, não e visível>,

                                       <código da regra encontrada e que foi aplicada, visível. Quando não for encontrada a regra, o conteúdo será zero(0)>,

                                       <temp-table, não e visível>,

                                       <temp-table, não e visível>,

                                       <temp-table, não e visível>).


Dica 03:  Arquivo de log da API cdp/cdapi034


Durante a execução das integrações do SIGAGFE que utilizam-se de conceito de engine de regras,  há a execução da API cdp/cdapi034 responsável em executar o cadastro da regra. Esta API, gera no diretório temporário da sessão Progress (comando session:temp-directory), um arquivo de log onde é possível comparar o cadastro das variáveis da condição(cdp/cd0024) com os valores recebidos.


Segue exemplo de como interpretar o conteúdo apresentado neste arquivo. No arquivo cdapi034.txt consta as seguintes linhas:

Regra: 20

if ('2352'='2352')AND (LOGICAL('yes')=LOGICAL('yes'))AND (INTEGER('1')=INTEGER('1'))AND (LOGICAL('no')=LOGICAL('yes')) then YES else NO


Para a interpretação recomenda-se que seja também executado o programa de Cadastro de Engine de Regras(CD0024), consultando-se a regra (no exemplo é a regra 20) onde se tem a sequencia das variaveis utilizadas com o respectivo cadastro. Para cada condição existente, no log é apresentado primeiramente o conteúdo recebido e depois o conteúdo cadastrado na condição onde então, pode-se conferir se a condição é verdadeira ou não.

Ilustrando:

nat-operacao: 2352(RECEBIDO) = 2352(CONDIÇAÕ) AND * satisfaz a condição

l-trib-pc...: yes(RECEBIDO) = yes(CONDIÇÃO) AND * satisfaz a condição

cb-trib-icm.: 1(RECEBIDO) = 1(CONDIÇÃO) AND * satisfaz a condição

l-crdicms...: no(RECEBIDO) = YES(CONDIÇÃO) * como está sendo enviado NO e esta condição espera YES, fará com que esta regra não seja aplicada.