Skip to content

Tag-icone-mini.png PAF-ECF‏

Referenciado por: Bloco VII - Testes | Integração de Banco via Rotinas de Importação | Roteiro de Treinamento para Processo de Integração |

Seguem abaixo as colunas que são "protegidas" pelo sistema, NÃO se pode alterar essas colunas com as triggers desabilitadas ou em uma sessão de banco de dados não autenticada, pois fará com que o relatório gerencial mostre que o sistema foi adulterado e o cliente poderá ser autuado.

IMPORTANTE: Para essas colunas pode-se utilizar os procedimentos descritos em Integração de Banco via Rotinas de Importação.

Tabelas e Campos Protegidos ​

Importante: nesta seção as mudanças para o PAF-ECF 2011 estão grifadas.

TabelaCampo(s)
TD_ECFFILECF, NUMECF, SERECF
TD_FILCODFIL, CGCFIL, DATEST
TD_ICMRESICM
TT_CFGPAFECF_CGCTOT, PAFECF_PRIARQ_MD5, PAFECF_NOMPAF
TT_ECFCODFIL, NUMECF, DATOPE, TOTALI, TIPTOT, TOTPAR, CNT_RZ
TT_GRAFILMAT, CODMAT, CODCOR, CODTAM, REFPRO
TT_IORCODFIL, TIPPED, NUMPED, NUMITE, COOVEN<span style="background-color:#EEFF00">, ECFVEN, QTDITE, VLRITE, DESCON, VLRPGT, FLGEST, NUMITE_PAF</span>
TT_IUFFILMAT, CODMAT, ESTADO, REGESP, SUBTRI, RESICM
TT_IVEFILMAT, CODMAT, CODCOR, CODTAM, NUMITE, DATHOR, QTDMOV, VLRORI, VLRMOV, ICMTIP, TIPPRO, TAX001, SITMOV
TT_LIDCODFIL, NUMECF, TRN_ID, CONCCF, CONCOO, CONCDC, TIPDOC, DATHOR, CONGNF
TT_PREFILPRE, CODPRE, FILMAT, CODMAT, CODCOR, CODTAM, PRECOV
TT_PROFILMAT, CODMAT, DESMAT
TT_ORCCODFIL, TIPPED, NUMPED, CODEMP, NUMPED_PAF, PED_EM, VLRTOT, CODEMP<span style="background-color:#EEFF00">, COOORC</span>
<span style="background-color:#EEFF00">TT_SAL</span><span style="background-color:#EEFF00">CODFIL, SEQUEN, EST_CM</span>
TT_VENCODFIL, NUMECF, CODSER, NUMNOT, CNT_RO, VLRLIQ, FLGEST
TR_ECFCODFIL, CNT_RZ, CNT_RO, CNT_RO_PAF, CUPFIM, DATOPE, DATOPE_PAF, DATFEC, GT_INI, GT_FIM, INTERV, NUMECF
<span style="background-color:#EEFF00">TD_MED</span><span style="background-color:#EEFF00">UNIMED</span>
<span style="background-color:#EEFF00">TD_TAN</span><span style="background-color:#EEFF00">TANQUE</span>
<span style="background-color:#EEFF00">TD_BOM</span><span style="background-color:#EEFF00">NUMBOM</span>
<span style="background-color:#EEFF00">TD_BIC</span><span style="background-color:#EEFF00">SEQFIL</span>
TT_ABAENCINI, ENCFIM, FLGEST, <span style="background-color:#99A9E1">CODTAN, CODBOM, CODBIC, SERECF, NUMNOT, VOLABS</span>
<span style="background-color:#EEFF00">TT_ASS</span><span style="background-color:#EEFF00">NOMTAB, QTDREG</span>
<span style="background-color:#EEFF00">TT_CLI</span><span style="background-color:#EEFF00">FILCLI, CODCLI, NOMCLI, NUMDOC, ULTNOM</span>
<span style="background-color:#EEFF00">TT_EST</span><span style="background-color:#EEFF00">CODFIL, SEQUEN, QTDEST</span>
<span style="background-color:#EEFF00">TT_IMU</span><span style="background-color:#EEFF00">FILMAT, CODMAT, CODCID, RESISS</span>
<span style="background-color:#EEFF00">TD_ISS</span><span style="background-color:#EEFF00">CODTAB, RESISS</span>

