Home

Linha Microsiga Protheus

Páginas filhas
  • Engine de Regras (CD0024) no SIGAGFE

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Causaausa:

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

...

  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 despesaApropriar 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 4 05 pontos de integração utilizados pelo SIGAGFE.

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

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

  3. “gfe-fiscal” (Nota Documento Fiscal Saída - Engine GFE - De-Para Natureza Operação)
    Image Added

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

  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).
    Image Added

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

...

"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-tiptp-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 integrara integrar ou “yes” quando for para integrar.

...

"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 integrara 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 Fsical Fiscal do Datasul


“GFE-FISCAL” - Integração Fiscal:"cod-estabel"

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"
estado

...

CaracterCó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-iss

...

Inteiro

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-icm

...

Inteiro

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 Apropriação de despesaDespesa):"

VariávelTipo de dadoSignificado/origem informação
nat-operacao

...

CaracterCó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

 
Image Added
 
Image Added
 
Image Added
 

...

Image Added


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 normal Tributado e a alíquota de ICMS igual a 12%

 
Image Added
 
Image Added
 
Image Added
 
Image Added


Dica 01:  Simulador de Configurador de Regras(CD0026)

Podemos Além disso, 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

 Image Added

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

Image Added


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.