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.
| Tabela | Campo(s) |
|---|---|
| TD_ECF | FILECF, NUMECF, SERECF |
| TD_FIL | CODFIL, CGCFIL, DATEST |
| TD_ICM | RESICM |
| TT_CFG | PAFECF_CGCTOT, PAFECF_PRIARQ_MD5, PAFECF_NOMPAF |
| TT_ECF | CODFIL, NUMECF, DATOPE, TOTALI, TIPTOT, TOTPAR, CNT_RZ |
| TT_GRA | FILMAT, CODMAT, CODCOR, CODTAM, REFPRO |
| TT_IOR | CODFIL, TIPPED, NUMPED, NUMITE, COOVEN<span style="background-color:#EEFF00">, ECFVEN, QTDITE, VLRITE, DESCON, VLRPGT, FLGEST, NUMITE_PAF</span> |
| TT_IUF | FILMAT, CODMAT, ESTADO, REGESP, SUBTRI, RESICM |
| TT_IVE | FILMAT, CODMAT, CODCOR, CODTAM, NUMITE, DATHOR, QTDMOV, VLRORI, VLRMOV, ICMTIP, TIPPRO, TAX001, SITMOV |
| TT_LID | CODFIL, NUMECF, TRN_ID, CONCCF, CONCOO, CONCDC, TIPDOC, DATHOR, CONGNF |
| TT_PRE | FILPRE, CODPRE, FILMAT, CODMAT, CODCOR, CODTAM, PRECOV |
| TT_PRO | FILMAT, CODMAT, DESMAT |
| TT_ORC | CODFIL, TIPPED, NUMPED, CODEMP, NUMPED_PAF, PED_EM, VLRTOT, CODEMP<span style="background-color:#EEFF00">, COOORC</span> |
| TT_VEN | CODFIL, NUMECF, CODSER, NUMNOT, CNT_RO, VLRLIQ, FLGEST |
| TR_ECF | CODFIL, 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_ABA | ENCINI, 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º | Campo | Coluna | Contexto |
|---|---|---|---|
| 08 | COO da Impressão | TT_ORC.COOORC | ORC.COOORC |
| 09 | Número do DAV | TT_ORC.NUMPED_PAF | CAST('00'||ORC.NUMPED_PAF AS VARCHAR(254)) AS NUMPED |
| 10 | Data do DAV | TT_ORC.PED_EM | TO_CHAR(ORC.PED_EM, 'YYYYMMDD') AS PED_EM |
| 12 | Valor Total do DAV | TT_ORC.VLRTOT | SUBSTR(ROUND(ORC.VLRTOT* 100), 1, 8) AS VLRTOT |
| 13 | COO do CF | TT_IOR.COOVEN | IOR.COOVEN do item 1 |
| 14 | Número seqüencial | TT_IOR.ECFVEN | IOR.ECFVEN do item 1 |
| 15 | Nome do adquirente | TT_CLI.NOMCLI | TRIM(CLI.NOMCLI)||' '||TRIM(COALESCE(CLI.ULTNOM,'')) AS NOMCLI |
| 16 | CPF/CNPJ do adquirente | TT_CLI.NUMDOC | CLI.NUMDOC |
Detalhe do Documento Auxiliar de Venda - DAV (D3)
Tabelas e Campos Protegidos:
| Nº | Campo | Coluna | Contexto |
|---|---|---|---|
| 02 | Número do DAV | TT_ORC.NUMPED_PAF | ORC.NUMPED_PAF |
| 03 | Data de inclusão | TT_ORC.PED_EM | ORC.PED_EM AS ORCPED_EM |
| 04 | Número do item | TT_IOR.NUMITE_PAF | IOR.NUMITE_PAF |
| 05 | Código do Produto ou Serviço | TT_GRA.REFPRO | GRA.REFPRO |
| 06 | Descrição | TT_PRO.DESMAT | PRO.DESMAT |
| 07 | Quantidade | TT_IOR.QTDITE | IOR.QTDITE |
| 08 | Unidade | TD_MED.UNIMED | MED.UNIMED |
| 09 | Valor unitário | TT_IOR.VLRITE | IOR.VLRITE |
| 10 | Desconto sobre item | TT_IOR.DESCON | IOR.DESCON |
| 11 | Acréscimo sobre item | TT_IOR.DESCON | IOR.DESCON |
| 12 | Valor total líquido | TT_IOR.VLRPGT | IOR.VLRPGT |
| 13 | Situação Tributária | TT_IUF.SUBTRI | IUF.SUBTRI |
| 14 | Alíquota | TD_ICM.RESICM | ICM.RESICM |
| 15 | Indicador de cancelamento | TT_IOR.FLGEST | CASE 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º | Campo | Coluna | Contexto |
|---|---|---|---|
| 03 | Código | TT_GRA.REFPRO | SUBSTR(IPR.REFPRO, 1, 14) AS REFPRO |
| 04 | Descrição | TT_PRO.DESMAT | SUBSTR(IPR.NOMPRO, 1 ,50) |
| 08 | Situação Tributária | TT_IUF.SUBTRI | CAST(CASE WHEN IUF.SUBTRI='0' AND IPR.TIPPRO='0' THEN 'T' WHEN IUF.SUBTRI='0' AND IPR.TIPPRO<>'0' THEN 'S' |
| 09 | Alíquota | TD_ICM.RESICM | SUBSTR(TRUNC(ICM.RESICM*100), 1, 4) AS PERICM, |
| 10 | Valor unitário | TT_PRE.PRECOV | SUBSTR(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º | Campo | Coluna | Contexto |
|---|---|---|---|
| 03 | Código da mercadoria ou produto | TT_GRA.REFPRO | CAST(SUBSTR(IPR.REFPRO, 1, 14) AS VARCHAR(254)) AS REFPRO |
| 04 | Descrição da mercadoria ou produto | TT_PRO.DESMAT | CAST(SUBSTR(IPR.NOMPRO, 1, 50) AS VARCHAR(254)) AS NOMPRO |
| 07 | Quantidade em estoque | TT_EST.QTDMOV |
Movimento por ECF (R1)
Registro e origem dos dados:
| Nº | Campo | Coluna | Contexto |
|---|---|---|---|
| 02 | Número de fabricação | TD_ECF.SERECF | RPAD(SUBSTR(TRIM(TAB.SERECF),1,20),20,' ') |
| 12 | CNPJ do usuário | TD_FIL.CGCFIL | LPAD(TRIM(COALESCE(TAB.CGCFIL,'0')),14,'0') |
Movimento por ECF (R2)
Registro e origem dos dados:
| Nº | Campo | Coluna | Contexto |
|---|---|---|---|
| 02 | Número de fabricação | TD_ECF.SERECF | RPAD(SUBSTR(TRIM(TAB.SERECF),1,20), 20, ' ') |
| 06 | CRZ | TR_ECF.CNT_RZ | LPAD(to_char(COALESCE(TAB.CNT_RZ,0)),06,'0') |
| 07 | COO | TR_ECF.CUPFIM | LPAD(to_char(COALESCE(TAB.CUPFIM,0)),06,'0') |
| 08 | CRO | TR_ECF.INTERV | LPAD(to_char(COALESCE(TAB.CNT_RO,0)),06,'0') -> RECF.INTERV AS CNT_RO |
| 09 | Data do movimento | TR_ECF.DATOPE | RPAD(COALESCE(TO_CHAR(TAB.DATOPE,'YYYYMMDD'),' '),08,' ') |
| 10 | Data de emissão | TR_ECF.DATFEC | RPAD(COALESCE(TO_CHAR(TAB.DATFEC,'YYYYMMDD'),' '),08,' ') |
| 11 | Hora de emissão | TR_ECF.DATFEC | RPAD(COALESCE(TO_CHAR(TAB.DATFEC,'HH24MISS'),' '),06,' ') |
| 12 | Venda Bruta Diária | TR_ECF.GT_FIM | LPAD(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º | Campo | Coluna | Contexto |
|---|---|---|---|
| 02 | Número de fabricação | TD_ECF.SERECF | RPAD(SUBSTR(TRIM(TAB.SERECF),1,20),20,' ') |
| 06 | CRZ | TT_ECF.CNT_RZ | LPAD(to_char(TAB.CNT_RZ),06,'0') |
| 07 | Totalizador Parcial | TT_ECF.ORDALI | CASE ECF.TIPTOT WHEN 'O' |
Movimento por ECF (R4)
Registro e origem dos dados:
| Nº | Campo | Coluna | Contexto |
|---|---|---|---|
| 02 | Número de fabricação | TD_ECF.SERECF | RPAD(SUBSTR(TRIM(TAB.SERECF),1,20),20,' ') |
| 06 | CCF, CVC ou CBP, conforme o documento emitido | TT_LID.CONCCF | LPAD(to_char(TAB.NUMNOT),06,'0') -> CASE WHEN VEN.CODSER = 'CF' |
| 07 | COO (Contador de Ordem de Operação) | TT_LID.CONCOO | LPAD(to_char(COALESCE(TAB.CONCOO,0)),06,'0') -> LID.CONCOO AS CONCOO |
| 14 | Valor Total Líquido | TT_VEN.VLRLIQ | LPAD(to_char(TRUNC(ABS(TAB.VLRLIQ)*100)),14,'0') -> CASE WHEN (SELECT COUNT(*) |
| 15 | Indicador de Cancelamento | TT_VEN.FLGEST | RPAD(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º | Campo | Coluna | Contexto |
|---|---|---|---|
| 02 | Número de fabricação | TD_ECF.SERECF | RPAD(SUBSTR(TRIM(TAB.SERECF),1,20),20,' ') |
| 06 | COO (Contador de Ordem de Operação) | TT_LID.CONCOO | LPAD(to_char(COALESCE(TAB.CONCOO,0)),06,'0') -> LID.CONCOO AS CONCOO |
| 07 | CCF, CVC ou CBP, conforme o documento emitido | TT_LID.CONCCF | LPAD(to_char(TAB.NUMNOT),06,'0') -> CASE WHEN VEN.CODSER = 'CF' |
| 09 | Código do Produto ou Serviço | TT_GRA.REFPRO | RPAD(TAB.REFPRO,14,' ') -> IPR.REFPRO |
| 11 | Quantidade | TT_IVE.QTDMOV | LPAD(to_char(TRUNC(ABS(COALESCE(TAB.QTDMOV,0))*10000)),07,'0') |
| 13 | Valor unitário | TT_IVE.VLRORI | LPAD(to_char(TRUNC(ABS(COALESCE(TAB.VLRORI,0))*10000)),08,'0') |
| 16 | Valor total líquido | TT_IVE.VLRMOV | LPAD(to_char(TRUNC(ABS(COALESCE(TAB.VLRMOV,0))*100)),14,'0') |
| 17 | Totalizador parcial | TT_IVE.ICMTIP | RPAD(COALESCE(TAB.TOTALI,' '),07,' ') -> CASE WHEN IVE.TIPPRO = '0' THEN -- material |
| 18 | Indicador de cancelamento | TT_IVE.SITMOV | RPAD(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º | Campo | Coluna | Contexto |
|---|---|---|---|
| 02 | Número de fabricação | TD_ECF.SERECF | RPAD(SUBSTR(TRIM(COALESCE(TAB.SERECF,' ')),1,20),20,' ') |
| 06 | COO (Contador de Ordem de Operação) | TT_LID.CONCOO | LPAD(to_char(COALESCE(TAB.CONCOO,0)),06,'0') |
| 07 | GNF (Contador Geral de Operação Não Fiscal) | TT_LID.CONGNF | LPAD(to_char(COALESCE(TAB.CONGNF,0)),06,'0') |
| 09 | CDC (Contador de Comprovante de Crédito ou Débito) | TT_LID.CONCDC | LPAD(to_char(COALESCE(TAB.CONCDC,0)),04,'0') |
| 10 | Denominação | TT_LID.TIPDOC | RPAD(COALESCE(TAB.TIPDOC,' '),02,' ') |
| 11 | Data final de emissão | TT_LID.DATHOR | RPAD(COALESCE(TO_CHAR(TAB.DATHOR,'YYYYMMDD'),' '),08,' ') |
Movimento por ECF (R7)
Registro e origem dos dados:
| Nº | Campo | Coluna | Contexto |
|---|---|---|---|
| 02 | Número de fabricação | TD_ECF.SERECF | RPAD(SUBSTR(TRIM(TAB.SERECF),1,20),20,' ') |
| 06 | COO (Contador de Ordem de Operação) | TT_LID.CONCOO | LPAD(to_char(COALESCE(TAB.CONCOO,0)),06,'0') -> LID.CONCOO |
| 07 | CCF | TT_LID.CONCCF | LPAD(to_char(COALESCE(TAB.CONCCF,0)),06,'0') -> LID.CONCCF |
| 08 | GNF | TT_LID.CONGNF | LPAD(to_char(COALESCE(TAB.CONGNF,0)),06,'0') -> LID.CONGNF |
Controle de Abastecimentos e Encerrantes (C2)
Registro e origem dos dados:
| Nº | Campo | Coluna | Contexto |
|---|---|---|---|
| 04 | Tanque | TD_TAN.TANQUE | |
| 05 | Bomba | TD_BOM.NUMBOM | |
| 06 | Bico | TD_BIC.SEQFIL | |
| 10 | Encerrante Inicial | TT_ABA.ENCINI | |
| 11 | Encerrante Final | TT_ABA.ENCFIM | |
| 12 | Status do abastecimento | TT_ABA.FLGEST | |
| 13 | Nº de fabricação do ECF | TD_ECF.SERECF | |
| 16 | COO | TT_VEN.NUMNOT | |
| 18 | Volume Comercializado | TT_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.