Requisito do BLOCO VII ​

b) A alteração de dados no arquivo eletrônico assinado digitalmente deverá ser evidenciada, apenas nos registros alterados, mediante a substituição de brancos pelo caractere ??? no campo: b.1) ?Modelo do ECF? no caso do registro tipo D2 constante no Anexo III e ?Descrição? no caso do registro tipo D3 constante no Anexo III;b.2) ?Unidade? no caso do registro tipo E2 constante no Anexo IV; b.3) ?Unidade? no caso do registro tipo P2 constante no Anexo V; b.4) ?Modelo do ECF? no caso dos registros tipo R01, R02, R03, R04, R05, R06 e R07 constantes no Anexo VI; b.5) ?Tipo de documento? no caso do registro tipo T2 constante no Anexo VII. b.6) ?Combustível? no caso do registro tipo C2 constante no Anexo IX; c) A exclusão/inclusão de dados no banco de dados dos arquivos eletrônicos deverá ser evidenciada mediante a substituição de brancos pelo caractere ??? no campo: c.1) ?Razão Social? no caso do registro D1 constante no Anexo III; c.2) ?Razão Social? no caso do registro E1 constante no Anexo IV; c.3) ?Razão Social? no caso do registro P1 constante no Anexo V; c.5) ?Razão Social? no caso do registro C1 constante no Anexo IX; c.4) ?Denominação da empresa desenvolvedora? no caso do registro R01 constante no Anexo VI;

Origem dos Dados ​

Abaixo seguem as tabelas e colunas protegidas que tem relação direta com os relatórios, e que são úteis para o roteiro de testes do PAF-ECF.

Relação dos DAVs Emitidos (D2) ​

Registro e origem dos dados:

NºCampoColunaContexto
08COO da ImpressãoTT_ORC.COOORCORC.COOORC
09Número do DAVTT_ORC.NUMPED_PAFCAST('00'||ORC.NUMPED_PAF AS VARCHAR(254)) AS NUMPED
10Data do DAVTT_ORC.PED_EMTO_CHAR(ORC.PED_EM, 'YYYYMMDD') AS PED_EM
12Valor Total do DAVTT_ORC.VLRTOTSUBSTR(ROUND(ORC.VLRTOT* 100), 1, 8) AS VLRTOT
13COO do CFTT_IOR.COOVENIOR.COOVEN do item 1
14Número seqüencialTT_IOR.ECFVENIOR.ECFVEN do item 1
15Nome do adquirenteTT_CLI.NOMCLITRIM(CLI.NOMCLI)||' '||TRIM(COALESCE(CLI.ULTNOM,'')) AS NOMCLI
16CPF/CNPJ do adquirenteTT_CLI.NUMDOCCLI.NUMDOC

Detalhe do Documento Auxiliar de Venda - DAV (D3) ​

Tabelas e Campos Protegidos:

NºCampoColunaContexto
02Número do DAVTT_ORC.NUMPED_PAFORC.NUMPED_PAF
03Data de inclusãoTT_ORC.PED_EMORC.PED_EM AS ORCPED_EM
04Número do itemTT_IOR.NUMITE_PAFIOR.NUMITE_PAF
05Código do Produto ou ServiçoTT_GRA.REFPROGRA.REFPRO
06DescriçãoTT_PRO.DESMATPRO.DESMAT
07QuantidadeTT_IOR.QTDITEIOR.QTDITE
08UnidadeTD_MED.UNIMEDMED.UNIMED
09Valor unitárioTT_IOR.VLRITEIOR.VLRITE
10Desconto sobre itemTT_IOR.DESCONIOR.DESCON
11Acréscimo sobre itemTT_IOR.DESCONIOR.DESCON
12Valor total líquidoTT_IOR.VLRPGTIOR.VLRPGT
13Situação TributáriaTT_IUF.SUBTRIIUF.SUBTRI
14AlíquotaTD_ICM.RESICMICM.RESICM
15Indicador de cancelamentoTT_IOR.FLGESTCASE IOR.FLGEST WHEN 'C' THEN 'S' ELSE 'N' END AS FLGEST

