Com alguns ajustes e criticas voces podem se ajudar.
Bastando passar para as funções as informações necessárias a cada registro elas devolvem uma string formatada.
Uso:
...
SintegraInicia()
...
? SintegraRegistro10( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13 )
...
Codigo:
*********************************************************************************************************
*** FUNCOES COMPATIVEIS COM SINTEGRA PARA GERACAO DOS REGISTROS
Function SintegraInicia()
******************************************************************************************************
local _Arquivo_ := "SINTEGRA.TXT"
public aSintegraRegistros := {}
public aSintegraRegistro10 := {}
public aSintegraRegistro11 := {}
public aSintegraRegistro50 := {}
public aSintegraRegistro51 := {}
public aSintegraRegistro53 := {}
public aSintegraRegistro54 := {}
public aSintegraRegistro74 := {}
public aSintegraRegistro75 := {}
public aSintegraRegistro90 := {}
public aSintegraListagem := {}
nHandle := fCreate(_Arquivo_)
fWrite( nHandle, "", LEN("") )
fClose( nHandle )
return .t.
Function SintegraRegistro10( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13 )
local cCRLF := "chr(13)+chr(10)"
*** Registro10 - Mestre do Estabelecimento - Indentifição do Estabelecimento informante
*** |.|.............|.............|..................................|.............................|.|.........|.......|.......||||
*** 1003449994000116626479717119 Nome do Contribuinte SAO PAULO SP113371181820100718201007181311
cTrailler := "10"
cTrailler := cTrailler + StrFill( p02, 14, "0", "R" ) // (14 N) CGC/MF do estabelecimento informante
cTrailler := cTrailler + StrFill( p03, 14, " ", "R" ) // (14 X) Inscricao estadual do estabelecimento informante
cTrailler := cTrailler + StrFill( p04, 35, " ", "R" ) // (35 X) Nome comercial (razao Social/denominação) do contribuinte
cTrailler := cTrailler + StrFill( p05, 30, " ", "R" ) // (30 X) Município onde esta domiciliado o estabelecimento informante
cTrailler := cTrailler + StrFill( p06, 02, " ", "R" ) // (02 X) Unidade da Federacao referente ao Municipio
cTrailler := cTrailler + StrFill( p07, 10, " ", "R" ) // (10 N) Numero do fax do estabelecimento informante
cTrailler := cTrailler + StrFill( p08, 08, " ", "R" ) // (08 N) A data do inicio do periodo referente as informacoes prestadas
cTrailler := cTrailler + StrFill( p09, 08, " ", "R" ) // (08 N) A data do fim do periodo referente as informacoes prestadas
cTrailler := cTrailler + StrFill( p10, 01, " ", "R" ) // (01 X) Codigo da identificacao do Convenio utilizado no arquivo magnetico ICSM TAB(7.1)
cTrailler := cTrailler + StrFill( p11, 01, " ", "R" ) // (01 X) Codigo da identificacao da natureza das operacoes informadas TAB(7.2)
cTrailler := cTrailler + StrFill( p12, 01, " ", "R" ) // (01 X) Codigo da finalidade utilizado no arquivo magnetico
cTrailler := cTrailler + StrFill( p13, 01, " ", "R" ) // (01 X) Codigo da Identificacao do Layout
cTrailler := substr( cTrailler, 1, 126 ) + &(cCRLF)
return cTrailler
Function SintegraRegistro11( p02,p03,p04,p05,p06,p07,p08 )
local cCRLF := "chr(13)+chr(10)"
*** Registro11 - Enderecamento e Localizacao
*** |.|.................................|....|.....................|..............|.......|...........................|...........
*** 11Logradouro 00236Complemento Bairro 41720050Nome do Contato 000713711818
cTrailler := "11"
cTrailler := cTrailler + StrFill( p02, 34, " ", "R" ) // (34 X) Logradouro
cTrailler := cTrailler + StrFill( p03, 05, "0", "L" ) // (05 N) Número
cTrailler := cTrailler + StrFill( p04, 22, " ", "R" ) // (22 X) Complemento
cTrailler := cTrailler + StrFill( p05, 15, " ", "R" ) // (15 X) Bairro
cTrailler := cTrailler + StrFill( p06, 08, "0", "L" ) // (08 N) Código de Endereçamento Postal
cTrailler := cTrailler + StrFill( p07, 28, " ", "R" ) // (28 X) Nome do Contato Pessoa responsável para contatos
cTrailler := cTrailler + StrFill( p08, 12, "0", "R" ) // (14 N) Número dos telefones para contatos
cTrailler := substr( cTrailler, 1, 126 ) + &(cCRLF)
return cTrailler
Function SintegraRegistro50( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro50 - Registro de Total de Nota Fiscal
*** |.|.............|.............|.......|.|.|..|.....|...||............|............|............|............|............|...|
*** 50238595070001097075793310062 21062010BA1A1 5013065111P000000005181900000000518190000000003627000000000000000000000000000700N
*** 5034261131000144ISENTO 20050101BA011 0001235101P000000005181900000000518190000000008809000000000000000000000000001700N
p03 := iif( len(alltrim(p02))<14, "ISENTO", p03 )
cTrailler := "50"
cTrailler := cTrailler + StrFill( p02, 14, "0", "L" ) // CGC/MF do remetente nas entradas e do destinatário nas saídas
cTrailler := cTrailler + StrFill( p03, 14, " ", "R" ) // Inscrição Estadual do remetente nas entradas ou do destinatário nas saídas
cTrailler := cTrailler + StrFill( p04, 08, " ", "R" ) // Data de emissão na saída ou de recebimento na entrada
cTrailler := cTrailler + StrFill( p05, 02, " ", "R" ) // Sigla da unidade da Federação do remetente nas entradas ou do destinatário nas saídas
cTrailler := cTrailler + StrFill( p06, 02, "0", "L" ) // Código do modelo da Nota Fiscal
cTrailler := cTrailler + StrFill( p07, 03, " ", "R" ) // Série da nota fiscal
cTrailler := cTrailler + StrFill( p08, 06, "0", "L" ) // Número da nota fiscal
cTrailler := cTrailler + StrFill( p09, 04, "0", "L" ) // Código Fiscal de Operação e Prestação
cTrailler := cTrailler + StrFill( p10, 01, " ", "R" ) // Emitente
cTrailler := cTrailler + StrFill( p11, 13, "0", "L" ) // Valor total da nota fiscal (com 2 decimais)
cTrailler := cTrailler + StrFill( p12, 13, "0", "L" ) // Base de Cálculo do ICMS (com 2 decimais)
cTrailler := cTrailler + StrFill( p13, 13, "0", "L" ) // Montante do imposto (com 2 decimais)
cTrailler := cTrailler + StrFill( p14, 13, "0", "L" ) // Valor amparado por isenção ou não incidência (com 2 decimais)
cTrailler := cTrailler + StrFill( p15, 13, "0", "L" ) // Valor que não confira débito ou crédito do ICMS (com 2 decimais)
cTrailler := cTrailler + StrFill( p16, 04, "0", "L" ) // Alíquota do ICMS (com 2 decimais)
cTrailler := cTrailler + StrFill( p17, 01, " ", "R" ) // Situação do documento fiscal quanto ao cancelamento
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro51( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro51 - Registros de Total de Nota Fiscal Quanto ao IPI
***
p03 := iif( len(alltrim(p02))<14, "ISENTO", p03 )
cTrailler := "51"
cTrailler := cTrailler + StrFill( p02, 14, "0", "L" ) // CNPJ do remetente nas entradas e do destinatário nas saídas
cTrailler := cTrailler + StrFill( p03, 14, " ", "R" ) // Inscrição Estadual do remetente nas entradas e do destinatário nas saídas
cTrailler := cTrailler + StrFill( p04, 08, " ", "R" ) // Data de emissão na saída ou recebimento na entrada
cTrailler := cTrailler + StrFill( p05, 02, " ", "R" ) // Sigla da unidade da Federação do remetente nas entradas e do destinatário nas saídas
cTrailler := cTrailler + StrFill( p06, 03, " ", "R" ) // Série da nota fiscal
cTrailler := cTrailler + StrFill( p07, 06, "0", "L" ) // Número da nota fiscal
cTrailler := cTrailler + StrFill( p08, 04, " ", "R" ) // Código Fiscal de Operação e Prestação
// Emitente
cTrailler := cTrailler + StrFill( p09, 13, "0", "L" ) // Valor total da nota fiscal (com 2 decimais)
cTrailler := cTrailler + StrFill( p10, 13, "0", "L" ) // Montante do IPI (com 2 decimais)
cTrailler := cTrailler + StrFill( p11, 13, "0", "L" ) // Valor amparado por isenção ou não incidência do IPI (com 2 decimais)
cTrailler := cTrailler + StrFill( p12, 13, "0", "L" ) // Valor que não confira débito ou crédito do IPI (com 2 decimais)
cTrailler := cTrailler + StrFill( p13, 20, " ", "R" ) // Brancos
cTrailler := cTrailler + StrFill( p14, 01, " ", "R" ) // Situação do documento fiscal quanto ao cancelamento
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro53( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro53 - Registro de Total de Documento Fical quanto a substituição tributária
*** 5334261131000144ISENTO 20050101BA011 0000015111T000000005181900000000036270000000000000N1
p03 := iif( len(alltrim(p02))<14, "ISENTO", p03 )
cTrailler := "53"
cTrailler := cTrailler + StrFill( p02, 14, "0", "L" ) // CNPJ do contribuinte Substituído/ contribuinte substituto/remetente da mercadoria/produto
cTrailler := cTrailler + StrFill( p03, 14, " ", "R" ) // Inscrição Estadual do Contribuinte substituído
cTrailler := cTrailler + StrFill( p04, 08, " ", "R" ) // Data de emissão na saída ou recebimento na entrada
cTrailler := cTrailler + StrFill( p05, 02, " ", "R" ) // Sigla da unidade da Federação do contribuinte substituído
cTrailler := cTrailler + StrFill( p06, 02, " ", "L" ) // Código do modelo da nota fiscal
cTrailler := cTrailler + StrFill( p07, 03, " ", "R" ) // Série da nota fiscal
cTrailler := cTrailler + StrFill( p08, 06, "0", "L" ) // Número da nota fiscal
cTrailler := cTrailler + StrFill( p09, 04, " ", "R" ) // Código Fiscal de Operação e Prestação
cTrailler := cTrailler + StrFill( p10, 01, " ", "R" ) // Emitente da Nota Fiscal (P-próprio/T-terceiros)
cTrailler := cTrailler + StrFill( p11, 13, "0", "L" ) // Base de cálculo de retenção do ICMS (com 2 decimais)
cTrailler := cTrailler + StrFill( p12, 13, "0", "L" ) // ICMS retido pelo substituto (com 2 decimais)
cTrailler := cTrailler + StrFill( p13, 13, "0", "L" ) // Soma das despesas acessórias (frete, seguro e outras - com 2 decimais)
cTrailler := cTrailler + StrFill( p14, 01, " ", "R" ) // Situação da Nota Fiscal
cTrailler := cTrailler + StrFill( p15, 01, " ", "R" ) // Código que identifica o tipo da Antecipação Tributária
cTrailler := cTrailler + StrFill( p16, 16, " ", "R" ) // Brancos
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro54( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro54 - Registro de Produto (Classificação Fiscal)
*** 5434261131000144011 0001235101000001123 000000000010000000518190000000000000000000518190000000000000000000051811700
cTrailler := "54"
cTrailler := cTrailler + StrFill( p02, 14, " ", "R" ) // CNPJ do remetente nas entradas e do destinatário nas saídas
cTrailler := cTrailler + StrFill( p03, 02, "0", "L" ) // Código do modelo da nota fiscal
cTrailler := cTrailler + StrFill( p04, 03, "0", "L" ) // Série da nota fiscal
cTrailler := cTrailler + StrFill( p05, 06, "0", "L" ) // Número da nota fiscal
cTrailler := cTrailler + StrFill( p06, 04, " ", "R" ) // Código Fiscal de Operação e Prestação
cTrailler := cTrailler + StrFill( p07, 03, " ", "R" ) // Código da Situação Tributária
cTrailler := cTrailler + StrFill( p08, 03, "0", "L" ) // Número de ordem do item na nota fiscal
cTrailler := cTrailler + StrFill( p09, 14, " ", "R" ) // Código do produto ou serviço do informante
cTrailler := cTrailler + StrFill( p10, 11, "0", "L" ) // Quantidade do produto (com 3 decimais)
cTrailler := cTrailler + StrFill( p11, 12, "0", "L" ) // Valor bruto do produto (valor unitário multiplicado por quantidade) - com 2 decimais
cTrailler := cTrailler + StrFill( p12, 12, "0", "L" ) // Valor do Desconto Concedido no item (com 2 decimais)
cTrailler := cTrailler + StrFill( p13, 12, "0", "L" ) // Base de cálculo do ICMS (com 2 decimais)
cTrailler := cTrailler + StrFill( p14, 12, "0", "L" ) // Base de cálculo do ICMS de retenção na Substituição Tributária (com 2 decimais)
cTrailler := cTrailler + StrFill( p15, 12, "0", "L" ) // Valor do IPI (com 2 decimais)
cTrailler := cTrailler + StrFill( p16, 04, "0", "L" ) // Alíquota Utilizada no Cálculo do ICMS (com 2 decimais)
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro55( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro55 - Registro de Guia Nacional de Recolhimento de Tributos Estaduais
*** 55339276580001000625406080023 20050101BAMG00100011 0000000000001200501011020051
p03 := iif( len(alltrim(p02))<14, "ISENTO", p03 )
cTrailler := "55"
cTrailler := cTrailler + StrFill( p02, 14, "0", "L" ) // CNPJ do contribuinte Substituto tributário
cTrailler := cTrailler + StrFill( p03, 14, " ", "R" ) // Inscrição Estadual na Unidade da Federação destinatária) do contribuinte substituto tributário
cTrailler := cTrailler + StrFill( p04, 08, " ", "R" ) // Data do pagamento do documento de Arrecadação
cTrailler := cTrailler + StrFill( p05, 02, " ", "R" ) // Sigla da unidade da Federação do contribuinte substituto tributário
cTrailler := cTrailler + StrFill( p06, 02, " ", "R" ) // Sigla da unidade da Federação de destino (favorecida)
cTrailler := cTrailler + StrFill( p07, 03, " ", "L" ) // Código do Banco onde foi Efetuado o recolhimento
cTrailler := cTrailler + StrFill( p08, 04, "0", "L" ) // Agência onde foi efetuado o recolhimento
cTrailler := cTrailler + StrFill( p09, 20, " ", "R" ) // Número de autenticação Bancária do documento de Arrecadação
cTrailler := cTrailler + StrFill( p10, 13, "0", "L" ) // Valor recolhido (com 2 decimais)
cTrailler := cTrailler + StrFill( p11, 08, " ", "R" ) // Data do vencimento do ICMS substituído
cTrailler := cTrailler + StrFill( p12, 06, " ", "R" ) // Mês e ano referente à ocorrência do fato gerador, formato MMAAAA
cTrailler := cTrailler + StrFill( p13, 30, " ", "R" ) // Número do Convênio ou Protocolo/Mercadoria Preencher com o conteúdo Do campo 15 da GNRE
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro56( CNPJ_Adquirente, Modelo, Serie , Nro, CFOP, CST, Nro_Item, Cod_Produto_Servico, Tipo_Operacao, CNPJ_Concessionaria, Aliquota_IPI , Chassi, Brancos )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro56 - Este registro deverá ser composto pelas montadoras, concessionárias e importadoras, nas operações com veículos automotores novos
*** 5634261131000144011 00000151110000011 133927658000100070012345678912345678
cTrailler := "56"
cTrailler := cTrailler + StrFill( p02, , " ", "R" ) //
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro60M( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro60M - Registro de informação de operações/prestações realizadas com ECF, Indentificador do Equipamento
*** 60M200501011 0010200000100000200000100100000000000000020000000000000004
cTrailler := "60"
cTrailler := cTrailler + StrFill( p02, 01, " ", "R" ) // Subtipo M
cTrailler := cTrailler + StrFill( p03, 08, " ", "R" ) // Data de emissão dos documentos fiscais
cTrailler := cTrailler + StrFill( p04, 20, " ", "R" ) // Número de série de fabricação do equipamento
cTrailler := cTrailler + StrFill( p05, 03, " ", "R" ) // Número atribuído pelo estabelecimento ao equipamento
cTrailler := cTrailler + StrFill( p06, 02, " ", "R" ) // Código do modelo do documento fiscal
cTrailler := cTrailler + StrFill( p07, 06, "0", "L" ) // Número do primeiro documento fiscal emitido no dia (Número do Contador de Ordem de Operação - COO)
cTrailler := cTrailler + StrFill( p08, 06, "0", "L" ) // Número do último documento fiscal emitido no dia (Número do Contador de Ordem de Operação - COO)
cTrailler := cTrailler + StrFill( p09, 06, "0", "R" ) // Número do Contador de Redução Z (CRZ)
cTrailler := cTrailler + StrFill( p10, 03, "0", "L" ) // Valor acumulado no Contador de Reinício de Operação (CRO)
cTrailler := cTrailler + StrFill( p11, 16, "0", "L" ) // Valor acumulado no totalizador de Venda Bruta
cTrailler := cTrailler + StrFill( p12, 16, "0", "L" ) // Valor acumulado no Totalizador Geral
cTrailler := cTrailler + StrFill( p13, 37, " ", "R" ) // Brancos
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro60A( p02,p03,p04,p05,p06,p07 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro60A - Registro de informação de operações/prestações realizadas com ECF, Indentificador de cada situação tributária no final do dia de cada equipamento emissor de cupom fiscal.
*** 60A200501011 0700000000000001
cTrailler := "60"
cTrailler := cTrailler + StrFill( p02, 01, " ", "R" ) // Subtipo A
cTrailler := cTrailler + StrFill( p03, 08, " ", "R" ) // Data de emissão dos documentos fiscais
cTrailler := cTrailler + StrFill( p04, 20, " ", "R" ) // Número de série de fabricação do equipamento
cTrailler := cTrailler + StrFill( p05, 04, " ", "R" ) // Identificador da Situação Tributária / Alíquota do ICMS
cTrailler := cTrailler + StrFill( p06, 12, "0", "L" ) // Valor acumulado no final do dia no totalizador parcial da situação tributária / alíquota indicada no campo 06 (com 2 decimais)
cTrailler := cTrailler + StrFill( p07, 79, " ", "R" ) // Brancos
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro60D( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro60D – (Resumo Diario) Registro de produto ou serviço registrado em documento fiscal emitido por Terminal Ponto de Venda (PDV) ou equipamento Emissor de Cupom Fiscal (ECF)
*** 60D200501011 1 0000000000001000000000000000100000000000017000 0000000000017
cTrailler := "60"
cTrailler := cTrailler + StrFill( p02, 01, " ", "R" ) // Subtipo D
cTrailler := cTrailler + StrFill( p03, 08, " ", "R" ) // Data de emissão dos documentos fiscais
cTrailler := cTrailler + StrFill( p04, 20, " ", "R" ) // Número de série de fabricação do equipamento
cTrailler := cTrailler + StrFill( p05, 14, " ", "R" ) // Código do produto ou serviço do informante
cTrailler := cTrailler + StrFill( p06, 13, "0", "L" ) // Quantidade comercializada do produto no dia (com 3 decimais)
cTrailler := cTrailler + StrFill( p07, 16, "0", "L" ) // valor acumulado do produto no dia (com 2 decimais)
cTrailler := cTrailler + StrFill( p08, 16, "0", "L" ) // valor acumulado no dia (com 2 decimais)
cTrailler := cTrailler + StrFill( p09, 04, " ", "R" ) // Identificador da Situação Tributária / Alíquota do ICMS (com 2 decimais)
cTrailler := cTrailler + StrFill( p10, 13, "0", "L" ) // Montante do imposto
cTrailler := cTrailler + StrFill( p11, 19, " ", "R" ) // Brancos
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro60I( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro60I - Item do documento fiscal documento fiscal emitido por Terminal Ponto de Venda (PDV) ou equipamento Emissor de Cupom Fiscal (ECF)
*** 60I200501011 1A0000010011 000000000000100000000000010000000017000 000000000017
cTrailler := "60"
cTrailler := cTrailler + StrFill( p02, 01, " ", "R" ) // Subtipo I
cTrailler := cTrailler + StrFill( p03, 08, "0", "L" ) // Data de emissão do documento fiscal
cTrailler := cTrailler + StrFill( p04, 20, " ", "R" ) // Número de série de fabricação do equipamento
cTrailler := cTrailler + StrFill( p05, 02, " ", "R" ) // Código do modelo do documento fiscal
cTrailler := cTrailler + StrFill( p06, 06, "0", "L" ) // Número do Contador de Ordem de Operação (COO)
cTrailler := cTrailler + StrFill( p07, 03, "0", "L" ) // Número de Ordem do item no Documento Fiscal
cTrailler := cTrailler + StrFill( p08, 14, " ", "R" ) // Código do produto ou serviço do informante
cTrailler := cTrailler + StrFill( p09, 13, "0", "L" ) // Quantidade do Produto (com 3 decimais)
cTrailler := cTrailler + StrFill( p10, 13, "0", "L" ) // Valor Unitário do produto (com 3 decimais)
cTrailler := cTrailler + StrFill( p11, 12, "0", "LR" ) // Base de Cálculo do ICMS do Item (com 2 decimais)
cTrailler := cTrailler + StrFill( p12, 04, " ", "R" ) // Identificador da Situação Tributária / Alíquota do ICMS (com 2 decimais)
cTrailler := cTrailler + StrFill( p13, 12, "0", "L" ) // Montante do imposto
cTrailler := cTrailler + StrFill( p14, 16, " ", "R" ) // Brancos
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro60R( p02,p03,p04,p05,p06,p07,p08,p09 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro60R - (Resumo Mensal) Registro de informação de operações/prestações realizadas com ECF, Registro de Produto ou serviço processado em equipamento emissor de cupom fiscal
*** 60R1020051 0000000000001000000000000000100000000000000017,00
cTrailler := "60"
cTrailler := cTrailler + StrFill( p02, 01, " ", "R" ) // Subtipo R
cTrailler := cTrailler + StrFill( p03, 06, "0", "L" ) // Mês e Ano de emissão dos documentos fiscais
cTrailler := cTrailler + StrFill( p04, 14, " ", "R" ) // Código do produto ou serviço do informante
cTrailler := cTrailler + StrFill( p05, 13, "0", "L" ) // Quantidade do produto no mês (com 3 decimais)
cTrailler := cTrailler + StrFill( p06, 16, "0", "L" ) // valor acumulado do produto no mês (com 2 decimais)
cTrailler := cTrailler + StrFill( p07, 16, "0", "L" ) // valor acumulado no mês (com 2 decimais)
cTrailler := cTrailler + StrFill( p08, 04, " ", "R" ) // Identificador da Situação Tributária / Alíquota do ICMS (com 2 decimais)
cTrailler := cTrailler + StrFill( p09, 54, " ", "R" ) // Brancos
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro61( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro61 - Para Documentos quando não emitidos por ECF
*** 61 20050101021 00000100000200000000000010000000000001000000000007000000000000000000000000000700
cTrailler := "61"
cTrailler := cTrailler + StrFill( p02, 14, " ", "R" ) // Brancos 14 X
cTrailler := cTrailler + StrFill( p03, 14, " ", "R" ) // Brancos 14 X
cTrailler := cTrailler + StrFill( p04, 08, "0", "L" ) // Data de emissão do(s) documento(s) fiscal(is) 8 N
cTrailler := cTrailler + StrFill( p05, 02, "0", "L" ) // Modelo do(s) documento(s) fiscal(is) 2 N
cTrailler := cTrailler + StrFill( p06, 03, " ", "R" ) // Série do(s) documento(s) fiscal(is) 3 X
cTrailler := cTrailler + StrFill( p07, 02, " ", "R" ) // Subsérie do(s) documento(s) fiscal(is) 2 X
cTrailler := cTrailler + StrFill( p08, 06, " ", "R" ) // Número do primeiro documento fiscal emitido no dia do mesmo modelo, série e subsérie 6 N
cTrailler := cTrailler + StrFill( p09, 06, "0", "L" ) // Número do último documento fiscal emitido no dia do mesmo modelo, série e subsérie 6 N
cTrailler := cTrailler + StrFill( p10, 13, "0", "L" ) // Valor total do(s) documento(s) fiscal(is)/Movimento diário (com 2 decimais) 13 N
cTrailler := cTrailler + StrFill( p11, 13, "0", "L" ) // Base de cálculo do(s) documento(s) fiscal(is)/Total diário (com 2 decimais) 13 N
cTrailler := cTrailler + StrFill( p12, 12, "0", "L" ) // Valor do Montante do Imposto/Total diário (com 2 decimais) 12 N
cTrailler := cTrailler + StrFill( p13, 13, "0", "L" ) // Valor amparado por isenção ou não-incidência/Total diário (com 2 decimais) 13 N
cTrailler := cTrailler + StrFill( p14, 13, "0", "L" ) // Valor que não confira débito ou crédito de ICMS/Total diário (com 2 decimais) 13 N
cTrailler := cTrailler + StrFill( p15, 04, "0", "L" ) // Alíquota do ICMS (com 2 decimais) 4 N
cTrailler := cTrailler + StrFill( p16, 01, " ", "R" ) // Branco 1 X
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro61R( p02,p03,p04,p05,p06,p07,p08,p09 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro61R - (Resumo Mensal por Item) Registro de mercadoria/produto ou serviço comercializados através de Nota Fiscal de Produtor ou Nota Fiscal de Venda a Consumidor não emitida por ECF
*** 61R1020051 0000000000001000000000000000100000000000000010700
cTrailler := "61"
cTrailler := cTrailler + StrFill( p02, 01, " ", "R" ) // Mestre/Analítico/Resumo R
cTrailler := cTrailler + StrFill( p03, 06, "0", "L" ) // Mês e Ano de emissão dos documentos fiscais
cTrailler := cTrailler + StrFill( p04, 14, " ", "R" ) // Código do produto do informante
cTrailler := cTrailler + StrFill( p05, 13, "0", "L" ) // Quantidade do produto acumulada vendida no mês (com 3 decimais)
cTrailler := cTrailler + StrFill( p06, 16, "0", "L" ) // Valor bruto do produto - valor acumulado da venda do produto no mês (com 2 decimais)
cTrailler := cTrailler + StrFill( p07, 16, "0", "L" ) // Base de cálculo do ICMS do valor acumulado no mês (com 2 decimais)
cTrailler := cTrailler + StrFill( p08, 04, "0", "L" ) // Alíquota do ICMS do produto
cTrailler := cTrailler + StrFill( p09, 54, " ", "R" ) // Preencher posições com espaços em branco
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro70( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro70 - Registro de Total quanto ao ICMS
*** 7034261131000144ISENTO 20050101BA011 00000105110000000000001000000000000010000000000000000000000000000000000000000001N
p03 := iif( len(alltrim(p02))<14, "ISENTO", p03 )
cTrailler := "70"
cTrailler := cTrailler + StrFill( p02, 14, "0", "L" ) // CNPJ do emitente do documento, no caso de aquisição de serviço; CNPJ do tomador do serviço, no caso de emissão do documento
cTrailler := cTrailler + StrFill( p03, 14, " ", "R" ) // Inscrição Estadual do emitente do documento, no caso de aquisição de serviço; Inscrição Estadual do tomador do serviço, no caso de emissão do documento
cTrailler := cTrailler + StrFill( p04, 08, " ", "R" ) // Data de emissão para o prestador, ou data de utilização do serviço para o tomador
cTrailler := cTrailler + StrFill( p05, 02, " ", "R" ) // Sigla da unidade da Federação do emitente do documento, no caso de aquisição de serviço, ou do tomador do serviço, no caso de emissão do documento
cTrailler := cTrailler + StrFill( p06, 02, "0", "L" ) // Código do modelo do documento fiscal
cTrailler := cTrailler + StrFill( p07, 01, " ", "R" ) // Série do documento
cTrailler := cTrailler + StrFill( p08, 02, " ", "R" ) // Subsérie do documento
cTrailler := cTrailler + StrFill( p09, 06, "0", "L" ) // Número do documento
cTrailler := cTrailler + StrFill( p10, 04, "0", "L" ) // Um registro para cada CFOP do documento fiscal
cTrailler := cTrailler + StrFill( p11, 13, "0", "L" ) // Valor total do documento fiscal (com 2 decimais)
cTrailler := cTrailler + StrFill( p12, 14, "0", "L" ) // Base de cálculo do ICMS (com duas decimais)
cTrailler := cTrailler + StrFill( p13, 14, "0", "L" ) // Montante do imposto (com duas decimais)
cTrailler := cTrailler + StrFill( p14, 14, "0", "L" ) // Valor amparado por isenção ou não incidência (com duas decimais)
cTrailler := cTrailler + StrFill( p15, 14, "0", "L" ) // Valor que não confira débito ou crédito do ICMS (com duas decimais)
cTrailler := cTrailler + StrFill( p16, 01, "0", "L" ) // CIF/FOB Modalidade do frete – 1 – CIF ou 2 – FOB
cTrailler := cTrailler + StrFill( p17, 01, " ", "R" ) // Situação do documento fiscal quanto ao cancelamento
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro71( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro71 - Registro de Informações de Carga Transportada
*** 7133927658000100ISENTO 20050101BA011 000001BA34261131000144ISENTO 20050101011 00000100000000000001
p03 := iif( len(alltrim(p02))<14, "ISENTO", p03 )
cTrailler := "71"
cTrailler := cTrailler + StrFill( p02, 14, "0", "L" ) // CNPJ do tomador do serviço
cTrailler := cTrailler + StrFill( p03, 14, " ", "R" ) // Inscrição estadual do tomador do serviço
cTrailler := cTrailler + StrFill( p04, 08, "0", "L" ) // Data de emissão do conhecimento
cTrailler := cTrailler + StrFill( p05, 02, " ", "R" ) // Unidade da Federação do tomador do serviço
cTrailler := cTrailler + StrFill( p06, 02, " ", "R" ) // Modelo do conhecimento
cTrailler := cTrailler + StrFill( p07, 01, " ", "R" ) // Série do conhecimento
cTrailler := cTrailler + StrFill( p08, 02, " ", "R" ) // Subsérie do conhecimento
cTrailler := cTrailler + StrFill( p09, 06, "0", "L" ) // Número do conhecimento
cTrailler := cTrailler + StrFill( p10, 02, " ", "R" ) // Unidade da Federação do remetente, se o destinatário for o tomador ou unidade da Federação do destinatário, se o remetente for o tomador
cTrailler := cTrailler + StrFill( p11, 14, "0", "L" ) // CNPJ do remetente, se o destinatário for o tomador ou CNPJ do destinatário, se o remetente for o tomador
cTrailler := cTrailler + StrFill( p12, 14, " ", "R" ) // Inscrição Estadual do remetente, se o destinatário for o tomador ou Inscrição Estadual do destinatário, se o remetente for o tomador
cTrailler := cTrailler + StrFill( p13, 08, "0", "L" ) // Data de emissão da nota fiscal que acoberta a carga transportada
cTrailler := cTrailler + StrFill( p14, 02, " ", "R" ) // Modelo da nota fiscal que acoberta a carga transportada
cTrailler := cTrailler + StrFill( p15, 03, " ", "R" ) // Série da nota fiscal que acoberta a carga transportada
cTrailler := cTrailler + StrFill( p16, 06, "0", "L" ) // Número da nota fiscal que acoberta a carga transportada
cTrailler := cTrailler + StrFill( p17, 14, "0", "L" ) // Valor total da nota fiscal que acoberta a carga transportada (com duas decimais)
cTrailler := cTrailler + StrFill( p18, 12, " ", "R" ) // Brancos
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro74( p02,p03,p04,p05,p06,p07,p08,p09,p10 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro74 - Registro de Inventário
*** 74200501011 00000000000010000000000001134261131000144 BA
cTrailler := "74"
cTrailler := cTrailler + StrFill( p02, 08, " ", "R" ) // Data do Inventário no formato AAAAMMDD
cTrailler := cTrailler + StrFill( p03, 14, " ", "R" ) // Código do produto do informante
cTrailler := cTrailler + StrFill( p04, 13, "0", "L" ) // Quantidade do produto (com 3 decimais)
cTrailler := cTrailler + StrFill( p05, 13, "0", "L" ) // Valor bruto do produto (valor unitário multiplicado por quantidade) – com 2 decimais
cTrailler := cTrailler + StrFill( p06, 01, " ", "R" ) // Código de Posse das Mercadorias Inventariadas, conforme tabela abaixo
cTrailler := cTrailler + StrFill( p07, 14, "0", "L" ) // CNPJ do Possuidor da Mercadoria de propriedade do Informante, ou do proprietário da Mercadoria em poder do Informante
cTrailler := cTrailler + StrFill( p08, 14, " ", "R" ) // Inscrição Estadual do Possuidor da Mercadoria de propriedade do Informante, ou do proprietário da Mercadoria em poder do Informante
cTrailler := cTrailler + StrFill( p09, 02, " ", "R" ) // Unidade da Federação do Possuidor da Mercadoria de propriedade do Informante, ou do proprietário da Mercadoria em poder do Informante
cTrailler := cTrailler + StrFill( p10, 45, " ", "R" ) // Brancos
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro75( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro75 - Registro de Código de Produto e Serviço
*** 752005010120050131123 Descrição de Produto CX 000001700000000000000000000
cTrailler := "75"
cTrailler := cTrailler + StrFill( p02, 08, "0", "L" ) // Data inicial do período de validade das informações
cTrailler := cTrailler + StrFill( p03, 08, "0", "L" ) // Data final do período de validade das informações
cTrailler := cTrailler + StrFill( p04, 14, " ", "R" ) // Código do produto ou serviço utilizado pelo contribuinte
cTrailler := cTrailler + StrFill( p05, 08, "0", "L" ) // Codificação da Nomenclatura Comum do Mercosul
cTrailler := cTrailler + StrFill( p06, 53, " ", "R" ) // Descrição do produto ou serviço
cTrailler := cTrailler + StrFill( p07, 06, " ", "R" ) // Unidade de medida de comercialização do produto (un, kg, mt, m3, sc, frd, kwh, etc..)
cTrailler := cTrailler + StrFill( p08, 05, "0", "L" ) // Alíquota do IPI do produto
cTrailler := cTrailler + StrFill( p09, 04, "0", "L" ) // Alíquota do ICMS aplicável a mercadoria ou serviço nas operações ou prestações internas ou naquelas que se tiverem iniciado no exterior
cTrailler := cTrailler + StrFill( p10, 05, "0", "L" ) // Redução na base de cálculo do ICMS, nas operações internas
cTrailler := cTrailler + StrFill( p11, 13, "0", "L" ) // Base de Cálculo do ICMS de substituição tributária (com 2 decimais)
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro76( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17,p18 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro76 - Este registro deverá ser composto por contribuintes do ICMS, prestadores de serviço de comunicação e telecomunicação.
*** 7634261131000144ISENTO 221 00000000015111120050101BA0000000051819000000005181900000000362700000000000000000000000070N
p03 := iif( len(alltrim(p02))<14, "ISENTO", p03 )
cTrailler := "76"
cTrailler := cTrailler + StrFill( p02, 14, "0", "L" ) // CNPJ/CPF do tomador do serviço
cTrailler := cTrailler + StrFill( p03, 14, " ", "R" ) // Inscrição Estadual do do tomador do serviço
cTrailler := cTrailler + StrFill( p04, 02, "0", "L" ) // Código do modelo da nota fiscal
cTrailler := cTrailler + StrFill( p05, 02, " ", "R" ) // Série da nota fiscal
cTrailler := cTrailler + StrFill( p06, 02, " ", "R" ) // Subsérie da nota fiscal
cTrailler := cTrailler + StrFill( p07, 10, "0", "L" ) // Número da nota fiscal
cTrailler := cTrailler + StrFill( p08, 04, "0", "L" ) // Código Fiscal de Operação e Prestação
cTrailler := cTrailler + StrFill( p09, 01, "0", "L" ) // Código da identificação do tipo de receita, conforme tabela abaixo
cTrailler := cTrailler + StrFill( p10, 08, "0", "L" ) // Data de emissão na saída ou de Recebimento na entrada
cTrailler := cTrailler + StrFill( p11, 02, " ", "R" ) // Sigla da Unidade da Federação do Remetente nas entradas e do destinatário nas saídas
cTrailler := cTrailler + StrFill( p12, 13, "0", "L" ) // Valor total da nota fiscal(com 2 decimais)
cTrailler := cTrailler + StrFill( p13, 13, "0", "L" ) // Base de Cálculo do ICMS (com 2 decimais)
cTrailler := cTrailler + StrFill( p14, 12, "0", "L" ) // Montante do imposto(com 2 decimais)
cTrailler := cTrailler + StrFill( p15, 12, "0", "L" ) // Valor amparado por isenção ou não- Incidência (com 2 decimais)
cTrailler := cTrailler + StrFill( p16, 12, "0", "L" ) // Valor que não confira débito ou Crédito do ICMS (com 2 decimais)
cTrailler := cTrailler + StrFill( p17, 02, "0", "L" ) // Alíquota do ICMS (valor inteiro)
cTrailler := cTrailler + StrFill( p18, 01, " ", "R" ) // Situação da nota fiscal quanto ao Cancelamento
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro77( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro77 - Este registro deverá ser composto por contribuintes do ICMS, prestadores de serviço de comunicação e telecomunicação
*** 7734261131000144221 000000000151111001123 000000000000100000005181900000000000000000005181970342611310001440000000123
cTrailler := "77"
cTrailler := cTrailler + StrFill( p02, 14, "0", "L" ) // CNPJ/CPF do tomador do serviço
cTrailler := cTrailler + StrFill( p03, 02, "0", "L" ) // Código do modelo da nota fiscal
cTrailler := cTrailler + StrFill( p04, 02, " ", "R" ) // Série da nota fiscal
cTrailler := cTrailler + StrFill( p05, 02, " ", "R" ) // Subsérie da nota fiscal
cTrailler := cTrailler + StrFill( p06, 10, "0", "L" ) // Número da nota fiscal
cTrailler := cTrailler + StrFill( p07, 04, "0", "L" ) // Código Fiscal de Operação e Prestação
cTrailler := cTrailler + StrFill( p08, 01, "0", "L" ) // Código da identificação do tipo de receita, conforme tabela abaixo
cTrailler := cTrailler + StrFill( p09, 03, "0", "L" ) // Número de ordem do item na nota fiscal
cTrailler := cTrailler + StrFill( p10, 11, " ", "R" ) // Código do serviço do informante
cTrailler := cTrailler + StrFill( p11, 13, "0", "L" ) // Quantidade do serviço (com 3 decimais)
cTrailler := cTrailler + StrFill( p12, 12, "0", "L" ) // Valor bruto do serviço (valor unitário multiplicado por Quantidade) – com 2 decimais
cTrailler := cTrailler + StrFill( p13, 12, "0", "L" ) // Valor do Desconto Concedido no item (com 2 decimais)
cTrailler := cTrailler + StrFill( p14, 12, "0", "L" ) // Base de cálculo do ICMS (com 2 decimais)
cTrailler := cTrailler + StrFill( p15, 02, "0", "L" ) // Alíquota Utilizada no Cálculo do ICMS (valor inteiro)
cTrailler := cTrailler + StrFill( p16, 14, "0", "L" ) // CNPJ/MF da operadora de destino
cTrailler := cTrailler + StrFill( p17, 10, "0", "L" ) // Código que designa o usuário final na rede do informante
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro85( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16,p17 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro85 - Este registro se destina a informar dados relativos à exportação, obrigatório para as Empresas Comerciais Exportadoras e "Trading Companies"
*** 850000000000101010620S000000000123010106201234 0101062012024900000654010106200000010101062001001
cTrailler := "85"
cTrailler := cTrailler + StrFill( p02, 11, "0", "L" ) // Numero da declaração de Exportação
cTrailler := cTrailler + StrFill( p03, 08, "0", "L" ) // Data da Declaração de Exportação (AAAAMMDD)
cTrailler := cTrailler + StrFill( p04, 01, " ", "R" ) // Informação quanto à averbação do Despacho de Exportação. (Preencher com “S”- SIM ou “N” – Não)
cTrailler := cTrailler + StrFill( p05, 12, "0", "L" ) // Nº do registro de Exportação
cTrailler := cTrailler + StrFill( p06, 08, "0", "L" ) // Data do Registro de Exportação (AAAAMMDD)
cTrailler := cTrailler + StrFill( p07, 16, " ", "R" ) // Nº do conhecimento de embarque
cTrailler := cTrailler + StrFill( p08, 08, "0", "L" ) // Data do conhecimento de embarque (AAAAMMDD)
cTrailler := cTrailler + StrFill( p09, 02, "0", "L" ) // Informação do tipo de conhecimento de transporte (Preencher conforme tabela de tipo de documento de carga do SISCOMEX - anexa)
cTrailler := cTrailler + StrFill( p10, 04, "0", "L" ) // Código do país de destino da mercadoria (Preencher conforme tabela do SISCOMEX)
cTrailler := cTrailler + StrFill( p11, 08, "0", "L" ) // Número do Comprovante de Exportação
cTrailler := cTrailler + StrFill( p12, 08, "0", "L" ) // Data do comprovante de exportação (AAAAMMDD)
cTrailler := cTrailler + StrFill( p13, 06, "0", "L" ) // Número de Nota Fiscal de Exportação emitida pela Comercial Exportadora ou “Trading Company”
cTrailler := cTrailler + StrFill( p14, 08, "0", "L" ) // Data da emissão da NF de exportação / revenda (AAAAMMDD)
cTrailler := cTrailler + StrFill( p15, 02, "0", "L" ) // Código do modelo da NF
cTrailler := cTrailler + StrFill( p16, 03, "0", "L" ) // Série da Nota Fiscal
cTrailler := cTrailler + StrFill( p17, 19, " ", "R" ) // Brancos
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro86( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14,p15,p16 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro86 - Este registro se destina a informar dados relativos à exportação, obrigatório para as Empresas Comerciais Exportadoras e "Trading Companies"
*** 860000000001232005010134261131000144ISENTO BA00000101010620010011 000000000010000000000010000000000010
p05 := iif( len(alltrim(p02))<14, "ISENTO", p03 )
cTrailler := "86"
cTrailler := cTrailler + StrFill( p02, 12, "0", "L" ) // Nº do registro de Exportação
cTrailler := cTrailler + StrFill( p03, 08, "0", "L" ) // Data do Registro de Exportação (AAAAMMDD)
cTrailler := cTrailler + StrFill( p04, 14, "0", "L" ) // CNPJ do contribuinte Produtor/Industrial/Fabricante que promoveu a remessa com fim específico
cTrailler := cTrailler + StrFill( p05, 14, " ", "R" ) // Inscrição Estadual do contribuinte Produtor/Industrial/Fabricante que promoveu a remessa com fim específico
cTrailler := cTrailler + StrFill( p06, 02, " ", "R" ) // Unidade da Federação do Produtor/Industrial/Fabricante que promoveu remessa com fim específico
cTrailler := cTrailler + StrFill( p07, 06, "0", "L" ) // Nº da Nota Fiscal de remessa com fim específico de exportação recebida
cTrailler := cTrailler + StrFill( p08, 08, "0", "L" ) // Data de emissão da Nota Fiscal da remessa com fim específico (AAAAMMMDD)
cTrailler := cTrailler + StrFill( p09, 02, "0", "L" ) // Código do modelo do documento fiscal
cTrailler := cTrailler + StrFill( p10, 03, "0", "L" ) // Série da Nota Fiscal
cTrailler := cTrailler + StrFill( p11, 14, " ", "R" ) // Código do produto adotado no registro tipo 75 quando do registro de entrada da Nota Fiscal de remessa com fim específico
cTrailler := cTrailler + StrFill( p12, 11, "0", "L" ) // Quantidade, efetivamente exportada, do produto declarado na Nota Fiscal de remessa com fim específico recebida (com três decimais)
cTrailler := cTrailler + StrFill( p13, 12, "0", "L" ) // Valor unitário do produto (com duas decimais)
cTrailler := cTrailler + StrFill( p14, 12, "0", "L" ) // Valor total do produto (valor unitário multiplicado pela quantidade) – com 2 decimais
cTrailler := cTrailler + StrFill( p15, 01, "0", "L" ) // Preencher conforme tabela de códigos de relacionamento entre Registro de Exportação e Nota Fiscal de remessa com fim específico – Tabela A
cTrailler := cTrailler + StrFill( p16, 05, " ", "R" ) // Brancos
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro88PN( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12,p13,p14 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro88PN - Programa de Desenvolvimento da Indústria Náutica
*** 88PNAISENTO 20050101BA221 00000100000000518190000000051819000000104720050101
cTrailler := "88"
cTrailler := cTrailler + StrFill( p02, 02, " ", "R" ) // Subtipo "PN"
cTrailler := cTrailler + StrFill( p03, 01, " ", "R" ) // Preencher com A, B ou C, conforme abaixo :A – fornecimentos;B – aquisições;C – importações
cTrailler := cTrailler + StrFill( p04, 14, " ", "R" ) // Inscrição Estadual do remetente nas entradas ou do destinatário nas saídas
cTrailler := cTrailler + StrFill( p05, 08, "0", "L" ) // Data de emissão na saída ou de recebimento na entrada
cTrailler := cTrailler + StrFill( p06, 02, " ", "R" ) // Sigla da unidade da Federação do remetente nas entradas ou do destinatário nas saídas
cTrailler := cTrailler + StrFill( p07, 02, "0", "L" ) // Código do modelo do documento fiscal
cTrailler := cTrailler + StrFill( p08, 02, " ", "R" ) // Série do documento fiscal
cTrailler := cTrailler + StrFill( p09, 06, "0", "L" ) // Número do documento fiscal
cTrailler := cTrailler + StrFill( p10, 13, "0", "L" ) // Valor da mercadoria (com 2 decimais)
cTrailler := cTrailler + StrFill( p11, 13, "0", "L" ) // Montante do imposto diferido ou dilatado (com 2 decimais)
cTrailler := cTrailler + StrFill( p12, 10, "0", "L" ) // Declaração de Importação
cTrailler := cTrailler + StrFill( p13, 08, "0", "L" ) // Data do Registro da DI
cTrailler := cTrailler + StrFill( p14, 43, " ", "R" ) // Descrição da Mercadoria
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro88ECF( p02,p03,p04,p05,p06,p07,p08,p09,p10,p11,p12 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro88ECF – Equipamentos ECF
*** 88ECF34261131000144011 0000015101000001123 ABC123456 00000000000
cTrailler := "88"
cTrailler := cTrailler + StrFill( p02, 02, " ", "R" ) // Subtipo " ECF "
cTrailler := cTrailler + StrFill( p03, 14, "0", "L" ) // CNPJ do remetente nas entradas e do destinatário nas saídas
cTrailler := cTrailler + StrFill( p04, 02, "0", "L" ) // Código do modelo da nota fiscal
cTrailler := cTrailler + StrFill( p05, 03, " ", "R" ) // Série da nota fiscal
cTrailler := cTrailler + StrFill( p06, 06, "0", "L" ) // Número da nota fiscal
cTrailler := cTrailler + StrFill( p07, 04, "0", "L" ) // Código Fiscal de Operação e Prestação
cTrailler := cTrailler + StrFill( p08, 03, "0", "L" ) // Código da Situação Tributária
cTrailler := cTrailler + StrFill( p09, 03, "0", "L" ) // Número de ordem do item na nota
cTrailler := cTrailler + StrFill( p10, 14, " ", "R" ) // Código do produto ou serviço do informante
cTrailler := cTrailler + StrFill( p11, 20, " ", "R" ) // Número de série de fabricação do equipamento ECF
cTrailler := cTrailler + StrFill( p12, 11, "0", "L" ) // Brancos Complementação com espaços
cTrailler := cTrailler + &(cCRLF)
return cTrailler
Function SintegraRegistro88SME_MG( p02,p03,p04,p05 )
LOCAL cCRLF := "chr(13)+chr(10)"
*** Registro88SME_MG – Informação sobre mês sem movimento de Entradas
*** 88SME33927658000100Mensagem
cTrailler := "88"
cTrailler := cTrailler + StrFill( p02, 03, " ", "R" ) // Subtipo "SME_MG"
cTrailler := cTrailler + StrFill( p03, 14, "0", "L" ) // CNPJ ou CPF do Informante
cTrailler := cTrailler + StrFill( p04, 34, " ", "R" ) // Sem Movimento de Saídas
cTrailler := cTrailler + StrFill( p05, 73, " ", "R" ) // Complementação com espaços
cTrailler := cTrailler + &(cCRLF)
return cTrailler