Relação de Mercadorias e Serviços (P2) ​

Registro e origem dos dados:

NºCampoColunaContexto
03CódigoTT_GRA.REFPROSUBSTR(IPR.REFPRO, 1, 14) AS REFPRO
04DescriçãoTT_PRO.DESMATSUBSTR(IPR.NOMPRO, 1 ,50)
08Situação TributáriaTT_IUF.SUBTRICAST(CASE WHEN IUF.SUBTRI='0' AND IPR.TIPPRO='0' THEN 'T'

WHEN IUF.SUBTRI='0' AND IPR.TIPPRO<>'0' THEN 'S'
WHEN IUF.SUBTRI='1' THEN 'N'
WHEN IUF.SUBTRI='2' THEN 'I'
WHEN IUF.SUBTRI='3' THEN 'F'
WHEN IUF.SUBTRI='4' THEN 'I'
WHEN IUF.SUBTRI='@' THEN 'T'
END AS CHAR(1))AS SITTRI

09AlíquotaTD_ICM.RESICMSUBSTR(TRUNC(ICM.RESICM*100), 1, 4) AS PERICM,
10Valor unitárioTT_PRE.PRECOVSUBSTR(TRUNC(ROUND(PRE.PRECOV * ((COALESCE(IPI.RESIPI,0)/100)+1), CAST(CFG.CKPAPREDEC AS INTEGER))*100), 1, 12) AS PRECOV

Estoque (E2) ​

Registro e origem dos dados:

NºCampoColunaContexto
03Código da mercadoria ou produtoTT_GRA.REFPROCAST(SUBSTR(IPR.REFPRO, 1, 14) AS VARCHAR(254)) AS REFPRO
04Descrição da mercadoria ou produtoTT_PRO.DESMATCAST(SUBSTR(IPR.NOMPRO, 1, 50) AS VARCHAR(254)) AS NOMPRO
07Quantidade em estoqueTT_EST.QTDMOV

Movimento por ECF (R1) ​

Registro e origem dos dados:

NºCampoColunaContexto
02Número de fabricaçãoTD_ECF.SERECFRPAD(SUBSTR(TRIM(TAB.SERECF),1,20),20,' ')
12CNPJ do usuárioTD_FIL.CGCFILLPAD(TRIM(COALESCE(TAB.CGCFIL,'0')),14,'0')

Movimento por ECF (R2) ​

Registro e origem dos dados:

NºCampoColunaContexto
02Número de fabricaçãoTD_ECF.SERECFRPAD(SUBSTR(TRIM(TAB.SERECF),1,20), 20, ' ')
06CRZTR_ECF.CNT_RZLPAD(to_char(COALESCE(TAB.CNT_RZ,0)),06,'0')
07COOTR_ECF.CUPFIMLPAD(to_char(COALESCE(TAB.CUPFIM,0)),06,'0')
08CROTR_ECF.INTERVLPAD(to_char(COALESCE(TAB.CNT_RO,0)),06,'0')
-> RECF.INTERV AS CNT_RO
09Data do movimentoTR_ECF.DATOPERPAD(COALESCE(TO_CHAR(TAB.DATOPE,'YYYYMMDD'),' '),08,' ')
10Data de emissãoTR_ECF.DATFECRPAD(COALESCE(TO_CHAR(TAB.DATFEC,'YYYYMMDD'),' '),08,' ')
11Hora de emissãoTR_ECF.DATFECRPAD(COALESCE(TO_CHAR(TAB.DATFEC,'HH24MISS'),' '),06,' ')
12Venda Bruta DiáriaTR_ECF.GT_FIMLPAD(to_char(TRUNC(ABS(TAB.GT_DIF)*100)),14,'0')
-> COALESCE(RECF.GT_FIM,0)-COALESCE(RECF.GT_INI,0) AS GT_DIF

Movimento por ECF (R3) ​

Registro e origem dos dados:

NºCampoColunaContexto
02Número de fabricaçãoTD_ECF.SERECFRPAD(SUBSTR(TRIM(TAB.SERECF),1,20),20,' ')
06CRZTT_ECF.CNT_RZLPAD(to_char(TAB.CNT_RZ),06,'0')
07Totalizador ParcialTT_ECF.ORDALI

CASE ECF.TIPTOT WHEN 'O'
THEN
CASE ECF.TOTALI
WHEN 'SUBS' THEN 'F'||COALESCE(TO_CHAR(ECF.ORDALI),'1')
WHEN 'ISEN' THEN 'I'||COALESCE(TO_CHAR(ECF.ORDALI),'1')
WHEN 'NAOT' THEN 'N'||COALESCE(TO_CHAR(ECF.ORDALI),'1')
WHEN 'CANC' THEN 'Can-T'
WHEN 'DESC' THEN 'DT'
ELSE ECF.TOTALI
END
ELSE
CASE WHEN ECF.TIPTOT = 'M'
THEN LPAD(COALESCE(TO_CHAR(ECF.ORDALI),'01'),2,'0')||'T'||SUBSTR(ECF.TOTALI,1,4)
ELSE LPAD(COALESCE(TO_CHAR(ECF.ORDALI),'01'),2,'0')||'S'||SUBSTR(ECF.TOTALI,1,4)
END
END AS TOTALI

Movimento por ECF (R4) ​

Registro e origem dos dados:

NºCampoColunaContexto
02Número de fabricaçãoTD_ECF.SERECFRPAD(SUBSTR(TRIM(TAB.SERECF),1,20),20,' ')
06CCF, CVC ou CBP, conforme o documento emitidoTT_LID.CONCCFLPAD(to_char(TAB.NUMNOT),06,'0')
->

CASE WHEN VEN.CODSER = 'CF'
THEN COALESCE(LID.CONCCF,0)
ELSE 0
END AS NUMNOT

07COO (Contador de Ordem de Operação)TT_LID.CONCOOLPAD(to_char(COALESCE(TAB.CONCOO,0)),06,'0')
-> LID.CONCOO AS CONCOO
14Valor Total LíquidoTT_VEN.VLRLIQLPAD(to_char(TRUNC(ABS(TAB.VLRLIQ)*100)),14,'0')
->

CASE WHEN (SELECT COUNT(*)
FROM TT_LID LID
WHERE LID.CODFIL = VEN.CODFIL
AND LID.NUMECF = VEN.NUMECF
AND LID.CODSER = VEN.CODSER
AND LID.CUPFIS = VEN.NUMNOT
AND LID.CONCOO = CASE WHEN ISDIGIT(TRIM(LID.CUPFIS)) > 0 THEN TO_NUMBER(LID.CUPFIS) ELSE -1 END
AND LID.TIPDOC = 'NC') > 0
THEN 0
ELSE VEN.VLRLIQ
END AS VLRLIQ

15Indicador de CancelamentoTT_VEN.FLGESTRPAD(TAB.INDCAN,01,' ')
-> CAST(CASE WHEN VEN.FLGEST = 'C' THEN 'S' ELSE 'N' END AS CHAR(1)) AS INDCAN

Movimento por ECF (R5) ​

Registro e origem dos dados:

NºCampoColunaContexto
02Número de fabricaçãoTD_ECF.SERECFRPAD(SUBSTR(TRIM(TAB.SERECF),1,20),20,' ')
06COO (Contador de Ordem de Operação)TT_LID.CONCOOLPAD(to_char(COALESCE(TAB.CONCOO,0)),06,'0')
-> LID.CONCOO AS CONCOO
07CCF, CVC ou CBP, conforme o documento emitidoTT_LID.CONCCFLPAD(to_char(TAB.NUMNOT),06,'0')
->

CASE WHEN VEN.CODSER = 'CF'
THEN COALESCE(LID.CONCCF,0)
ELSE 0
END AS NUMNOT

09Código do Produto ou ServiçoTT_GRA.REFPRORPAD(TAB.REFPRO,14,' ')
-> IPR.REFPRO
11QuantidadeTT_IVE.QTDMOVLPAD(to_char(TRUNC(ABS(COALESCE(TAB.QTDMOV,0))*10000)),07,'0')
13Valor unitárioTT_IVE.VLRORILPAD(to_char(TRUNC(ABS(COALESCE(TAB.VLRORI,0))*10000)),08,'0')
16Valor total líquidoTT_IVE.VLRMOVLPAD(to_char(TRUNC(ABS(COALESCE(TAB.VLRMOV,0))*100)),14,'0')
17Totalizador parcialTT_IVE.ICMTIPRPAD(COALESCE(TAB.TOTALI,' '),07,' ')
->

CASE WHEN IVE.TIPPRO = '0' THEN -- material
CASE IVE.ICMTIP
WHEN '0' THEN '01T'||LPAD(to_char(TRUNC(COALESCE(IVE.TAX001,0)*100)),4,'0')
WHEN '1' THEN 'N1'
WHEN '2' THEN 'I1'
WHEN '4' THEN 'I1'
WHEN '3' THEN 'F1'
ELSE ''
END
ELSE '01S'||LPAD(to_char(TRUNC(COALESCE(IVE.TAX001,0)*100)),4,'0') -- servico
END AS TOTALI

18Indicador de cancelamentoTT_IVE.SITMOVRPAD(COALESCE(TAB.INDCAN,' '),01,' ')
-> CAST(CASE WHEN IVE.SITMOV = 'C' THEN 'S' ELSE 'N' END AS CHAR(1)) AS INDCAN

Movimento por ECF (R6) ​

Registro e origem dos dados:

NºCampoColunaContexto
02Número de fabricaçãoTD_ECF.SERECFRPAD(SUBSTR(TRIM(COALESCE(TAB.SERECF,' ')),1,20),20,' ')
06COO (Contador de Ordem de Operação)TT_LID.CONCOOLPAD(to_char(COALESCE(TAB.CONCOO,0)),06,'0')
07GNF (Contador Geral de Operação Não Fiscal)TT_LID.CONGNFLPAD(to_char(COALESCE(TAB.CONGNF,0)),06,'0')
09CDC (Contador de Comprovante de Crédito ou Débito)TT_LID.CONCDCLPAD(to_char(COALESCE(TAB.CONCDC,0)),04,'0')
10DenominaçãoTT_LID.TIPDOCRPAD(COALESCE(TAB.TIPDOC,' '),02,' ')
11Data final de emissãoTT_LID.DATHORRPAD(COALESCE(TO_CHAR(TAB.DATHOR,'YYYYMMDD'),' '),08,' ')

Movimento por ECF (R7) ​

Registro e origem dos dados:

NºCampoColunaContexto
02Número de fabricaçãoTD_ECF.SERECFRPAD(SUBSTR(TRIM(TAB.SERECF),1,20),20,' ')
06COO (Contador de Ordem de Operação)TT_LID.CONCOOLPAD(to_char(COALESCE(TAB.CONCOO,0)),06,'0')
-> LID.CONCOO
07CCFTT_LID.CONCCFLPAD(to_char(COALESCE(TAB.CONCCF,0)),06,'0')
-> LID.CONCCF
08GNFTT_LID.CONGNFLPAD(to_char(COALESCE(TAB.CONGNF,0)),06,'0')
-> LID.CONGNF

Controle de Abastecimentos e Encerrantes (C2) ​

Registro e origem dos dados:

NºCampoColunaContexto
04TanqueTD_TAN.TANQUE
05BombaTD_BOM.NUMBOM
06BicoTD_BIC.SEQFIL
10Encerrante InicialTT_ABA.ENCINI
11Encerrante FinalTT_ABA.ENCFIM
12Status do abastecimentoTT_ABA.FLGEST
13Nº de fabricação do ECFTD_ECF.SERECF
16COOTT_VEN.NUMNOT
18Volume ComercializadoTT_IVE.QTDMOV

Testes ​

Para facilitar o teste do PAF-ECF segue link da página que contém grande parte dos comandos updates que foram utilizados no teste do PAF-ECF.

Bloco VII - Testes