FUNCTION PISCORegistroR0000()
   // *** Estrutura do Registro R0000 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0000->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?0000?.
   cTrailler := cTrailler + StrFill( R0000->CAMPO02     , 0003, '0', 'L' ) + cSeparator // 02 - Cdigo da verso do leiaute conforme a tabela 3.1.1.
   cTrailler := cTrailler + StrFill( R0000->CAMPO03     , 0001, '0', 'L' ) + cSeparator // 03 - Tipo de escriturao:
   cTrailler := cTrailler + StrFill( R0000->CAMPO04     , 0001, '0', 'L' ) + cSeparator // 04 - Indicador de situao especial:
   cTrailler := cTrailler + StrFill( R0000->CAMPO05     , 0041, ' ', 'R' ) + cSeparator // 05 - Nmero do Recibo da Escriturao anterior a ser retificada, utilizado quando TIPO_ESCRIT for igual a
   cTrailler := cTrailler + StrFill( R0000->CAMPO06     , 0008, '0', 'L' ) + cSeparator // 06 - Data inicial das informaes contidas no arquivo.
   cTrailler := cTrailler + StrFill( R0000->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Data final das informaes contidas no arquivo.
   cTrailler := cTrailler + StrFill( R0000->CAMPO08     , 0100, ' ', 'R' ) + cSeparator // 08 - Nome empresarial da pessoa jurdica
   cTrailler := cTrailler + StrFill( R0000->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Nmero de inscrio do estabelecimento matriz da pessoa jurdica no CNPJ.
   cTrailler := cTrailler + StrFill( R0000->CAMPO10     , 0002, ' ', 'R' ) + cSeparator // 10 - Sigla da Unidade da Federao da pessoa jurdica.
   cTrailler := cTrailler + StrFill( R0000->CAMPO11     , 0007, '0', 'L' ) + cSeparator // 11 - Cdigo do municpio do domiclio fiscal da pessoa jurdica, conforme a tabela IBGE
   cTrailler := cTrailler + StrFill( R0000->CAMPO12     , 0009, ' ', 'R' ) + cSeparator // 12 - Inscrio da pessoa jurdica na Suframa
   cTrailler := cTrailler + StrFill( R0000->CAMPO13     , 0002, '0', 'L' ) + cSeparator // 13 - Indicador da natureza da pessoa jurdica:
   cTrailler := cTrailler + StrFill( R0000->CAMPO14     , 0001, '0', 'L' ) + cSeparator // 14 - Indicador de tipo de atividade preponderante:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0001()
   // *** Estrutura do Registro R0001 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0001->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?0001?.
   cTrailler := cTrailler + StrFill( R0001->CAMPO02     , 0001, '0', 'L' ) + cSeparator // 02 - Indicador de movimento:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0100()
   // *** Estrutura do Registro R0100 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0100->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?0100?.
   cTrailler := cTrailler + StrFill( R0100->CAMPO02     , 0100, ' ', 'R' ) + cSeparator // 02 - Nome do contabilista.
   cTrailler := cTrailler + StrFill( R0100->CAMPO03     , 0011, '0', 'L' ) + cSeparator // 03 - Nmero de inscrio do contabilista no CPF.
   cTrailler := cTrailler + StrFill( R0100->CAMPO04     , 0015, ' ', 'R' ) + cSeparator // 04 - Nmero de inscrio do contabilista no Conselho Regional de Contabilidade.
   cTrailler := cTrailler + StrFill( R0100->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Nmero de inscrio do escritrio de contabilidade no CNPJ, se houver.
   cTrailler := cTrailler + StrFill( R0100->CAMPO06     , 0008, '0', 'L' ) + cSeparator // 06 - Cdigo de Endereamento Postal.
   cTrailler := cTrailler + StrFill( R0100->CAMPO07     , 0060, ' ', 'R' ) + cSeparator // 07 - Logradouro e endereo do imvel.
   cTrailler := cTrailler + StrFill( R0100->CAMPO08     , 0005, ' ', 'R' ) + cSeparator // 08 - Nmero do imvel.
   cTrailler := cTrailler + StrFill( R0100->CAMPO09     , 0060, ' ', 'R' ) + cSeparator // 09 - Dados complementares do endereo.
   cTrailler := cTrailler + StrFill( R0100->CAMPO10     , 0060, ' ', 'R' ) + cSeparator // 10 - Bairro em que o imvel est situado.
   cTrailler := cTrailler + StrFill( R0100->CAMPO11     , 0010, ' ', 'R' ) + cSeparator // 11 - Nmero do telefone.
   cTrailler := cTrailler + StrFill( R0100->CAMPO12     , 0010, ' ', 'R' ) + cSeparator // 12 - Nmero do fax.
   cTrailler := cTrailler + StrFill( R0100->CAMPO13     , 0100, ' ', 'R' ) + cSeparator // 13 - Endereo do correio eletrnico.
   cTrailler := cTrailler + StrFill( R0100->CAMPO14     , 0007, '0', 'L' ) + cSeparator // 14 - Cdigo do municpio, conforme tabela IBGE.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0110()
   // *** Estrutura do Registro R0110 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0110->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?0110?.
   cTrailler := cTrailler + StrFill( R0110->CAMPO02     , 0001, '0', 'L' ) + cSeparator // 02 - Cdigo indicador da incidncia tributria no perodo:
   cTrailler := cTrailler + StrFill( R0110->CAMPO03     , 0001, '0', 'L' ) + cSeparator // 03 - Cdigo indicador de mtodo de apropriao de crditos comuns, no caso de incidncia no regime no-cu
   cTrailler := cTrailler + StrFill( R0110->CAMPO04     , 0001, '0', 'L' ) + cSeparator // 04 - Cdigo indicador do Tipo de Contribuio Apurada no Perodo
   cTrailler := cTrailler + StrFill( R0110->CAMPO05     , 0001, '0', 'L' ) + cSeparator // 05 - Cdigo indicador do critrio de escriturao e apurao adotado, no caso de incidncia exclusivament
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0111()
   // *** Estrutura do Registro R0111 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0111->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?0111?.
   cTrailler := cTrailler + StrFill( R0111->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Receita Bruta No-Cumulativa - Tributada no Mercado Interno
   cTrailler := cTrailler + StrFill( R0111->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Receita Bruta No-Cumulativa ? No Tributada no Mercado Interno (Vendas com suspenso, alquota zero
   cTrailler := cTrailler + StrFill( R0111->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Receita Bruta No-Cumulativa ? Exportao
   cTrailler := cTrailler + StrFill( R0111->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Receita Bruta Cumulativa
   cTrailler := cTrailler + StrFill( R0111->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Receita Bruta Total
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0120()
   // *** Estrutura do Registro R0120 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0120->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "0120?
   cTrailler := cTrailler + StrFill( R0120->CAMPO02     , 0006, ' ', 'R' ) + cSeparator // 02 - Ms de referncia do  ano-calendrio da escriturao, dispensada da entrega.
   cTrailler := cTrailler + StrFill( R0120->CAMPO03     , 0090, ' ', 'R' ) + cSeparator // 03 - Informao complementar do registro.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0140()
   // *** Estrutura do Registro R0140 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0140->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?0140?.
   cTrailler := cTrailler + StrFill( R0140->CAMPO02     , 0060, ' ', 'R' ) + cSeparator // 02 - Cdigo de identificao do estabelecimento
   cTrailler := cTrailler + StrFill( R0140->CAMPO03     , 0100, ' ', 'R' ) + cSeparator // 03 - Nome empresarial do estabelecimento
   cTrailler := cTrailler + StrFill( R0140->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Nmero de inscrio do estabelecimento no CNPJ.
   cTrailler := cTrailler + StrFill( R0140->CAMPO05     , 0002, ' ', 'R' ) + cSeparator // 05 - Sigla da unidade da federao do estabelecimento.
   cTrailler := cTrailler + StrFill( R0140->CAMPO06     , 0014, ' ', 'R' ) + cSeparator // 06 - Inscrio Estadual do estabelecimento, se contribuinte de ICMS.
   cTrailler := cTrailler + StrFill( R0140->CAMPO07     , 0007, '0', 'L' ) + cSeparator // 07 - Cdigo do municpio do domiclio fiscal do estabelecimento, conforme a tabela IBGE
   cTrailler := cTrailler + StrFill( R0140->CAMPO08     , 0010, ' ', 'R' ) + cSeparator // 08 - Inscrio Municipal do estabelecimento, se contribuinte do ISS.
   cTrailler := cTrailler + StrFill( R0140->CAMPO09     , 0009, ' ', 'R' ) + cSeparator // 09 - Inscrio do estabelecimento na Suframa
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0150()
   // *** Estrutura do Registro R0150 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0150->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?0150?.
   cTrailler := cTrailler + StrFill( R0150->CAMPO02     , 0060, ' ', 'R' ) + cSeparator // 02 - Cdigo de identificao do participante no arquivo.
   cTrailler := cTrailler + StrFill( R0150->CAMPO03     , 0100, ' ', 'R' ) + cSeparator // 03 - Nome pessoal ou empresarial do participante.
   cTrailler := cTrailler + StrFill( R0150->CAMPO04     , 0004, '0', 'L' ) + cSeparator // 04 - Cdigo do pas do participante, conforme a tabela indicada no item 3.2.1.
   cTrailler := cTrailler + StrFill( R0150->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - CNPJ do participante.
   cTrailler := cTrailler + StrFill( R0150->CAMPO06     , 0011, '0', 'L' ) + cSeparator // 06 - CPF do participante.
   cTrailler := cTrailler + StrFill( R0150->CAMPO07     , 0014, ' ', 'R' ) + cSeparator // 07 - Inscrio Estadual do participante.
   cTrailler := cTrailler + StrFill( R0150->CAMPO08     , 0007, '0', 'L' ) + cSeparator // 08 - Cdigo do municpio, conforme a tabela IBGE
   cTrailler := cTrailler + StrFill( R0150->CAMPO09     , 0009, ' ', 'R' ) + cSeparator // 09 - Nmero de inscrio do participante na Suframa
   cTrailler := cTrailler + StrFill( R0150->CAMPO10     , 0060, ' ', 'R' ) + cSeparator // 10 - Logradouro e endereo do imvel
   cTrailler := cTrailler + StrFill( R0150->CAMPO11     , 0005, ' ', 'R' ) + cSeparator // 11 - Nmero do imvel
   cTrailler := cTrailler + StrFill( R0150->CAMPO12     , 0060, ' ', 'R' ) + cSeparator // 12 - Dados complementares do endereo
   cTrailler := cTrailler + StrFill( R0150->CAMPO13     , 0060, ' ', 'R' ) + cSeparator // 13 - Bairro em que o imvel est situado
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0190()
   // *** Estrutura do Registro R0190 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0190->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "0190"
   cTrailler := cTrailler + StrFill( R0190->CAMPO02     , 0006, ' ', 'R' ) + cSeparator // 02 - Cdigo da unidade de medida
   cTrailler := cTrailler + StrFill( R0190->CAMPO03     , 0100, ' ', 'R' ) + cSeparator // 03 - Descrio da unidade de medida
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0200()
   // *** Estrutura do Registro R0200 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0200->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "0200"
   cTrailler := cTrailler + StrFill( R0200->CAMPO02     , 0060, ' ', 'R' ) + cSeparator // 02 - Cdigo do item
   cTrailler := cTrailler + StrFill( R0200->CAMPO03     , 0100, ' ', 'R' ) + cSeparator // 03 - Descrio do item
   cTrailler := cTrailler + StrFill( R0200->CAMPO04     , 0016, ' ', 'R' ) + cSeparator // 04 - Representao alfanumrico do cdigo de barra do produto, se houver.
   cTrailler := cTrailler + StrFill( R0200->CAMPO05     , 0060, ' ', 'R' ) + cSeparator // 05 - Cdigo anterior do item com relao  ltima informao apresentada.
   cTrailler := cTrailler + StrFill( R0200->CAMPO06     , 0006, ' ', 'R' ) + cSeparator // 06 - Unidade de medida utilizada na quantificao de estoques.
   cTrailler := cTrailler + StrFill( R0200->CAMPO07     , 0002, '0', 'L' ) + cSeparator // 07 - Tipo do item ? Atividades Industriais, Comerciais e Servios:
   cTrailler := cTrailler + StrFill( R0200->CAMPO08     , 0008, ' ', 'R' ) + cSeparator // 08 - Cdigo da Nomenclatura Comum do Mercosul
   cTrailler := cTrailler + StrFill( R0200->CAMPO09     , 0003, ' ', 'R' ) + cSeparator // 09 - Cdigo EX, conforme a TIPI
   cTrailler := cTrailler + StrFill( R0200->CAMPO10     , 0002, '0', 'L' ) + cSeparator // 10 - Cdigo do gnero do item, conforme a Tabela 4.2.1.
   cTrailler := cTrailler + StrFill( R0200->CAMPO11     , 0004, '0', 'L' ) + cSeparator // 11 - Cdigo do servio conforme lista do Anexo I da Lei Complementar Federal n 116/03.
   cTrailler := cTrailler + StrFill( R0200->CAMPO12     , 0006, '0', 'L' ) + cSeparator // 12 - Alquota de ICMS aplicvel ao item nas operaes internas
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0205()
   // *** Estrutura do Registro R0205 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0205->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "0205"
   cTrailler := cTrailler + StrFill( R0205->CAMPO02     , 0100, ' ', 'R' ) + cSeparator // 02 - Descrio anterior do item
   cTrailler := cTrailler + StrFill( R0205->CAMPO03     , 0008, '0', 'L' ) + cSeparator // 03 - Data inicial de utilizao da descrio do item
   cTrailler := cTrailler + StrFill( R0205->CAMPO04     , 0008, '0', 'L' ) + cSeparator // 04 - Data final de utilizao da descrio do item
   cTrailler := cTrailler + StrFill( R0205->CAMPO05     , 0060, ' ', 'R' ) + cSeparator // 05 - Cdigo anterior do item com relao  ltima informao apresentada.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0206()
   // *** Estrutura do Registro R0206 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0206->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "0206"
   cTrailler := cTrailler + StrFill( R0206->CAMPO02     , 0010, ' ', 'R' ) + cSeparator // 02 - Cdigo do combustvel, conforme tabela publicada pela ANP
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0208()
   // *** Estrutura do Registro R0208 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0208->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "0208"
   cTrailler := cTrailler + StrFill( R0208->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo indicador da Tabela de Incidncia, conforme Anexo III do Decreto n 6.707/08:
   cTrailler := cTrailler + StrFill( R0208->CAMPO03     , 0002, ' ', 'R' ) + cSeparator // 03 - Cdigo do grupo, conforme Anexo III do Decreto n 6.707/08.
   cTrailler := cTrailler + StrFill( R0208->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Marca Comercial
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0400()
   // *** Estrutura do Registro R0400 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0400->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "0400"
   cTrailler := cTrailler + StrFill( R0400->CAMPO02     , 0010, ' ', 'R' ) + cSeparator // 02 - Cdigo da natureza da operao/prestao
   cTrailler := cTrailler + StrFill( R0400->CAMPO03     , 0100, ' ', 'R' ) + cSeparator // 03 - Descrio da natureza da operao/prestao
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0450()
   // *** Estrutura do Registro R0450 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0450->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "0450"
   cTrailler := cTrailler + StrFill( R0450->CAMPO02     , 0006, ' ', 'R' ) + cSeparator // 02 - Cdigo da informao complementar do documento fiscal.
   cTrailler := cTrailler + StrFill( R0450->CAMPO03     , 0100, ' ', 'R' ) + cSeparator // 03 - Texto livre da informao complementar existente no documento fiscal, inclusive espcie de normas le
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0500()
   // *** Estrutura do Registro R0500 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0500->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?0500?
   cTrailler := cTrailler + StrFill( R0500->CAMPO02     , 0008, '0', 'L' ) + cSeparator // 02 - Data da incluso/alterao
   cTrailler := cTrailler + StrFill( R0500->CAMPO03     , 0002, ' ', 'R' ) + cSeparator // 03 - Cdigo da natureza da conta/grupo de contas:
   cTrailler := cTrailler + StrFill( R0500->CAMPO04     , 0001, ' ', 'R' ) + cSeparator // 04 - Indicador do tipo de conta:
   cTrailler := cTrailler + StrFill( R0500->CAMPO05     , 0005, '0', 'L' ) + cSeparator // 05 - Nvel da conta analtica/grupo de contas.
   cTrailler := cTrailler + StrFill( R0500->CAMPO06     , 0060, ' ', 'R' ) + cSeparator // 06 - Cdigo da conta analtica/grupo de contas.
   cTrailler := cTrailler + StrFill( R0500->CAMPO07     , 0060, ' ', 'R' ) + cSeparator // 07 - Nome da conta analtica/grupo de contas.
   cTrailler := cTrailler + StrFill( R0500->CAMPO08     , 0060, ' ', 'R' ) + cSeparator // 08 - Cdigo da conta correlacionada no Plano de Contas Referenciado, publicado pela RFB.
   cTrailler := cTrailler + StrFill( R0500->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - CNPJ do estabelecimento, no caso da conta informada no campo COD_CTA ser especfica de um estabeleci
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0600()
   // *** Estrutura do Registro R0600 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0600->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?0600?.
   cTrailler := cTrailler + StrFill( R0600->CAMPO02     , 0008, '0', 'L' ) + cSeparator // 02 - Data da incluso/alterao.
   cTrailler := cTrailler + StrFill( R0600->CAMPO03     , 0060, ' ', 'R' ) + cSeparator // 03 - Cdigo do centro de custos.
   cTrailler := cTrailler + StrFill( R0600->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Nome do centro de custos.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR0990()
   // *** Estrutura do Registro R0990 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R0990->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "0990"
   cTrailler := cTrailler + StrFill( R0990->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Quantidade total de linhas do Bloco 0
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1001()
   // *** Estrutura do Registro R1001 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1001->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1001"
   cTrailler := cTrailler + StrFill( R1001->CAMPO02     , 0001, '0', 'L' ) + cSeparator // 02 - Indicador de movimento:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1010()
   // *** Estrutura do Registro R1010 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1010->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1010"
   cTrailler := cTrailler + StrFill( R1010->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do Nmero do Processo Judicial
   cTrailler := cTrailler + StrFill( R1010->CAMPO03     , 0020, ' ', 'R' ) + cSeparator // 03 - Identificao da Seo Judiciria
   cTrailler := cTrailler + StrFill( R1010->CAMPO04     , 0002, ' ', 'R' ) + cSeparator // 04 - Identificao da Vara
   cTrailler := cTrailler + StrFill( R1010->CAMPO05     , 0002, ' ', 'R' ) + cSeparator // 05 - Indicador da Natureza da Ao Judicial, impetrada na Justia Federal:
   cTrailler := cTrailler + StrFill( R1010->CAMPO06     , 0100, ' ', 'R' ) + cSeparator // 06 - Descrio Resumida dos Efeitos Tributrios abrangidos pela Deciso Judicial proferida.
   cTrailler := cTrailler + StrFill( R1010->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Data da Sentena/Deciso Judicial
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1020()
   // *** Estrutura do Registro R1020 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1020->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - *Texto fixo contendo "1020"
   cTrailler := cTrailler + StrFill( R1020->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do Processo Administrativo ou da Deciso Administrativa
   cTrailler := cTrailler + StrFill( R1020->CAMPO03     , 0002, ' ', 'R' ) + cSeparator // 03 - Indicador da Natureza da Ao, decorrente de Processo Administrativo na Secretaria da Receita Federa
   cTrailler := cTrailler + StrFill( R1020->CAMPO04     , 0008, '0', 'L' ) + cSeparator // 04 - Data do Despacho/Deciso Administrativa
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1100()
   // *** Estrutura do Registro R1100 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1100->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1100"
   cTrailler := cTrailler + StrFill( R1100->CAMPO02     , 0006, '0', 'L' ) + cSeparator // 02 - Perodo de Apurao do Crdito (MM/AAAA)
   cTrailler := cTrailler + StrFill( R1100->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Indicador da origem do crdito:
   cTrailler := cTrailler + StrFill( R1100->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - CNPJ da pessoa jurdica cedente do crdito (se ORIG_CRED = 02).
   cTrailler := cTrailler + StrFill( R1100->CAMPO05     , 0003, '0', 'L' ) + cSeparator // 05 - Cdigo do Tipo do Crdito, conforme Tabela 4.3.6.
   cTrailler := cTrailler + StrFill( R1100->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor do Crdito apurado na Escriturao Fiscal Digital ou em demonstrativo DACON de perodos anteri
   cTrailler := cTrailler + StrFill( R1100->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor de Crdito Extemporneo Apurado (Registro 1101), referente a Perodo Anterior, Informado no Ca
   cTrailler := cTrailler + StrFill( R1100->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor Total do Crdito Apurado (06 + 07)
   cTrailler := cTrailler + StrFill( R1100->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor do Crdito utilizado mediante Desconto, em Perodo(s)  Anterior(es).
   cTrailler := cTrailler + StrFill( R1100->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor do Crdito utilizado mediante Pedido de Ressarcimento, em Perodo(s) Anterior(es).
   cTrailler := cTrailler + StrFill( R1100->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor do Crdito utilizado mediante Declarao de Compensao Intermediria (Crdito de Exportao),
   cTrailler := cTrailler + StrFill( R1100->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Saldo do Crdito Disponvel para Utilizao neste Perodo de Escriturao (08 ? 09 ? 10 - 11).
   cTrailler := cTrailler + StrFill( R1100->CAMPO13     , 0014, '0', 'L' ) + cSeparator // 13 - Valor do Crdito descontado neste perodo de escriturao.
   cTrailler := cTrailler + StrFill( R1100->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Valor do Crdito objeto de Pedido de Ressarcimento (PER) neste perodo de escriturao.
   cTrailler := cTrailler + StrFill( R1100->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Valor do Crdito utilizado mediante Declarao de Compensao Intermediria neste perodo de escritu
   cTrailler := cTrailler + StrFill( R1100->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Valor do crdito transferido em evento de ciso, fuso ou incorporao.
   cTrailler := cTrailler + StrFill( R1100->CAMPO17     , 0014, '0', 'L' ) + cSeparator // 17 - Valor do crdito utilizado por outras formas.
   cTrailler := cTrailler + StrFill( R1100->CAMPO18     , 0014, '0', 'L' ) + cSeparator // 18 - Saldo de crditos a utilizar em perodo de apurao futuro (12 ? 13 ? 14 ? 15 ? 16 - 17).
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1101()
   // *** Estrutura do Registro R1101 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1101->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1101"
   cTrailler := cTrailler + StrFill( R1101->CAMPO02     , 0060, ' ', 'R' ) + cSeparator // 02 - Cdigo do participante (Campo 02 do Registro 0150)
   cTrailler := cTrailler + StrFill( R1101->CAMPO03     , 0060, ' ', 'R' ) + cSeparator // 03 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( R1101->CAMPO04     , 0002, ' ', 'R' ) + cSeparator // 04 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1.
   cTrailler := cTrailler + StrFill( R1101->CAMPO05     , 0004, ' ', 'R' ) + cSeparator // 05 - Srie do documento fiscal
   cTrailler := cTrailler + StrFill( R1101->CAMPO06     , 0003, ' ', 'R' ) + cSeparator // 06 - Subsrie do documento fiscal
   cTrailler := cTrailler + StrFill( R1101->CAMPO07     , 0009, '0', 'L' ) + cSeparator // 07 - Nmero do documento fiscal
   cTrailler := cTrailler + StrFill( R1101->CAMPO08     , 0008, '0', 'L' ) + cSeparator // 08 - Data da Operao (ddmmaaaa)
   cTrailler := cTrailler + StrFill( R1101->CAMPO09     , 0044, '0', 'L' ) + cSeparator // 09 - Chave da Nota Fiscal Eletrnica
   cTrailler := cTrailler + StrFill( R1101->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor da Operao
   cTrailler := cTrailler + StrFill( R1101->CAMPO11     , 0004, '0', 'L' ) + cSeparator // 11 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( R1101->CAMPO12     , 0002, ' ', 'R' ) + cSeparator // 12 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7.
   cTrailler := cTrailler + StrFill( R1101->CAMPO13     , 0001, ' ', 'R' ) + cSeparator // 13 - Indicador da origem do crdito:
   cTrailler := cTrailler + StrFill( R1101->CAMPO14     , 0002, '0', 'L' ) + cSeparator // 14 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   cTrailler := cTrailler + StrFill( R1101->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Base de Clculo do Crdito de PIS/PASEP (em valor ou em quantidade).
   cTrailler := cTrailler + StrFill( R1101->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Alquota do PIS/PASEP (em percentual ou em reais).
   cTrailler := cTrailler + StrFill( R1101->CAMPO17     , 0014, '0', 'L' ) + cSeparator // 17 - Valor do Crdito de PIS/PASEP.
   cTrailler := cTrailler + StrFill( R1101->CAMPO18     , 0060, ' ', 'R' ) + cSeparator // 18 - Cdigo da conta analtica contbil debitada/creditada.
   cTrailler := cTrailler + StrFill( R1101->CAMPO19     , 0060, ' ', 'R' ) + cSeparator // 19 - Cdigo do Centro de Custos.
   cTrailler := cTrailler + StrFill( R1101->CAMPO20     , 0100, ' ', 'R' ) + cSeparator // 20 - Descrio complementar do Documento/Operao.
   cTrailler := cTrailler + StrFill( R1101->CAMPO21     , 0006, '0', 'L' ) + cSeparator // 21 - Ms/Ano da Escriturao em que foi registrado o documento/operao (Crdito pelo mtodo da Apropria
   cTrailler := cTrailler + StrFill( R1101->CAMPO22     , 0014, '0', 'L' ) + cSeparator // 22 - CNPJ do estabelecimento gerador do crdito extemporneo (Campo 04  do Registro 0140)
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1102()
   // *** Estrutura do Registro R1102 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1102->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1102"
   cTrailler := cTrailler + StrFill( R1102->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Parcela do Crdito de PIS/PASEP, vinculada a Receita Tributada no Mercado Interno
   cTrailler := cTrailler + StrFill( R1102->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Parcela do Crdito de PIS/PASEP, vinculada a Receita No Tributada no Mercado Interno
   cTrailler := cTrailler + StrFill( R1102->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Parcela do Crdito de PIS/PASEP, vinculada a Receita de Exportao
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1200()
   // *** Estrutura do Registro R1200 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1200->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1200"
   cTrailler := cTrailler + StrFill( R1200->CAMPO02     , 0006, '0', 'L' ) + cSeparator // 02 - Perodo de Apurao da Contribuio Social Extempornea (MMAAAA).
   cTrailler := cTrailler + StrFill( R1200->CAMPO03     , 0002, ' ', 'R' ) + cSeparator // 03 - Natureza da Contribuio a Recolher, conforme Tabela 4.3.5.
   cTrailler := cTrailler + StrFill( R1200->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor da Contribuio Apurada.
   cTrailler := cTrailler + StrFill( R1200->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor do Crdito de PIS/PASEP a Descontar, da Contribuio Social Extempornea.
   cTrailler := cTrailler + StrFill( R1200->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da Contribuio Social Extempornea Devida.
   cTrailler := cTrailler + StrFill( R1200->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor de Outras Dedues.
   cTrailler := cTrailler + StrFill( R1200->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor da Contribuio Social Extempornea a pagar.
   cTrailler := cTrailler + StrFill( R1200->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor da Multa.
   cTrailler := cTrailler + StrFill( R1200->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor dos Juros.
   cTrailler := cTrailler + StrFill( R1200->CAMPO11     , 0008, '0', 'L' ) + cSeparator // 11 - Data do Recolhimento.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1210()
   // *** Estrutura do Registro R1210 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1210->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?1210?
   cTrailler := cTrailler + StrFill( R1210->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Nmero de inscrio do estabelecimento no CNPJ (Campo 04 do Registro 0140).
   cTrailler := cTrailler + StrFill( R1210->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   cTrailler := cTrailler + StrFill( R1210->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Cdigo do participante (Campo 02 do Registro 0150)
   cTrailler := cTrailler + StrFill( R1210->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Data da Operao (ddmmaaaa)
   cTrailler := cTrailler + StrFill( R1210->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da Operao
   cTrailler := cTrailler + StrFill( R1210->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Base de clculo do PIS/PASEP (em valor ou em quantidade)
   cTrailler := cTrailler + StrFill( R1210->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Alquota da PIS (em percentual ou em reais)
   cTrailler := cTrailler + StrFill( R1210->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( R1210->CAMPO10     , 0060, ' ', 'R' ) + cSeparator // 10 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + StrFill( R1210->CAMPO11     , 0100, ' ', 'R' ) + cSeparator // 11 - Descrio complementar do Documento/Operao
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1220()
   // *** Estrutura do Registro R1220 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1220->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1220"
   cTrailler := cTrailler + StrFill( R1220->CAMPO02     , 0006, '0', 'L' ) + cSeparator // 02 - Perodo de Apurao do Crdito (MM/AAAA)
   cTrailler := cTrailler + StrFill( R1220->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Indicador da origem do crdito:
   cTrailler := cTrailler + StrFill( R1220->CAMPO04     , 0003, '0', 'L' ) + cSeparator // 04 - Cdigo do Tipo do Crdito, conforme Tabela 4.3.6.
   cTrailler := cTrailler + StrFill( R1220->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor do Crdito a Descontar
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1300()
   // *** Estrutura do Registro R1300 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1300->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1300"
   cTrailler := cTrailler + StrFill( R1300->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Indicador de Natureza da Reteno na Fonte:
   cTrailler := cTrailler + StrFill( R1300->CAMPO03     , 0006, '0', 'L' ) + cSeparator // 03 - Perodo do Recebimento e da Reteno (MM/AAAA)
   cTrailler := cTrailler + StrFill( R1300->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor Total da Reteno
   cTrailler := cTrailler + StrFill( R1300->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor da Reteno deduzida da Contribuio devida no perodo da escriturao e em perodos anteriore
   cTrailler := cTrailler + StrFill( R1300->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da Reteno utilizada mediante Pedido de Restituio.
   cTrailler := cTrailler + StrFill( R1300->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor da Reteno utilizada mediante Declarao de Compensao.
   cTrailler := cTrailler + StrFill( R1300->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Saldo de Reteno a utilizar em perodos de apurao futuros (04 ? 05 - 06 - 07).
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1500()
   // *** Estrutura do Registro R1500 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1500->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1500"
   cTrailler := cTrailler + StrFill( R1500->CAMPO02     , 0006, '0', 'L' ) + cSeparator // 02 - Perodo de Apurao do Crdito (MM/AAAA)
   cTrailler := cTrailler + StrFill( R1500->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Indicador da origem do crdito:
   cTrailler := cTrailler + StrFill( R1500->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - CNPJ da pessoa jurdica cedente do crdito (se ORIG_CRED = 02).
   cTrailler := cTrailler + StrFill( R1500->CAMPO05     , 0003, '0', 'L' ) + cSeparator // 05 - Cdigo do Tipo do Crdito, conforme Tabela 4.3.6.
   cTrailler := cTrailler + StrFill( R1500->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor do Crdito apurado na Escriturao Fiscal Digital ou em demonstrativo DACON de perodos anteri
   cTrailler := cTrailler + StrFill( R1500->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor de Crdito Extemporneo Apurado (Registro 1501), referente a Perodo Anterior, Informado no Ca
   cTrailler := cTrailler + StrFill( R1500->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor Total do Crdito Apurado (06 + 07)
   cTrailler := cTrailler + StrFill( R1500->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor do Crdito utilizado mediante Desconto, em Perodo(s)  Anterior(es)
   cTrailler := cTrailler + StrFill( R1500->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor do Crdito utilizado mediante Pedido de Ressarcimento, em Perodo(s) Anterior(es).
   cTrailler := cTrailler + StrFill( R1500->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor do Crdito utilizado mediante Declarao de Compensao Intermediria (Crdito de Exportao),
   cTrailler := cTrailler + StrFill( R1500->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Saldo do Crdito Disponvel para Utilizao neste Perodo de Escriturao (08-09-10-11)
   cTrailler := cTrailler + StrFill( R1500->CAMPO13     , 0014, '0', 'L' ) + cSeparator // 13 - Valor do Crdito descontado neste perodo de escriturao
   cTrailler := cTrailler + StrFill( R1500->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Valor do Crdito objeto de Pedido de Ressarcimento (PER) neste perodo de escriturao
   cTrailler := cTrailler + StrFill( R1500->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Valor do Crdito utilizado mediante Declarao de Compensao Intermediria neste perodo de escritu
   cTrailler := cTrailler + StrFill( R1500->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Valor do crdito transferido em evento de ciso, fuso ou incorporao
   cTrailler := cTrailler + StrFill( R1500->CAMPO17     , 0014, '0', 'L' ) + cSeparator // 17 - Valor do crdito utilizado por outras formas
   cTrailler := cTrailler + StrFill( R1500->CAMPO18     , 0014, '0', 'L' ) + cSeparator // 18 - Saldo de crditos a utilizar em perodo de apurao futuro (12-13-14-15-16-17).
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1501()
   // *** Estrutura do Registro R1501 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1501->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1501"
   cTrailler := cTrailler + StrFill( R1501->CAMPO02     , 0060, ' ', 'R' ) + cSeparator // 02 - Cdigo do participante (Campo 02 do Registro 0150)
   cTrailler := cTrailler + StrFill( R1501->CAMPO03     , 0060, ' ', 'R' ) + cSeparator // 03 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( R1501->CAMPO04     , 0002, ' ', 'R' ) + cSeparator // 04 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1.
   cTrailler := cTrailler + StrFill( R1501->CAMPO05     , 0004, ' ', 'R' ) + cSeparator // 05 - Srie do documento fiscal
   cTrailler := cTrailler + StrFill( R1501->CAMPO06     , 0003, ' ', 'R' ) + cSeparator // 06 - Subsrie do documento fiscal
   cTrailler := cTrailler + StrFill( R1501->CAMPO07     , 0009, '0', 'L' ) + cSeparator // 07 - Nmero do documento fiscal
   cTrailler := cTrailler + StrFill( R1501->CAMPO08     , 0008, '0', 'L' ) + cSeparator // 08 - Data da Operao (ddmmaaaa)
   cTrailler := cTrailler + StrFill( R1501->CAMPO09     , 0044, '0', 'L' ) + cSeparator // 09 - Chave da Nota Fiscal Eletrnica
   cTrailler := cTrailler + StrFill( R1501->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor da Operao
   cTrailler := cTrailler + StrFill( R1501->CAMPO11     , 0004, '0', 'L' ) + cSeparator // 11 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( R1501->CAMPO12     , 0002, ' ', 'R' ) + cSeparator // 12 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7.
   cTrailler := cTrailler + StrFill( R1501->CAMPO13     , 0001, ' ', 'R' ) + cSeparator // 13 - Indicador da origem do crdito:
   cTrailler := cTrailler + StrFill( R1501->CAMPO14     , 0002, '0', 'L' ) + cSeparator // 14 - Cdigo da Situao Tributria referente ao COFINS, conforme a Tabela indicada no item 4.3.4.
   cTrailler := cTrailler + StrFill( R1501->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Base de Clculo do Crdito de COFINS (em valor ou em quantidade)
   cTrailler := cTrailler + StrFill( R1501->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Alquota do COFINS (em percentual ou em reais)
   cTrailler := cTrailler + StrFill( R1501->CAMPO17     , 0014, '0', 'L' ) + cSeparator // 17 - Valor do Crdito de COFINS
   cTrailler := cTrailler + StrFill( R1501->CAMPO18     , 0060, ' ', 'R' ) + cSeparator // 18 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + StrFill( R1501->CAMPO19     , 0060, ' ', 'R' ) + cSeparator // 19 - Cdigo do Centro de Custos
   cTrailler := cTrailler + StrFill( R1501->CAMPO20     , 0100, ' ', 'R' ) + cSeparator // 20 - Descrio complementar do Documento/Operao
   cTrailler := cTrailler + StrFill( R1501->CAMPO21     , 0006, '0', 'L' ) + cSeparator // 21 - Ms/Ano da Escriturao em que foi registrado o documento/operao (Crdito pelo mtodo da Apropria
   cTrailler := cTrailler + StrFill( R1501->CAMPO22     , 0014, '0', 'L' ) + cSeparator // 22 - CNPJ do estabelecimento gerador do crdito extemporneo (Campo 04  do Registro 0140)
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1502()
   // *** Estrutura do Registro R1502 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1502->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1502"
   cTrailler := cTrailler + StrFill( R1502->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Parcela do Crdito de COFINS, vinculada a Receita Tributada no Mercado Interno
   cTrailler := cTrailler + StrFill( R1502->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Parcela do Crdito de COFINS, vinculada a Receita No Tributada no Mercado Interno
   cTrailler := cTrailler + StrFill( R1502->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Parcela do Crdito de COFINS, vinculada a Receita de Exportao
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1600()
   // *** Estrutura do Registro R1600 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1600->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1600"
   cTrailler := cTrailler + StrFill( R1600->CAMPO02     , 0006, '0', 'L' ) + cSeparator // 02 - Perodo de Apurao da Contribuio Social Extempornea (MMAAAA)
   cTrailler := cTrailler + StrFill( R1600->CAMPO03     , 0002, ' ', 'R' ) + cSeparator // 03 - Natureza da Contribuio a Recolher, conforme Tabela 4.3.5.
   cTrailler := cTrailler + StrFill( R1600->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor da Contribuio Apurada
   cTrailler := cTrailler + StrFill( R1600->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor do Crdito de COFINS a Descontar, da Contribuio Social Extempornea.
   cTrailler := cTrailler + StrFill( R1600->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da Contribuio Social Extempornea Devida.
   cTrailler := cTrailler + StrFill( R1600->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor de Outras Dedues.
   cTrailler := cTrailler + StrFill( R1600->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor da Contribuio Social Extempornea a pagar.
   cTrailler := cTrailler + StrFill( R1600->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor da Multa.
   cTrailler := cTrailler + StrFill( R1600->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor dos Juros.
   cTrailler := cTrailler + StrFill( R1600->CAMPO11     , 0008, '0', 'L' ) + cSeparator // 11 - Data do Recolhimento.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1610()
   // *** Estrutura do Registro R1610 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1610->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?1610?
   cTrailler := cTrailler + StrFill( R1610->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Nmero de inscrio do estabelecimento no CNPJ (Campo 04 do Registro 0140).
   cTrailler := cTrailler + StrFill( R1610->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Cdigo da Situao Tributria referente a COFINS, conforme a Tabela indicada no item 4.3.4.
   cTrailler := cTrailler + StrFill( R1610->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Cdigo do participante (Campo 02 do Registro 0150)
   cTrailler := cTrailler + StrFill( R1610->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Data da Operao (ddmmaaaa)
   cTrailler := cTrailler + StrFill( R1610->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da Operao
   cTrailler := cTrailler + StrFill( R1610->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Base de clculo da COFINS (em valor ou em quantidade)
   cTrailler := cTrailler + StrFill( R1610->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Alquota da COFINS (em percentual ou em reais)
   cTrailler := cTrailler + StrFill( R1610->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor da COFINS
   cTrailler := cTrailler + StrFill( R1610->CAMPO10     , 0060, ' ', 'R' ) + cSeparator // 10 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + StrFill( R1610->CAMPO11     , 0100, ' ', 'R' ) + cSeparator // 11 - Descrio complementar do Documento/Operao
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1620()
   // *** Estrutura do Registro R1620 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1620->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1620"
   cTrailler := cTrailler + StrFill( R1620->CAMPO02     , 0006, '0', 'L' ) + cSeparator // 02 - Perodo de Apurao do Crdito (MM/AAAA)
   cTrailler := cTrailler + StrFill( R1620->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Indicador da origem do crdito:
   cTrailler := cTrailler + StrFill( R1620->CAMPO04     , 0003, '0', 'L' ) + cSeparator // 04 - Cdigo do Tipo do Crdito, conforme Tabela 4.3.6.
   cTrailler := cTrailler + StrFill( R1620->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor do Crdito a Descontar
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1700()
   // *** Estrutura do Registro R1700 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1700->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1700"
   cTrailler := cTrailler + StrFill( R1700->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Indicador de Natureza da Reteno na Fonte:
   cTrailler := cTrailler + StrFill( R1700->CAMPO03     , 0006, '0', 'L' ) + cSeparator // 03 - Perodo do Recebimento e da Reteno (MM/AAAA)
   cTrailler := cTrailler + StrFill( R1700->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor Total da Reteno
   cTrailler := cTrailler + StrFill( R1700->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor da Reteno deduzida da Contribuio devida no perodo da escriturao e em perodos anteriore
   cTrailler := cTrailler + StrFill( R1700->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da Reteno utilizada mediante Pedido de Restituio.
   cTrailler := cTrailler + StrFill( R1700->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor da Reteno utilizada mediante Declarao de Compensao.
   cTrailler := cTrailler + StrFill( R1700->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Saldo de Reteno a utilizar em perodos de apurao futuros (04 - 05 - 06 - 07).
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1800()
   // *** Estrutura do Registro R1800 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1800->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1800"
   cTrailler := cTrailler + StrFill( R1800->CAMPO02     , 0090, ' ', 'R' ) + cSeparator // 02 - Empreendimento objeto de Incorporao Imobiliria, optante pelo RET.
   cTrailler := cTrailler + StrFill( R1800->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Receitas recebidas pela incorporadora na venda das unidades imobilirias que compem a incorporao.
   cTrailler := cTrailler + StrFill( R1800->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Receitas Financeiras e Variaes Monetrias decorrentes das vendas submetidas ao RET.
   cTrailler := cTrailler + StrFill( R1800->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Base de Clculo do Recolhimento Unificado
   cTrailler := cTrailler + StrFill( R1800->CAMPO06     , 0006, '0', 'L' ) + cSeparator // 06 - Alquota do Recolhimento Unificado.
   cTrailler := cTrailler + StrFill( R1800->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor do Recolhimento Unificado.
   cTrailler := cTrailler + StrFill( R1800->CAMPO08     , 0008, '0', 'L' ) + cSeparator // 08 - Data do recolhimento unificado
   cTrailler := cTrailler + StrFill( R1800->CAMPO09     , 0004, ' ', 'R' ) + cSeparator // 09 - Cdigo da Receita
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1809()
   // *** Estrutura do Registro R1809 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1809->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1809"
   cTrailler := cTrailler + StrFill( R1809->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( R1809->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1900()
   // *** Estrutura do Registro R1900 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1900->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1900?
   cTrailler := cTrailler + StrFill( R1900->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - CNPJ do estabelecimento da pessoa jurdica, emitente dos documentos geradores de receita
   cTrailler := cTrailler + StrFill( R1900->CAMPO03     , 0002, ' ', 'R' ) + cSeparator // 03 - Cdigo do modelo do documento fiscal conforme a Tabela 4.1.1, ou:
   cTrailler := cTrailler + StrFill( R1900->CAMPO04     , 0004, ' ', 'R' ) + cSeparator // 04 - Srie do documento fiscal
   cTrailler := cTrailler + StrFill( R1900->CAMPO05     , 0020, '0', 'L' ) + cSeparator // 05 - Subserie do documento fiscal
   cTrailler := cTrailler + StrFill( R1900->CAMPO06     , 0002, '0', 'L' ) + cSeparator // 06 - Cdigo da situao do documento fiscal:
   cTrailler := cTrailler + StrFill( R1900->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor total da receita, conforme os documentos emitidos no perodo, representativos da venda de bens
   cTrailler := cTrailler + StrFill( R1900->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Quantidade total de documentos emitidos no perodo
   cTrailler := cTrailler + StrFill( R1900->CAMPO09     , 0002, '0', 'L' ) + cSeparator // 09 - Cdigo da Situao Tributria do PIS/Pasep
   cTrailler := cTrailler + StrFill( R1900->CAMPO10     , 0002, '0', 'L' ) + cSeparator // 10 - Cdigo da Situao Tributria da Cofins
   cTrailler := cTrailler + StrFill( R1900->CAMPO11     , 0004, '0', 'L' ) + cSeparator // 11 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( R1900->CAMPO12     , 0100, ' ', 'R' ) + cSeparator // 12 - Informaes complementares
   cTrailler := cTrailler + StrFill( R1900->CAMPO13     , 0060, ' ', 'R' ) + cSeparator // 13 - Cdigo da conta analtica contbil representativa da receita
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR1990()
   // *** Estrutura do Registro R1990 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R1990->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "1990"
   cTrailler := cTrailler + StrFill( R1990->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Quantidade total de linhas do Bloco 1
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR9001()
   // *** Estrutura do Registro R9001 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R9001->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?9001?.
   cTrailler := cTrailler + StrFill( R9001->CAMPO02     , 0001, '0', 'L' ) + cSeparator // 02 - Indicador de movimento:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR9900()
   // *** Estrutura do Registro R9900 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R9900->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?9900?.
   cTrailler := cTrailler + StrFill( R9900->CAMPO02     , 0004, ' ', 'R' ) + cSeparator // 02 - Registro que ser totalizado no prximo campo.
   cTrailler := cTrailler + StrFill( R9900->CAMPO03     , 0004, '0', 'L' ) + cSeparator // 03 - Total de registros do tipo informado no campo anterior.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR9990()
   // *** Estrutura do Registro R9990 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R9990->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?9990?.
   cTrailler := cTrailler + StrFill( R9990->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Quantidade total de linhas do Bloco 9.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroR9999()
   // *** Estrutura do Registro R9999 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( R9999->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?9999?.
   cTrailler := cTrailler + StrFill( R9999->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Quantidade total de linhas do arquivo digital.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRA001()
   // *** Estrutura do Registro RA001 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RA001->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "A001"
   cTrailler := cTrailler + StrFill( RA001->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador de movimento:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRA010()
   // *** Estrutura do Registro RA010 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RA010->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?A010?
   cTrailler := cTrailler + StrFill( RA010->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Nmero de inscrio do estabelecimento no CNPJ.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRA100()
   // *** Estrutura do Registro RA100 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RA100->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "A100"
   cTrailler := cTrailler + StrFill( RA100->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador do tipo de operao:
   cTrailler := cTrailler + StrFill( RA100->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador do emitente do documento fiscal:
   cTrailler := cTrailler + StrFill( RA100->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Cdigo do participante (campo 02 do Registro 0150):
   cTrailler := cTrailler + StrFill( RA100->CAMPO05     , 0002, '0', 'L' ) + cSeparator // 05 - Cdigo da situao do documento fiscal:
   cTrailler := cTrailler + StrFill( RA100->CAMPO06     , 0020, ' ', 'R' ) + cSeparator // 06 - Srie do documento fiscal
   cTrailler := cTrailler + StrFill( RA100->CAMPO07     , 0020, ' ', 'R' ) + cSeparator // 07 - Subsrie do documento fiscal
   cTrailler := cTrailler + StrFill( RA100->CAMPO08     , 0060, ' ', 'R' ) + cSeparator // 08 - Nmero do documento fiscal ou documento internacional equivalente
   cTrailler := cTrailler + StrFill( RA100->CAMPO09     , 0060, ' ', 'R' ) + cSeparator // 09 - Chave/Cdigo de Verificao da nota fiscal de servio eletrnica
   cTrailler := cTrailler + StrFill( RA100->CAMPO10     , 0008, '0', 'L' ) + cSeparator // 10 - Data da emisso do documento fiscal
   cTrailler := cTrailler + StrFill( RA100->CAMPO11     , 0008, '0', 'L' ) + cSeparator // 11 - Data de Execuo / Concluso do Servio
   cTrailler := cTrailler + StrFill( RA100->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor total do documento
   cTrailler := cTrailler + StrFill( RA100->CAMPO13     , 0001, ' ', 'R' ) + cSeparator // 13 - Indicador do tipo de pagamento:
   cTrailler := cTrailler + StrFill( RA100->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Valor total do desconto
   cTrailler := cTrailler + StrFill( RA100->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RA100->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Valor total do PIS
   cTrailler := cTrailler + StrFill( RA100->CAMPO17     , 0014, '0', 'L' ) + cSeparator // 17 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RA100->CAMPO18     , 0014, '0', 'L' ) + cSeparator // 18 - Valor total da COFINS
   cTrailler := cTrailler + StrFill( RA100->CAMPO19     , 0014, '0', 'L' ) + cSeparator // 19 - Valor total do PIS retido na fonte
   cTrailler := cTrailler + StrFill( RA100->CAMPO20     , 0014, '0', 'L' ) + cSeparator // 20 - Valor total da COFINS retido na fonte.
   cTrailler := cTrailler + StrFill( RA100->CAMPO21     , 0014, '0', 'L' ) + cSeparator // 21 - Valor do ISS
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRA110()
   // *** Estrutura do Registro RA110 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RA110->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "A110"
   cTrailler := cTrailler + StrFill( RA110->CAMPO02     , 0006, ' ', 'R' ) + cSeparator // 02 - Cdigo da informao complementar do documento fiscal (Campo 02 do Registro 0450)
   cTrailler := cTrailler + StrFill( RA110->CAMPO03     , 0100, ' ', 'R' ) + cSeparator // 03 - Informao Complementar do Documento Fiscal
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRA111()
   // *** Estrutura do Registro RA111 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RA111->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "A111"
   cTrailler := cTrailler + StrFill( RA111->CAMPO02     , 0015, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RA111->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRA120()
   // *** Estrutura do Registro RA120 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RA120->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "A120?
   cTrailler := cTrailler + StrFill( RA120->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Valor total do servio, prestado por pessoa fsica ou jurdica domiciliada no exterior.
   cTrailler := cTrailler + StrFill( RA120->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor da base de clculo da Operao ? PIS/PASEP ? Importao
   cTrailler := cTrailler + StrFill( RA120->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor pago/recolhido de PIS/PASEP ? Importao
   cTrailler := cTrailler + StrFill( RA120->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Data de pagamento do PIS/PASEP ? Importao
   cTrailler := cTrailler + StrFill( RA120->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da base de clculo da Operao ? COFINS ? Importao
   cTrailler := cTrailler + StrFill( RA120->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor pago/recolhido de COFINS ? Importao
   cTrailler := cTrailler + StrFill( RA120->CAMPO08     , 0008, '0', 'L' ) + cSeparator // 08 - Data de pagamento do COFINS ? Importao
   cTrailler := cTrailler + StrFill( RA120->CAMPO09     , 0001, ' ', 'R' ) + cSeparator // 09 - Local da execuo do servio:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRA170()
   // *** Estrutura do Registro RA170 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RA170->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "A170"
   cTrailler := cTrailler + StrFill( RA170->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Nmero seqencial do item no documento fiscal
   cTrailler := cTrailler + StrFill( RA170->CAMPO03     , 0060, ' ', 'R' ) + cSeparator // 03 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RA170->CAMPO04     , 0100, ' ', 'R' ) + cSeparator // 04 - Descrio complementar do item como adotado no documento fiscal
   cTrailler := cTrailler + StrFill( RA170->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor total do item (mercadorias ou servios)
   cTrailler := cTrailler + StrFill( RA170->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor do desconto do item / Excluso
   cTrailler := cTrailler + StrFill( RA170->CAMPO07     , 0002, ' ', 'R' ) + cSeparator // 07 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7, caso seja informado
   cTrailler := cTrailler + StrFill( RA170->CAMPO08     , 0001, ' ', 'R' ) + cSeparator // 08 - Indicador da origem do crdito:
   cTrailler := cTrailler + StrFill( RA170->CAMPO09     , 0002, '0', 'L' ) + cSeparator // 09 - Cdigo da Situao Tributria referente ao PIS/PASEP ? Tabela 4.3.3.
   cTrailler := cTrailler + StrFill( RA170->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor da base de clculo do PIS/PASEP.
   cTrailler := cTrailler + StrFill( RA170->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RA170->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RA170->CAMPO13     , 0002, '0', 'L' ) + cSeparator // 13 - Cdigo da Situao Tributria referente ao COFINS ? Tabela 4.3.4.
   cTrailler := cTrailler + StrFill( RA170->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RA170->CAMPO15     , 0006, '0', 'L' ) + cSeparator // 15 - Alquota do COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RA170->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RA170->CAMPO17     , 0060, ' ', 'R' ) + cSeparator // 17 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + StrFill( RA170->CAMPO18     , 0060, ' ', 'R' ) + cSeparator // 18 - Cdigo do centro de custos
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRA990()
   // *** Estrutura do Registro RA990 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RA990->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "A990"
   cTrailler := cTrailler + StrFill( RA990->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Quantidade total de linhas do Bloco A
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC001()
   // *** Estrutura do Registro RC001 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC001->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C001"
   cTrailler := cTrailler + StrFill( RC001->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador de movimento:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC010()
   // *** Estrutura do Registro RC010 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC010->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?C010?.
   cTrailler := cTrailler + StrFill( RC010->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Nmero de inscrio do estabelecimento no CNPJ.
   cTrailler := cTrailler + StrFill( RC010->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da apurao das contribuies e crditos, na escriturao das operaes por NF-e e ECF, no
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC100()
   // *** Estrutura do Registro RC100 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC100->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C100"
   cTrailler := cTrailler + StrFill( RC100->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador do tipo de operao:
   cTrailler := cTrailler + StrFill( RC100->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador do emitente do documento fiscal:
   cTrailler := cTrailler + StrFill( RC100->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Cdigo do participante (campo 02 do Registro 0150):
   cTrailler := cTrailler + StrFill( RC100->CAMPO05     , 0002, ' ', 'R' ) + cSeparator // 05 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   cTrailler := cTrailler + StrFill( RC100->CAMPO06     , 0002, '0', 'L' ) + cSeparator // 06 - Cdigo da situao do documento fiscal, conforme a Tabela 4.1.2
   cTrailler := cTrailler + StrFill( RC100->CAMPO07     , 0003, ' ', 'R' ) + cSeparator // 07 - Srie do documento fiscal
   cTrailler := cTrailler + StrFill( RC100->CAMPO08     , 0009, '0', 'L' ) + cSeparator // 08 - Nmero do documento fiscal
   cTrailler := cTrailler + StrFill( RC100->CAMPO09     , 0044, '0', 'L' ) + cSeparator // 09 - Chave da Nota Fiscal Eletrnica
   cTrailler := cTrailler + StrFill( RC100->CAMPO10     , 0008, '0', 'L' ) + cSeparator // 10 - Data da emisso do documento fiscal
   cTrailler := cTrailler + StrFill( RC100->CAMPO11     , 0008, '0', 'L' ) + cSeparator // 11 - Data da entrada ou da sada
   cTrailler := cTrailler + StrFill( RC100->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor total do documento fiscal
   cTrailler := cTrailler + StrFill( RC100->CAMPO13     , 0001, ' ', 'R' ) + cSeparator // 13 - Indicador do tipo de pagamento:
   cTrailler := cTrailler + StrFill( RC100->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Valor total do desconto
   cTrailler := cTrailler + StrFill( RC100->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Abatimento no tributado e no comercial Ex. desconto ICMS nas remessas para ZFM.
   cTrailler := cTrailler + StrFill( RC100->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Valor total das mercadorias e servios
   cTrailler := cTrailler + StrFill( RC100->CAMPO17     , 0001, ' ', 'R' ) + cSeparator // 17 - Indicador do tipo do frete:
   cTrailler := cTrailler + StrFill( RC100->CAMPO18     , 0014, '0', 'L' ) + cSeparator // 18 - Valor do frete indicado no documento fiscal
   cTrailler := cTrailler + StrFill( RC100->CAMPO19     , 0014, '0', 'L' ) + cSeparator // 19 - Valor do seguro indicado no documento fiscal
   cTrailler := cTrailler + StrFill( RC100->CAMPO20     , 0014, '0', 'L' ) + cSeparator // 20 - Valor de outras despesas acessrias
   cTrailler := cTrailler + StrFill( RC100->CAMPO21     , 0014, '0', 'L' ) + cSeparator // 21 - Valor da base de clculo do ICMS
   cTrailler := cTrailler + StrFill( RC100->CAMPO22     , 0014, '0', 'L' ) + cSeparator // 22 - Valor do ICMS
   cTrailler := cTrailler + StrFill( RC100->CAMPO23     , 0014, '0', 'L' ) + cSeparator // 23 - Valor da base de clculo do ICMS substituio tributria
   cTrailler := cTrailler + StrFill( RC100->CAMPO24     , 0014, '0', 'L' ) + cSeparator // 24 - Valor do ICMS retido por substituio tributria
   cTrailler := cTrailler + StrFill( RC100->CAMPO25     , 0014, '0', 'L' ) + cSeparator // 25 - Valor total do IPI
   cTrailler := cTrailler + StrFill( RC100->CAMPO26     , 0014, '0', 'L' ) + cSeparator // 26 - Valor total do PIS
   cTrailler := cTrailler + StrFill( RC100->CAMPO27     , 0014, '0', 'L' ) + cSeparator // 27 - Valor total da COFINS
   cTrailler := cTrailler + StrFill( RC100->CAMPO28     , 0014, '0', 'L' ) + cSeparator // 28 - Valor total do PIS retido por substituio tributria
   cTrailler := cTrailler + StrFill( RC100->CAMPO29     , 0014, '0', 'L' ) + cSeparator // 29 - Valor total da COFINS retido por substituio tributria
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC110()
   // *** Estrutura do Registro RC110 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC110->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C110"
   cTrailler := cTrailler + StrFill( RC110->CAMPO02     , 0006, ' ', 'R' ) + cSeparator // 02 - Cdigo da informao complementar do documento fiscal (campo 02 do Registro 0450)
   cTrailler := cTrailler + StrFill( RC110->CAMPO03     , 0100, ' ', 'R' ) + cSeparator // 03 - Descrio complementar do cdigo de referncia.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC111()
   // *** Estrutura do Registro RC111 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC111->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C111"
   cTrailler := cTrailler + StrFill( RC111->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RC111->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC120()
   // *** Estrutura do Registro RC120 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC120->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C120"
   cTrailler := cTrailler + StrFill( RC120->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Documento de importao:
   cTrailler := cTrailler + StrFill( RC120->CAMPO03     , 0010, ' ', 'R' ) + cSeparator // 03 - Nmero do documento de Importao.
   cTrailler := cTrailler + StrFill( RC120->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor pago de PIS na importao
   cTrailler := cTrailler + StrFill( RC120->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor pago de COFINS na importao
   cTrailler := cTrailler + StrFill( RC120->CAMPO06     , 0020, ' ', 'R' ) + cSeparator // 06 - Nmero do Ato Concessrio do regime
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC170()
   // *** Estrutura do Registro RC170 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC170->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C170"
   cTrailler := cTrailler + StrFill( RC170->CAMPO02     , 0003, '0', 'L' ) + cSeparator // 02 - Nmero seqencial do item no documento fiscal
   cTrailler := cTrailler + StrFill( RC170->CAMPO03     , 0060, ' ', 'R' ) + cSeparator // 03 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RC170->CAMPO04     , 0100, ' ', 'R' ) + cSeparator // 04 - Descrio complementar do item como adotado no documento fiscal
   cTrailler := cTrailler + StrFill( RC170->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Quantidade do item
   cTrailler := cTrailler + StrFill( RC170->CAMPO06     , 0006, ' ', 'R' ) + cSeparator // 06 - Unidade do item (Campo 02 do registro 0190)
   cTrailler := cTrailler + StrFill( RC170->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor total do item (mercadorias ou servios)
   cTrailler := cTrailler + StrFill( RC170->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor do desconto comercial
   cTrailler := cTrailler + StrFill( RC170->CAMPO09     , 0001, ' ', 'R' ) + cSeparator // 09 - Movimentao fsica do ITEM/PRODUTO:
   cTrailler := cTrailler + StrFill( RC170->CAMPO10     , 0003, '0', 'L' ) + cSeparator // 10 - Cdigo da Situao Tributria referente ao ICMS, conforme a Tabela indicada no item 4.3.1
   cTrailler := cTrailler + StrFill( RC170->CAMPO11     , 0004, '0', 'L' ) + cSeparator // 11 - Cdigo Fiscal de Operao e Prestao
   cTrailler := cTrailler + StrFill( RC170->CAMPO12     , 0010, ' ', 'R' ) + cSeparator // 12 - Cdigo da natureza da operao (campo 02 do Registro 0400)
   cTrailler := cTrailler + StrFill( RC170->CAMPO13     , 0014, '0', 'L' ) + cSeparator // 13 - Valor da base de clculo do ICMS
   cTrailler := cTrailler + StrFill( RC170->CAMPO14     , 0006, '0', 'L' ) + cSeparator // 14 - Alquota do ICMS
   cTrailler := cTrailler + StrFill( RC170->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Valor do ICMS creditado/debitado
   cTrailler := cTrailler + StrFill( RC170->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Valor da base de clculo referente  substituio tributria
   cTrailler := cTrailler + StrFill( RC170->CAMPO17     , 0006, '0', 'L' ) + cSeparator // 17 - Alquota do ICMS da substituio tributria na unidade da federao de destino
   cTrailler := cTrailler + StrFill( RC170->CAMPO18     , 0014, '0', 'L' ) + cSeparator // 18 - Valor do ICMS referente  substituio tributria
   cTrailler := cTrailler + StrFill( RC170->CAMPO19     , 0001, ' ', 'R' ) + cSeparator // 19 - Indicador de perodo de apurao do IPI:
   cTrailler := cTrailler + StrFill( RC170->CAMPO20     , 0002, ' ', 'R' ) + cSeparator // 20 - Cdigo da Situao Tributria referente ao IPI, conforme a Tabela indicada no item 4.3.2.
   cTrailler := cTrailler + StrFill( RC170->CAMPO21     , 0003, ' ', 'R' ) + cSeparator // 21 - Cdigo de enquadramento legal do IPI, conforme tabela indicada no item 4.5.3.
   cTrailler := cTrailler + StrFill( RC170->CAMPO22     , 0014, '0', 'L' ) + cSeparator // 22 - Valor da base de clculo do IPI
   cTrailler := cTrailler + StrFill( RC170->CAMPO23     , 0006, '0', 'L' ) + cSeparator // 23 - Alquota do IPI
   cTrailler := cTrailler + StrFill( RC170->CAMPO24     , 0014, '0', 'L' ) + cSeparator // 24 - Valor do IPI creditado/debitado
   cTrailler := cTrailler + StrFill( RC170->CAMPO25     , 0002, '0', 'L' ) + cSeparator // 25 - Cdigo da Situao Tributria referente ao PIS.
   cTrailler := cTrailler + StrFill( RC170->CAMPO26     , 0014, '0', 'L' ) + cSeparator // 26 - Valor da base de clculo do PIS
   cTrailler := cTrailler + StrFill( RC170->CAMPO27     , 0008, '0', 'L' ) + cSeparator // 27 - Alquota do PIS (em percentual)
   cTrailler := cTrailler + StrFill( RC170->CAMPO28     , 0014, '0', 'L' ) + cSeparator // 28 - Quantidade ? Base de clculo PIS/PASEP
   cTrailler := cTrailler + StrFill( RC170->CAMPO29     , 0014, '0', 'L' ) + cSeparator // 29 - Alquota do PIS (em reais)
   cTrailler := cTrailler + StrFill( RC170->CAMPO30     , 0014, '0', 'L' ) + cSeparator // 30 - Valor do PIS
   cTrailler := cTrailler + StrFill( RC170->CAMPO31     , 0002, '0', 'L' ) + cSeparator // 31 - Cdigo da Situao Tributria referente ao COFINS.
   cTrailler := cTrailler + StrFill( RC170->CAMPO32     , 0014, '0', 'L' ) + cSeparator // 32 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RC170->CAMPO33     , 0008, '0', 'L' ) + cSeparator // 33 - Alquota do COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RC170->CAMPO34     , 0014, '0', 'L' ) + cSeparator // 34 - Quantidade ? Base de clculo COFINS
   cTrailler := cTrailler + StrFill( RC170->CAMPO35     , 0014, '0', 'L' ) + cSeparator // 35 - Alquota da COFINS (em reais)
   cTrailler := cTrailler + StrFill( RC170->CAMPO36     , 0014, '0', 'L' ) + cSeparator // 36 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RC170->CAMPO37     , 0060, ' ', 'R' ) + cSeparator // 37 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC180()
   // *** Estrutura do Registro RC180 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC180->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C180?
   cTrailler := cTrailler + StrFill( RC180->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Texto fixo contendo "55" (Cdigo da Nota Fiscal Eletrnica, modelo 55, conforme a Tabela 4.1.1)
   cTrailler := cTrailler + StrFill( RC180->CAMPO03     , 0008, '0', 'L' ) + cSeparator // 03 - Data de Emisso Inicial dos Documentos
   cTrailler := cTrailler + StrFill( RC180->CAMPO04     , 0008, '0', 'L' ) + cSeparator // 04 - Data de Emisso Final dos Documentos
   cTrailler := cTrailler + StrFill( RC180->CAMPO05     , 0060, ' ', 'R' ) + cSeparator // 05 - Cdigo do Item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RC180->CAMPO06     , 0008, ' ', 'R' ) + cSeparator // 06 - Cdigo da Nomenclatura Comum do Mercosul
   cTrailler := cTrailler + StrFill( RC180->CAMPO07     , 0003, ' ', 'R' ) + cSeparator // 07 - Cdigo EX, conforme a TIPI
   cTrailler := cTrailler + StrFill( RC180->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor Total do Item
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC181()
   // *** Estrutura do Registro RC181 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC181->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C181?
   cTrailler := cTrailler + StrFill( RC181->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   cTrailler := cTrailler + StrFill( RC181->CAMPO03     , 0004, '0', 'L' ) + cSeparator // 03 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( RC181->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor do item
   cTrailler := cTrailler + StrFill( RC181->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor do desconto comercial / Excluso
   cTrailler := cTrailler + StrFill( RC181->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC181->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RC181->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Quantidade ? Base de clculo PIS/PASEP
   cTrailler := cTrailler + StrFill( RC181->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Alquota do PIS/PASEP (em reais)
   cTrailler := cTrailler + StrFill( RC181->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC181->CAMPO11     , 0060, ' ', 'R' ) + cSeparator // 11 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC185()
   // *** Estrutura do Registro RC185 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC185->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C185?
   cTrailler := cTrailler + StrFill( RC185->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Cdigo da Situao Tributria referente a COFINS, conforme a Tabela indicada no item 4.3.4.
   cTrailler := cTrailler + StrFill( RC185->CAMPO03     , 0004, '0', 'L' ) + cSeparator // 03 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( RC185->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor do item
   cTrailler := cTrailler + StrFill( RC185->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor do desconto comercial / Excluso
   cTrailler := cTrailler + StrFill( RC185->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RC185->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RC185->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Quantidade ? Base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RC185->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Alquota da COFINS (em reais)
   cTrailler := cTrailler + StrFill( RC185->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RC185->CAMPO11     , 0060, ' ', 'R' ) + cSeparator // 11 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC188()
   // *** Estrutura do Registro RC188 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC188->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C188"
   cTrailler := cTrailler + StrFill( RC188->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RC188->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC190()
   // *** Estrutura do Registro RC190 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC190->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C190?
   cTrailler := cTrailler + StrFill( RC190->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Texto fixo contendo "55" (Cdigo da Nota Fiscal Eletrnica, modelo 55, conforme a Tabela 4.1.1)
   cTrailler := cTrailler + StrFill( RC190->CAMPO03     , 0008, '0', 'L' ) + cSeparator // 03 - Data Inicial de Referncia da Consolidao
   cTrailler := cTrailler + StrFill( RC190->CAMPO04     , 0008, '0', 'L' ) + cSeparator // 04 - Data Final de Referncia da Consolidao
   cTrailler := cTrailler + StrFill( RC190->CAMPO05     , 0060, ' ', 'R' ) + cSeparator // 05 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RC190->CAMPO06     , 0008, ' ', 'R' ) + cSeparator // 06 - Cdigo da Nomenclatura Comum do Mercosul
   cTrailler := cTrailler + StrFill( RC190->CAMPO07     , 0003, ' ', 'R' ) + cSeparator // 07 - Cdigo EX, conforme a TIPI
   cTrailler := cTrailler + StrFill( RC190->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor Total do Item
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC191()
   // *** Estrutura do Registro RC191 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC191->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C191?
   cTrailler := cTrailler + StrFill( RC191->CAMPO02     , 0014, ' ', 'R' ) + cSeparator // 02 - CNPJ/CPF do Participante a que se referem as operaes consolidadas neste registro (pessoa jurdica
   cTrailler := cTrailler + StrFill( RC191->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RC191->CAMPO04     , 0004, '0', 'L' ) + cSeparator // 04 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( RC191->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor do item
   cTrailler := cTrailler + StrFill( RC191->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor do desconto comercial / Excluso
   cTrailler := cTrailler + StrFill( RC191->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC191->CAMPO08     , 0008, '0', 'L' ) + cSeparator // 08 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RC191->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Quantidade ? Base de clculo PIS/PASEP
   cTrailler := cTrailler + StrFill( RC191->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Alquota do PIS/PASEP (em reais)
   cTrailler := cTrailler + StrFill( RC191->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC191->CAMPO12     , 0060, ' ', 'R' ) + cSeparator // 12 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC195()
   // *** Estrutura do Registro RC195 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC195->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C195?
   cTrailler := cTrailler + StrFill( RC195->CAMPO02     , 0014, ' ', 'R' ) + cSeparator // 02 - CNPJ/CPF do Participante a que se referem as operaes consolidadas neste registro (pessoa jurdica
   cTrailler := cTrailler + StrFill( RC195->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Cdigo da Situao Tributria referente a COFINS.
   cTrailler := cTrailler + StrFill( RC195->CAMPO04     , 0004, '0', 'L' ) + cSeparator // 04 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( RC195->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor do item
   cTrailler := cTrailler + StrFill( RC195->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor do desconto comercial / Excluso
   cTrailler := cTrailler + StrFill( RC195->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RC195->CAMPO08     , 0008, '0', 'L' ) + cSeparator // 08 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RC195->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Quantidade ? Base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RC195->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Alquota da COFINS (em reais)
   cTrailler := cTrailler + StrFill( RC195->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RC195->CAMPO12     , 0060, ' ', 'R' ) + cSeparator // 12 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC198()
   // *** Estrutura do Registro RC198 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC198->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C198"
   cTrailler := cTrailler + StrFill( RC198->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RC198->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC199()
   // *** Estrutura do Registro RC199 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC199->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C199"
   cTrailler := cTrailler + StrFill( RC199->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Documento de importao:
   cTrailler := cTrailler + StrFill( RC199->CAMPO03     , 0010, ' ', 'R' ) + cSeparator // 03 - Nmero do documento de Importao.
   cTrailler := cTrailler + StrFill( RC199->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor pago de PIS na importao
   cTrailler := cTrailler + StrFill( RC199->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor pago de COFINS na importao
   cTrailler := cTrailler + StrFill( RC199->CAMPO06     , 0020, ' ', 'R' ) + cSeparator // 06 - Nmero do Ato Concessrio do regime Drawback
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC380()
   // *** Estrutura do Registro RC380 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC380->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C380?
   cTrailler := cTrailler + StrFill( RC380->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1 (Cdigo 02 ? Nota Fiscal de Venda a Co
   cTrailler := cTrailler + StrFill( RC380->CAMPO03     , 0008, '0', 'L' ) + cSeparator // 03 - Data de Emisso Inicial dos Documentos
   cTrailler := cTrailler + StrFill( RC380->CAMPO04     , 0008, '0', 'L' ) + cSeparator // 04 - Data de Emisso Final dos Documentos
   cTrailler := cTrailler + StrFill( RC380->CAMPO05     , 0006, '0', 'L' ) + cSeparator // 05 - Nmero do documento fiscal inicial
   cTrailler := cTrailler + StrFill( RC380->CAMPO06     , 0006, '0', 'L' ) + cSeparator // 06 - Nmero do documento fiscal final
   cTrailler := cTrailler + StrFill( RC380->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor total dos documentos emitidos
   cTrailler := cTrailler + StrFill( RC380->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor total dos documentos cancelados
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC381()
   // *** Estrutura do Registro RC381 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC381->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C381?
   cTrailler := cTrailler + StrFill( RC381->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RC381->CAMPO03     , 0060, ' ', 'R' ) + cSeparator // 03 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RC381->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RC381->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC381->CAMPO06     , 0008, '0', 'L' ) + cSeparator // 06 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RC381->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Quantidade ? Base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC381->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Alquota do PIS/PASEP (em reais)
   cTrailler := cTrailler + StrFill( RC381->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC381->CAMPO10     , 0060, ' ', 'R' ) + cSeparator // 10 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC385()
   // *** Estrutura do Registro RC385 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC385->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C385?
   cTrailler := cTrailler + StrFill( RC385->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Cdigo da Situao Tributria referente a COFINS.
   cTrailler := cTrailler + StrFill( RC385->CAMPO03     , 0060, ' ', 'R' ) + cSeparator // 03 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RC385->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RC385->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RC385->CAMPO06     , 0008, '0', 'L' ) + cSeparator // 06 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RC385->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Quantidade ? Base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RC385->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Alquota da COFINS (em reais)
   cTrailler := cTrailler + StrFill( RC385->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RC385->CAMPO10     , 0060, ' ', 'R' ) + cSeparator // 10 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC395()
   // *** Estrutura do Registro RC395 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC395->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C395"
   cTrailler := cTrailler + StrFill( RC395->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   cTrailler := cTrailler + StrFill( RC395->CAMPO03     , 0060, ' ', 'R' ) + cSeparator // 03 - Cdigo do participante emitente do documento (campo 02 do Registro 0150).
   cTrailler := cTrailler + StrFill( RC395->CAMPO04     , 0003, ' ', 'R' ) + cSeparator // 04 - Srie do documento fiscal
   cTrailler := cTrailler + StrFill( RC395->CAMPO05     , 0003, ' ', 'R' ) + cSeparator // 05 - Subsrie do documento fiscal
   cTrailler := cTrailler + StrFill( RC395->CAMPO06     , 0006, ' ', 'R' ) + cSeparator // 06 - Nmero do documento fiscal
   cTrailler := cTrailler + StrFill( RC395->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Data da emisso do documento fiscal
   cTrailler := cTrailler + StrFill( RC395->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor total do documento fiscal
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC396()
   // *** Estrutura do Registro RC396 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC396->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C396"
   cTrailler := cTrailler + StrFill( RC396->CAMPO02     , 0060, ' ', 'R' ) + cSeparator // 02 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RC396->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total do item (mercadorias ou servios)
   cTrailler := cTrailler + StrFill( RC396->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor do desconto comercial do item
   cTrailler := cTrailler + StrFill( RC396->CAMPO05     , 0002, ' ', 'R' ) + cSeparator // 05 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7.
   cTrailler := cTrailler + StrFill( RC396->CAMPO06     , 0002, '0', 'L' ) + cSeparator // 06 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RC396->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor da base de clculo do crdito de PIS/PASEP
   cTrailler := cTrailler + StrFill( RC396->CAMPO08     , 0008, '0', 'L' ) + cSeparator // 08 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RC396->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor do crdito de PIS/PASEP
   cTrailler := cTrailler + StrFill( RC396->CAMPO10     , 0002, '0', 'L' ) + cSeparator // 10 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RC396->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor da base de clculo do crdito de COFINS
   cTrailler := cTrailler + StrFill( RC396->CAMPO12     , 0008, '0', 'L' ) + cSeparator // 12 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RC396->CAMPO13     , 0014, '0', 'L' ) + cSeparator // 13 - Valor do crdito de COFINS
   cTrailler := cTrailler + StrFill( RC396->CAMPO14     , 0060, ' ', 'R' ) + cSeparator // 14 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC400()
   // *** Estrutura do Registro RC400 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC400->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C400"
   cTrailler := cTrailler + StrFill( RC400->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   cTrailler := cTrailler + StrFill( RC400->CAMPO03     , 0020, ' ', 'R' ) + cSeparator // 03 - Modelo do equipamento
   cTrailler := cTrailler + StrFill( RC400->CAMPO04     , 0020, ' ', 'R' ) + cSeparator // 04 - Nmero de srie de fabricao do ECF
   cTrailler := cTrailler + StrFill( RC400->CAMPO05     , 0003, '0', 'L' ) + cSeparator // 05 - Nmero do caixa atribudo ao ECF
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC405()
   // *** Estrutura do Registro RC405 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC405->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C405"
   cTrailler := cTrailler + StrFill( RC405->CAMPO02     , 0008, '0', 'L' ) + cSeparator // 02 - Data do movimento a que se refere a Reduo Z
   cTrailler := cTrailler + StrFill( RC405->CAMPO03     , 0003, '0', 'L' ) + cSeparator // 03 - Posio do Contador de Reincio de Operao
   cTrailler := cTrailler + StrFill( RC405->CAMPO04     , 0006, '0', 'L' ) + cSeparator // 04 - Posio do Contador de Reduo Z
   cTrailler := cTrailler + StrFill( RC405->CAMPO05     , 0006, '0', 'L' ) + cSeparator // 05 - Nmero do Contador de Ordem de Operao do ltimo documento emitido no dia (Nmero do COO na Reduo
   cTrailler := cTrailler + StrFill( RC405->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor do Grande Total final
   cTrailler := cTrailler + StrFill( RC405->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor da venda bruta
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC481()
   // *** Estrutura do Registro RC481 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC481->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C481?
   cTrailler := cTrailler + StrFill( RC481->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RC481->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RC481->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC481->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RC481->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Quantidade ? Base de clculo PIS/PASEP
   cTrailler := cTrailler + StrFill( RC481->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Alquota do PIS/PASEP (em reais)
   cTrailler := cTrailler + StrFill( RC481->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC481->CAMPO09     , 0060, ' ', 'R' ) + cSeparator // 09 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RC481->CAMPO10     , 0060, ' ', 'R' ) + cSeparator // 10 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC485()
   // *** Estrutura do Registro RC485 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC485->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C485?
   cTrailler := cTrailler + StrFill( RC485->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Cdigo da Situao Tributria referente a COFINS.
   cTrailler := cTrailler + StrFill( RC485->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RC485->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RC485->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RC485->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Quantidade ? Base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RC485->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Alquota da COFINS (em reais)
   cTrailler := cTrailler + StrFill( RC485->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RC485->CAMPO09     , 0060, ' ', 'R' ) + cSeparator // 09 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RC485->CAMPO10     , 0060, ' ', 'R' ) + cSeparator // 10 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC489()
   // *** Estrutura do Registro RC489 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC489->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C489"
   cTrailler := cTrailler + StrFill( RC489->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RC489->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC490()
   // *** Estrutura do Registro RC490 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC490->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C490?
   cTrailler := cTrailler + StrFill( RC490->CAMPO02     , 0008, '0', 'L' ) + cSeparator // 02 - Data de Emisso Inicial dos Documentos
   cTrailler := cTrailler + StrFill( RC490->CAMPO03     , 0008, '0', 'L' ) + cSeparator // 03 - Data de Emisso Final dos Documentos
   cTrailler := cTrailler + StrFill( RC490->CAMPO04     , 0002, ' ', 'R' ) + cSeparator // 04 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC491()
   // *** Estrutura do Registro RC491 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC491->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C491?
   cTrailler := cTrailler + StrFill( RC491->CAMPO02     , 0060, ' ', 'R' ) + cSeparator // 02 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RC491->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RC491->CAMPO04     , 0004, '0', 'L' ) + cSeparator // 04 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( RC491->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RC491->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC491->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RC491->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Quantidade ? Base de clculo PIS/PASEP
   cTrailler := cTrailler + StrFill( RC491->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Alquota do PIS/PASEP (em reais)
   cTrailler := cTrailler + StrFill( RC491->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC491->CAMPO11     , 0060, ' ', 'R' ) + cSeparator // 11 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC495()
   // *** Estrutura do Registro RC495 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC495->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C495?
   cTrailler := cTrailler + StrFill( RC495->CAMPO02     , 0060, ' ', 'R' ) + cSeparator // 02 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RC495->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Cdigo da Situao Tributria referente a COFINS.
   cTrailler := cTrailler + StrFill( RC495->CAMPO04     , 0004, '0', 'L' ) + cSeparator // 04 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( RC495->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RC495->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RC495->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RC495->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Quantidade ? Base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RC495->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Alquota da COFINS (em reais)
   cTrailler := cTrailler + StrFill( RC495->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RC495->CAMPO11     , 0060, ' ', 'R' ) + cSeparator // 11 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC499()
   // *** Estrutura do Registro RC499 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC499->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C499"
   cTrailler := cTrailler + StrFill( RC499->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RC499->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC500()
   // *** Estrutura do Registro RC500 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC500->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C500"
   cTrailler := cTrailler + StrFill( RC500->CAMPO02     , 0060, ' ', 'R' ) + cSeparator // 02 - Cdigo do participante do fornecedor (campo 02 do Registro 0150).
   cTrailler := cTrailler + StrFill( RC500->CAMPO03     , 0002, ' ', 'R' ) + cSeparator // 03 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   cTrailler := cTrailler + StrFill( RC500->CAMPO04     , 0002, '0', 'L' ) + cSeparator // 04 - Cdigo da situao do documento fiscal, conforme a Tabela 4.1.2
   cTrailler := cTrailler + StrFill( RC500->CAMPO05     , 0004, ' ', 'R' ) + cSeparator // 05 - Srie do documento fiscal
   cTrailler := cTrailler + StrFill( RC500->CAMPO06     , 0003, '0', 'L' ) + cSeparator // 06 - Subsrie do documento fiscal
   cTrailler := cTrailler + StrFill( RC500->CAMPO07     , 0009, '0', 'L' ) + cSeparator // 07 - Nmero do documento fiscal
   cTrailler := cTrailler + StrFill( RC500->CAMPO08     , 0008, '0', 'L' ) + cSeparator // 08 - Data da emisso do documento fiscal
   cTrailler := cTrailler + StrFill( RC500->CAMPO09     , 0008, '0', 'L' ) + cSeparator // 09 - Data da entrada
   cTrailler := cTrailler + StrFill( RC500->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor total do documento fiscal
   cTrailler := cTrailler + StrFill( RC500->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor acumulado do ICMS
   cTrailler := cTrailler + StrFill( RC500->CAMPO12     , 0006, ' ', 'R' ) + cSeparator // 12 - Cdigo da informao complementar do documento fiscal (campo 02 do Registro 0450)
   cTrailler := cTrailler + StrFill( RC500->CAMPO13     , 0014, '0', 'L' ) + cSeparator // 13 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC500->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Valor da COFINS
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC501()
   // *** Estrutura do Registro RC501 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC501->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C501?
   cTrailler := cTrailler + StrFill( RC501->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RC501->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RC501->CAMPO04     , 0002, ' ', 'R' ) + cSeparator // 04 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7.
   cTrailler := cTrailler + StrFill( RC501->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC501->CAMPO06     , 0008, '0', 'L' ) + cSeparator // 06 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RC501->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC501->CAMPO08     , 0060, ' ', 'R' ) + cSeparator // 08 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC505()
   // *** Estrutura do Registro RC505 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC505->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C505?
   cTrailler := cTrailler + StrFill( RC505->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RC505->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RC505->CAMPO04     , 0002, ' ', 'R' ) + cSeparator // 04 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7
   cTrailler := cTrailler + StrFill( RC505->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RC505->CAMPO06     , 0008, '0', 'L' ) + cSeparator // 06 - Alquota da COFINS  (em percentual)
   cTrailler := cTrailler + StrFill( RC505->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RC505->CAMPO08     , 0060, ' ', 'R' ) + cSeparator // 08 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC509()
   // *** Estrutura do Registro RC509 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC509->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C509"
   cTrailler := cTrailler + StrFill( RC509->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RC509->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC600()
   // *** Estrutura do Registro RC600 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC600->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C600"
   cTrailler := cTrailler + StrFill( RC600->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   cTrailler := cTrailler + StrFill( RC600->CAMPO03     , 0007, '0', 'L' ) + cSeparator // 03 - Cdigo do municpio dos pontos de consumo, conforme a tabela IBGE
   cTrailler := cTrailler + StrFill( RC600->CAMPO04     , 0004, ' ', 'R' ) + cSeparator // 04 - Srie do documento fiscal
   cTrailler := cTrailler + StrFill( RC600->CAMPO05     , 0003, '0', 'L' ) + cSeparator // 05 - Subsrie do documento fiscal
   cTrailler := cTrailler + StrFill( RC600->CAMPO06     , 0002, '0', 'L' ) + cSeparator // 06 - Cdigo de classe de consumo de energia eltrica, conforme a Tabela 4.4.5, ou Cdigo de Consumo de Fo
   cTrailler := cTrailler + StrFill( RC600->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Quantidade de documentos consolidados neste registro
   cTrailler := cTrailler + StrFill( RC600->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Quantidade de documentos cancelados
   cTrailler := cTrailler + StrFill( RC600->CAMPO09     , 0008, '0', 'L' ) + cSeparator // 09 - Data dos documentos consolidados
   cTrailler := cTrailler + StrFill( RC600->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor total dos documentos
   cTrailler := cTrailler + StrFill( RC600->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor acumulado dos descontos
   cTrailler := cTrailler + StrFill( RC600->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Consumo total acumulado, em kWh (Cdigo 06)
   cTrailler := cTrailler + StrFill( RC600->CAMPO13     , 0014, '0', 'L' ) + cSeparator // 13 - Valor acumulado do fornecimento
   cTrailler := cTrailler + StrFill( RC600->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Valor acumulado dos servios no-tributados pelo ICMS
   cTrailler := cTrailler + StrFill( RC600->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Valores cobrados em nome de terceiros
   cTrailler := cTrailler + StrFill( RC600->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Valor acumulado das despesas acessrias
   cTrailler := cTrailler + StrFill( RC600->CAMPO17     , 0014, '0', 'L' ) + cSeparator // 17 - Valor acumulado da base de clculo do ICMS
   cTrailler := cTrailler + StrFill( RC600->CAMPO18     , 0014, '0', 'L' ) + cSeparator // 18 - Valor acumulado do ICMS
   cTrailler := cTrailler + StrFill( RC600->CAMPO19     , 0014, '0', 'L' ) + cSeparator // 19 - Valor acumulado da base de clculo do ICMS substituio tributria
   cTrailler := cTrailler + StrFill( RC600->CAMPO20     , 0014, '0', 'L' ) + cSeparator // 20 - Valor acumulado do ICMS retido por substituio tributria
   cTrailler := cTrailler + StrFill( RC600->CAMPO21     , 0014, '0', 'L' ) + cSeparator // 21 - Valor acumulado do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC600->CAMPO22     , 0014, '0', 'L' ) + cSeparator // 22 - Valor acumulado da COFINS
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC601()
   // *** Estrutura do Registro RC601 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC601->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C601?
   cTrailler := cTrailler + StrFill( RC601->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RC601->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RC601->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC601->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RC601->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC601->CAMPO07     , 0060, ' ', 'R' ) + cSeparator // 07 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC605()
   // *** Estrutura do Registro RC605 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC605->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C605?
   cTrailler := cTrailler + StrFill( RC605->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RC605->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RC605->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RC605->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RC605->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RC605->CAMPO07     , 0060, ' ', 'R' ) + cSeparator // 07 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC609()
   // *** Estrutura do Registro RC609 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC609->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C609"
   cTrailler := cTrailler + StrFill( RC609->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RC609->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC800()
   // *** Estrutura do Registro RC800 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC800->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C800"
   cTrailler := cTrailler + StrFill( RC800->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   cTrailler := cTrailler + StrFill( RC800->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Cdigo da situao do documento fiscal, conforme a Tabela 4.1.2
   cTrailler := cTrailler + StrFill( RC800->CAMPO04     , 0009, '0', 'L' ) + cSeparator // 04 - Nmero do Cupom Fiscal Eletrnico
   cTrailler := cTrailler + StrFill( RC800->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Data da emisso do Cupom Fiscal Eletrnico
   cTrailler := cTrailler + StrFill( RC800->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor total do Cupom Fiscal Eletrnico
   cTrailler := cTrailler + StrFill( RC800->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor total do PIS
   cTrailler := cTrailler + StrFill( RC800->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor total da COFINS
   cTrailler := cTrailler + StrFill( RC800->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - CNPJ ou CPF do destinatrio
   cTrailler := cTrailler + StrFill( RC800->CAMPO10     , 0009, '0', 'L' ) + cSeparator // 10 - Nmero de Srie do equipamento SAT
   cTrailler := cTrailler + StrFill( RC800->CAMPO11     , 0044, '0', 'L' ) + cSeparator // 11 - Chave do Cupom Fiscal Eletrnico
   cTrailler := cTrailler + StrFill( RC800->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor total do desconto/excluso sobre item
   cTrailler := cTrailler + StrFill( RC800->CAMPO13     , 0014, '0', 'L' ) + cSeparator // 13 - Valor total das mercadorias e servios
   cTrailler := cTrailler + StrFill( RC800->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Valor de outras desp. Acessrias (acrscimo)
   cTrailler := cTrailler + StrFill( RC800->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Valor do ICMS
   cTrailler := cTrailler + StrFill( RC800->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Valor total do PIS retido por subst. trib.
   cTrailler := cTrailler + StrFill( RC800->CAMPO17     , 0014, '0', 'L' ) + cSeparator // 17 - Valor total da COFINS retido por subst. trib.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC810()
   // *** Estrutura do Registro RC810 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC810->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C810"
   cTrailler := cTrailler + StrFill( RC810->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( RC810->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RC810->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RC810->CAMPO05     , 0002, '0', 'L' ) + cSeparator // 05 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RC810->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC810->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RC810->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC810->CAMPO09     , 0002, '0', 'L' ) + cSeparator // 09 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RC810->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RC810->CAMPO11     , 0008, '0', 'L' ) + cSeparator // 11 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RC810->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RC810->CAMPO13     , 0060, ' ', 'R' ) + cSeparator // 13 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC820()
   // *** Estrutura do Registro RC820 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC820->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C820"
   cTrailler := cTrailler + StrFill( RC820->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( RC820->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RC820->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RC820->CAMPO05     , 0002, '0', 'L' ) + cSeparator // 05 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RC820->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Base de clculo em quantidade - PIS/PASEP
   cTrailler := cTrailler + StrFill( RC820->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Alquota do PIS/PASEP (em reais)
   cTrailler := cTrailler + StrFill( RC820->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC820->CAMPO09     , 0002, '0', 'L' ) + cSeparator // 09 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RC820->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Base de clculo em quantidade ? COFINS
   cTrailler := cTrailler + StrFill( RC820->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Alquota da COFINS (em reais)
   cTrailler := cTrailler + StrFill( RC820->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RC820->CAMPO13     , 0060, ' ', 'R' ) + cSeparator // 13 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC830()
   // *** Estrutura do Registro RC830 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC830->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C830?
   cTrailler := cTrailler + StrFill( RC830->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RC830->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC860()
   // *** Estrutura do Registro RC860 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC860->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C860"
   cTrailler := cTrailler + StrFill( RC860->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   cTrailler := cTrailler + StrFill( RC860->CAMPO03     , 0009, '0', 'L' ) + cSeparator // 03 - Nmero de Srie do equipamento SAT
   cTrailler := cTrailler + StrFill( RC860->CAMPO04     , 0008, '0', 'L' ) + cSeparator // 04 - Data de emisso dos documentos fiscais
   cTrailler := cTrailler + StrFill( RC860->CAMPO05     , 0009, '0', 'L' ) + cSeparator // 05 - Nmero do documento inicial
   cTrailler := cTrailler + StrFill( RC860->CAMPO06     , 0009, '0', 'L' ) + cSeparator // 06 - Nmero do documento final
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC870()
   // *** Estrutura do Registro RC870 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC870->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C870"
   cTrailler := cTrailler + StrFill( RC870->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( RC870->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RC870->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RC870->CAMPO05     , 0002, '0', 'L' ) + cSeparator // 05 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RC870->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC870->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RC870->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC870->CAMPO09     , 0002, '0', 'L' ) + cSeparator // 09 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RC870->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RC870->CAMPO11     , 0008, '0', 'L' ) + cSeparator // 11 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RC870->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RC870->CAMPO13     , 0060, ' ', 'R' ) + cSeparator // 13 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC880()
   // *** Estrutura do Registro RC880 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC880->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C880"
   cTrailler := cTrailler + StrFill( RC880->CAMPO02     , 0060, ' ', 'R' ) + cSeparator // 02 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RC880->CAMPO03     , 0004, '0', 'L' ) + cSeparator // 03 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( RC880->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RC880->CAMPO05     , 0002, '0', 'L' ) + cSeparator // 05 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RC880->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Base de clculo em quantidade - PIS/PASEP
   cTrailler := cTrailler + StrFill( RC880->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Alquota do PIS/PASEP (em reais)
   cTrailler := cTrailler + StrFill( RC880->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RC880->CAMPO09     , 0002, '0', 'L' ) + cSeparator // 09 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RC880->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Base de clculo em quantidade ? COFINS
   cTrailler := cTrailler + StrFill( RC880->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Alquota da COFINS (em reais)
   cTrailler := cTrailler + StrFill( RC880->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RC880->CAMPO13     , 0060, ' ', 'R' ) + cSeparator // 13 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC890()
   // *** Estrutura do Registro RC890 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC890->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C890?
   cTrailler := cTrailler + StrFill( RC890->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RC890->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRC990()
   // *** Estrutura do Registro RC990 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RC990->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "C990"
   cTrailler := cTrailler + StrFill( RC990->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Quantidade total de linhas do Bloco C
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD001()
   // *** Estrutura do Registro RD001 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD001->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D001"
   cTrailler := cTrailler + StrFill( RD001->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador de movimento:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD010()
   // *** Estrutura do Registro RD010 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD010->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?D010?.
   cTrailler := cTrailler + StrFill( RD010->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Nmero de inscrio do estabelecimento no CNPJ.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD100()
   // *** Estrutura do Registro RD100 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD100->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D100"
   cTrailler := cTrailler + StrFill( RD100->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador do tipo de operao:
   cTrailler := cTrailler + StrFill( RD100->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador do emitente do documento fiscal:
   cTrailler := cTrailler + StrFill( RD100->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Cdigo do participante (campo 02 do Registro 0150).
   cTrailler := cTrailler + StrFill( RD100->CAMPO05     , 0002, ' ', 'R' ) + cSeparator // 05 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   cTrailler := cTrailler + StrFill( RD100->CAMPO06     , 0002, '0', 'L' ) + cSeparator // 06 - Cdigo da situao do documento fiscal, conforme a Tabela 4.1.2
   cTrailler := cTrailler + StrFill( RD100->CAMPO07     , 0004, ' ', 'R' ) + cSeparator // 07 - Srie do documento fiscal
   cTrailler := cTrailler + StrFill( RD100->CAMPO08     , 0003, ' ', 'R' ) + cSeparator // 08 - Subsrie do documento fiscal
   cTrailler := cTrailler + StrFill( RD100->CAMPO09     , 0009, '0', 'L' ) + cSeparator // 09 - Nmero do documento fiscal
   cTrailler := cTrailler + StrFill( RD100->CAMPO10     , 0044, '0', 'L' ) + cSeparator // 10 - Chave do Conhecimento de Transporte Eletrnico
   cTrailler := cTrailler + StrFill( RD100->CAMPO11     , 0008, '0', 'L' ) + cSeparator // 11 - Data de referncia/emisso dos documentos fiscais
   cTrailler := cTrailler + StrFill( RD100->CAMPO12     , 0008, '0', 'L' ) + cSeparator // 12 - Data da aquisio ou da prestao do servio
   cTrailler := cTrailler + StrFill( RD100->CAMPO13     , 0001, '0', 'L' ) + cSeparator // 13 - Tipo de Conhecimento de Transporte Eletrnico conforme definido no Manual de Integrao do CT-e
   cTrailler := cTrailler + StrFill( RD100->CAMPO14     , 0044, '0', 'L' ) + cSeparator // 14 - Chave do CT-e de referncia cujos valores foram complementados (opo ?1? do campo anterior) ou cujo
   cTrailler := cTrailler + StrFill( RD100->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Valor total do documento fiscal
   cTrailler := cTrailler + StrFill( RD100->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Valor total do desconto
   cTrailler := cTrailler + StrFill( RD100->CAMPO17     , 0001, ' ', 'R' ) + cSeparator // 17 - Indicador do tipo do frete:
   cTrailler := cTrailler + StrFill( RD100->CAMPO18     , 0014, '0', 'L' ) + cSeparator // 18 - Valor total da prestao de servio
   cTrailler := cTrailler + StrFill( RD100->CAMPO19     , 0014, '0', 'L' ) + cSeparator // 19 - Valor da base de clculo do ICMS
   cTrailler := cTrailler + StrFill( RD100->CAMPO20     , 0014, '0', 'L' ) + cSeparator // 20 - Valor do ICMS
   cTrailler := cTrailler + StrFill( RD100->CAMPO21     , 0014, '0', 'L' ) + cSeparator // 21 - Valor no-tributado do ICMS
   cTrailler := cTrailler + StrFill( RD100->CAMPO22     , 0006, ' ', 'R' ) + cSeparator // 22 - Cdigo da informao complementar do documento fiscal (campo 02 do Registro 0450)
   cTrailler := cTrailler + StrFill( RD100->CAMPO23     , 0060, ' ', 'R' ) + cSeparator // 23 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD101()
   // *** Estrutura do Registro RD101 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD101->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D101?
   cTrailler := cTrailler + StrFill( RD101->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador da Natureza do Frete Contratado, referente a:
   cTrailler := cTrailler + StrFill( RD101->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RD101->CAMPO04     , 0002, '0', 'L' ) + cSeparator // 04 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RD101->CAMPO05     , 0002, ' ', 'R' ) + cSeparator // 05 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7.
   cTrailler := cTrailler + StrFill( RD101->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RD101->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RD101->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RD101->CAMPO09     , 0060, ' ', 'R' ) + cSeparator // 09 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD105()
   // *** Estrutura do Registro RD105 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD105->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D105?
   cTrailler := cTrailler + StrFill( RD105->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador da Natureza do Frete Contratado, referente a:
   cTrailler := cTrailler + StrFill( RD105->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RD105->CAMPO04     , 0002, '0', 'L' ) + cSeparator // 04 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RD105->CAMPO05     , 0002, ' ', 'R' ) + cSeparator // 05 - Cdigo da base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7
   cTrailler := cTrailler + StrFill( RD105->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RD105->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RD105->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RD105->CAMPO09     , 0060, ' ', 'R' ) + cSeparator // 09 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD111()
   // *** Estrutura do Registro RD111 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD111->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D111"
   cTrailler := cTrailler + StrFill( RD111->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RD111->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD200()
   // *** Estrutura do Registro RD200 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD200->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D200"
   cTrailler := cTrailler + StrFill( RD200->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   cTrailler := cTrailler + StrFill( RD200->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Cdigo da situao do documento fiscal, conforme a Tabela 4.1.2
   cTrailler := cTrailler + StrFill( RD200->CAMPO04     , 0004, ' ', 'R' ) + cSeparator // 04 - Srie do documento fiscal
   cTrailler := cTrailler + StrFill( RD200->CAMPO05     , 0003, ' ', 'R' ) + cSeparator // 05 - Subsrie do documento fiscal
   cTrailler := cTrailler + StrFill( RD200->CAMPO06     , 0009, '0', 'L' ) + cSeparator // 06 - Nmero do documento fiscal inicial emitido no perodo (mesmo modelo, srie e subsrie).
   cTrailler := cTrailler + StrFill( RD200->CAMPO07     , 0009, '0', 'L' ) + cSeparator // 07 - Nmero do documento fiscal final emitido no perodo (mesmo modelo, srie e subsrie).
   cTrailler := cTrailler + StrFill( RD200->CAMPO08     , 0004, '0', 'L' ) + cSeparator // 08 - Cdigo Fiscal de Operao e Prestao conforme tabela indicada no item 4.2.2
   cTrailler := cTrailler + StrFill( RD200->CAMPO09     , 0008, '0', 'L' ) + cSeparator // 09 - Data do dia de referncia do resumo dirio
   cTrailler := cTrailler + StrFill( RD200->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor total dos documentos fiscais
   cTrailler := cTrailler + StrFill( RD200->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor total dos descontos
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD201()
   // *** Estrutura do Registro RD201 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD201->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D201"
   cTrailler := cTrailler + StrFill( RD201->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RD201->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RD201->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RD201->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RD201->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RD201->CAMPO07     , 0060, ' ', 'R' ) + cSeparator // 07 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD205()
   // *** Estrutura do Registro RD205 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD205->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D205"
   cTrailler := cTrailler + StrFill( RD205->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Cdigo da Situao Tributria referente a COFINS.
   cTrailler := cTrailler + StrFill( RD205->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total dos itens
   cTrailler := cTrailler + StrFill( RD205->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RD205->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RD205->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RD205->CAMPO07     , 0060, ' ', 'R' ) + cSeparator // 07 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD209()
   // *** Estrutura do Registro RD209 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD209->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D209"
   cTrailler := cTrailler + StrFill( RD209->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RD209->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD300()
   // *** Estrutura do Registro RD300 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD300->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D300"
   cTrailler := cTrailler + StrFill( RD300->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1.
   cTrailler := cTrailler + StrFill( RD300->CAMPO03     , 0004, ' ', 'R' ) + cSeparator // 03 - Srie do documento fiscal
   cTrailler := cTrailler + StrFill( RD300->CAMPO04     , 0003, '0', 'L' ) + cSeparator // 04 - Subsrie do documento fiscal
   cTrailler := cTrailler + StrFill( RD300->CAMPO05     , 0006, '0', 'L' ) + cSeparator // 05 - Nmero do primeiro documento fiscal emitido no perodo (mesmo modelo, srie e subsrie)
   cTrailler := cTrailler + StrFill( RD300->CAMPO06     , 0006, '0', 'L' ) + cSeparator // 06 - Nmero do ltimo documento fiscal emitido no perodo (mesmo modelo, srie e subsrie)
   cTrailler := cTrailler + StrFill( RD300->CAMPO07     , 0004, '0', 'L' ) + cSeparator // 07 - Cdigo Fiscal de Operao e Prestao conforme tabela indicada no item 4.2.2
   cTrailler := cTrailler + StrFill( RD300->CAMPO08     , 0008, '0', 'L' ) + cSeparator // 08 - Data do dia de referncia do resumo dirio
   cTrailler := cTrailler + StrFill( RD300->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor total dos documentos fiscais emitidos
   cTrailler := cTrailler + StrFill( RD300->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor total dos descontos
   cTrailler := cTrailler + StrFill( RD300->CAMPO11     , 0002, '0', 'L' ) + cSeparator // 11 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RD300->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RD300->CAMPO13     , 0008, '0', 'L' ) + cSeparator // 13 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RD300->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RD300->CAMPO15     , 0002, '0', 'L' ) + cSeparator // 15 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RD300->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RD300->CAMPO17     , 0008, '0', 'L' ) + cSeparator // 17 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RD300->CAMPO18     , 0014, '0', 'L' ) + cSeparator // 18 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RD300->CAMPO19     , 0060, ' ', 'R' ) + cSeparator // 19 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD309()
   // *** Estrutura do Registro RD309 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD309->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D309"
   cTrailler := cTrailler + StrFill( RD309->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RD309->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD350()
   // *** Estrutura do Registro RD350 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD350->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D350"
   cTrailler := cTrailler + StrFill( RD350->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   cTrailler := cTrailler + StrFill( RD350->CAMPO03     , 0020, ' ', 'R' ) + cSeparator // 03 - Modelo do equipamento
   cTrailler := cTrailler + StrFill( RD350->CAMPO04     , 0020, ' ', 'R' ) + cSeparator // 04 - Nmero de srie de fabricao do ECF
   cTrailler := cTrailler + StrFill( RD350->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Data do movimento a que se refere a Reduo Z
   cTrailler := cTrailler + StrFill( RD350->CAMPO06     , 0003, '0', 'L' ) + cSeparator // 06 - Posio do Contador de Reincio de Operao
   cTrailler := cTrailler + StrFill( RD350->CAMPO07     , 0006, '0', 'L' ) + cSeparator // 07 - Posio do Contador de Reduo Z
   cTrailler := cTrailler + StrFill( RD350->CAMPO08     , 0006, '0', 'L' ) + cSeparator // 08 - Nmero do Contador de Ordem de Operao do ltimo documento emitido no dia. (Nmero do COO na Redu
   cTrailler := cTrailler + StrFill( RD350->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor do Grande Total final
   cTrailler := cTrailler + StrFill( RD350->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor da venda bruta
   cTrailler := cTrailler + StrFill( RD350->CAMPO11     , 0002, '0', 'L' ) + cSeparator // 11 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RD350->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RD350->CAMPO13     , 0008, '0', 'L' ) + cSeparator // 13 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RD350->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Quantidade ? Base de clculo PIS/PASEP
   cTrailler := cTrailler + StrFill( RD350->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Alquota do PIS/PASEP (em reais)
   cTrailler := cTrailler + StrFill( RD350->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RD350->CAMPO17     , 0002, '0', 'L' ) + cSeparator // 17 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RD350->CAMPO18     , 0014, '0', 'L' ) + cSeparator // 18 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RD350->CAMPO19     , 0008, '0', 'L' ) + cSeparator // 19 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RD350->CAMPO20     , 0014, '0', 'L' ) + cSeparator // 20 - Quantidade ? Base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RD350->CAMPO21     , 0014, '0', 'L' ) + cSeparator // 21 - Alquota da COFINS (em reais)
   cTrailler := cTrailler + StrFill( RD350->CAMPO22     , 0014, '0', 'L' ) + cSeparator // 22 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RD350->CAMPO23     , 0060, ' ', 'R' ) + cSeparator // 23 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD359()
   // *** Estrutura do Registro RD359 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD359->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D359"
   cTrailler := cTrailler + StrFill( RD359->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RD359->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD500()
   // *** Estrutura do Registro RD500 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD500->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D500"
   cTrailler := cTrailler + StrFill( RD500->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador do tipo de operao:
   cTrailler := cTrailler + StrFill( RD500->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador do emitente do documento fiscal:
   cTrailler := cTrailler + StrFill( RD500->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Cdigo do participante prestador do servio (campo 02 do Registro 0150).
   cTrailler := cTrailler + StrFill( RD500->CAMPO05     , 0002, ' ', 'R' ) + cSeparator // 05 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1.
   cTrailler := cTrailler + StrFill( RD500->CAMPO06     , 0002, '0', 'L' ) + cSeparator // 06 - digo da situao do documento fiscal, conforme a Tabela 4.1.2.
   cTrailler := cTrailler + StrFill( RD500->CAMPO07     , 0004, ' ', 'R' ) + cSeparator // 07 - Srie do documento fiscal
   cTrailler := cTrailler + StrFill( RD500->CAMPO08     , 0003, '0', 'L' ) + cSeparator // 08 - Subsrie do documento fiscal
   cTrailler := cTrailler + StrFill( RD500->CAMPO09     , 0009, '0', 'L' ) + cSeparator // 09 - Nmero do documento fiscal
   cTrailler := cTrailler + StrFill( RD500->CAMPO10     , 0008, '0', 'L' ) + cSeparator // 10 - Data da emisso do documento fiscal
   cTrailler := cTrailler + StrFill( RD500->CAMPO11     , 0008, '0', 'L' ) + cSeparator // 11 - Data da entrada (aquisio)
   cTrailler := cTrailler + StrFill( RD500->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor total do documento fiscal
   cTrailler := cTrailler + StrFill( RD500->CAMPO13     , 0014, '0', 'L' ) + cSeparator // 13 - Valor total do desconto
   cTrailler := cTrailler + StrFill( RD500->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Valor da prestao de servios
   cTrailler := cTrailler + StrFill( RD500->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Valor total dos servios no-tributados pelo ICMS
   cTrailler := cTrailler + StrFill( RD500->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Valores cobrados em nome de terceiros
   cTrailler := cTrailler + StrFill( RD500->CAMPO17     , 0014, '0', 'L' ) + cSeparator // 17 - Valor de outras despesas indicadas no documento fiscal
   cTrailler := cTrailler + StrFill( RD500->CAMPO18     , 0014, '0', 'L' ) + cSeparator // 18 - Valor da base de clculo do ICMS
   cTrailler := cTrailler + StrFill( RD500->CAMPO19     , 0014, '0', 'L' ) + cSeparator // 19 - Valor do ICMS
   cTrailler := cTrailler + StrFill( RD500->CAMPO20     , 0006, ' ', 'R' ) + cSeparator // 20 - Cdigo da informao complementar (campo 02 do Registro 0450)
   cTrailler := cTrailler + StrFill( RD500->CAMPO21     , 0014, '0', 'L' ) + cSeparator // 21 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RD500->CAMPO22     , 0014, '0', 'L' ) + cSeparator // 22 - Valor da COFINS
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD501()
   // *** Estrutura do Registro RD501 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD501->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D501?
   cTrailler := cTrailler + StrFill( RD501->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RD501->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor Total dos Itens (Servios)
   cTrailler := cTrailler + StrFill( RD501->CAMPO04     , 0002, ' ', 'R' ) + cSeparator // 04 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7.
   cTrailler := cTrailler + StrFill( RD501->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RD501->CAMPO06     , 0008, '0', 'L' ) + cSeparator // 06 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RD501->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RD501->CAMPO08     , 0060, ' ', 'R' ) + cSeparator // 08 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD505()
   // *** Estrutura do Registro RD505 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD505->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D505?
   cTrailler := cTrailler + StrFill( RD505->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RD505->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor Total dos Itens
   cTrailler := cTrailler + StrFill( RD505->CAMPO04     , 0002, ' ', 'R' ) + cSeparator // 04 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7.
   cTrailler := cTrailler + StrFill( RD505->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RD505->CAMPO06     , 0008, '0', 'L' ) + cSeparator // 06 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RD505->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RD505->CAMPO08     , 0060, ' ', 'R' ) + cSeparator // 08 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD509()
   // *** Estrutura do Registro RD509 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD509->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D509"
   cTrailler := cTrailler + StrFill( RD509->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RD509->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD600()
   // *** Estrutura do Registro RD600 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD600->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D600"
   cTrailler := cTrailler + StrFill( RD600->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1.
   cTrailler := cTrailler + StrFill( RD600->CAMPO03     , 0007, '0', 'L' ) + cSeparator // 03 - Cdigo do municpio dos terminais faturados, conforme a tabela IBGE
   cTrailler := cTrailler + StrFill( RD600->CAMPO04     , 0004, ' ', 'R' ) + cSeparator // 04 - Srie do documento fiscal
   cTrailler := cTrailler + StrFill( RD600->CAMPO05     , 0003, '0', 'L' ) + cSeparator // 05 - Subsrie do documento fiscal
   cTrailler := cTrailler + StrFill( RD600->CAMPO06     , 0001, '0', 'L' ) + cSeparator // 06 - Indicador do tipo de receita:
   cTrailler := cTrailler + StrFill( RD600->CAMPO07     , 0004, '0', 'L' ) + cSeparator // 07 - Quantidade de documentos consolidados neste registro
   cTrailler := cTrailler + StrFill( RD600->CAMPO08     , 0008, '0', 'L' ) + cSeparator // 08 - Data Inicial dos documentos consolidados no perodo
   cTrailler := cTrailler + StrFill( RD600->CAMPO09     , 0008, '0', 'L' ) + cSeparator // 09 - Data Final dos documentos consolidados no perodo
   cTrailler := cTrailler + StrFill( RD600->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor total acumulado dos documentos fiscais
   cTrailler := cTrailler + StrFill( RD600->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor acumulado dos descontos
   cTrailler := cTrailler + StrFill( RD600->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor acumulado das prestaes de servios tributados pelo ICMS
   cTrailler := cTrailler + StrFill( RD600->CAMPO13     , 0014, '0', 'L' ) + cSeparator // 13 - Valor acumulado dos servios no-tributados pelo ICMS
   cTrailler := cTrailler + StrFill( RD600->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Valores cobrados em nome de terceiros
   cTrailler := cTrailler + StrFill( RD600->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Valor acumulado das despesas acessrias
   cTrailler := cTrailler + StrFill( RD600->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Valor acumulado da base de clculo do ICMS
   cTrailler := cTrailler + StrFill( RD600->CAMPO17     , 0014, '0', 'L' ) + cSeparator // 17 - Valor acumulado do ICMS
   cTrailler := cTrailler + StrFill( RD600->CAMPO18     , 0014, '0', 'L' ) + cSeparator // 18 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RD600->CAMPO19     , 0014, '0', 'L' ) + cSeparator // 19 - Valor da COFINS
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD601()
   // *** Estrutura do Registro RD601 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD601->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D601?
   cTrailler := cTrailler + StrFill( RD601->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Cdigo de classificao do item do servio de comunicao ou de telecomunicao, conforme a Tabela 4
   cTrailler := cTrailler + StrFill( RD601->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor acumulado do item
   cTrailler := cTrailler + StrFill( RD601->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor acumulado dos descontos/excluses da base de clculo
   cTrailler := cTrailler + StrFill( RD601->CAMPO05     , 0002, '0', 'L' ) + cSeparator // 05 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RD601->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RD601->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RD601->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RD601->CAMPO09     , 0060, ' ', 'R' ) + cSeparator // 09 - Cdigo da conta contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD605()
   // *** Estrutura do Registro RD605 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD605->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D605?
   cTrailler := cTrailler + StrFill( RD605->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Cdigo de classificao do item do servio de comunicao ou de telecomunicao, conforme a Tabela 4
   cTrailler := cTrailler + StrFill( RD605->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor acumulado do item
   cTrailler := cTrailler + StrFill( RD605->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor acumulado dos descontos/excluses da base de clculo
   cTrailler := cTrailler + StrFill( RD605->CAMPO05     , 0002, '0', 'L' ) + cSeparator // 05 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RD605->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RD605->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RD605->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RD605->CAMPO09     , 0060, ' ', 'R' ) + cSeparator // 09 - Cdigo da conta contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD609()
   // *** Estrutura do Registro RD609 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD609->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D609"
   cTrailler := cTrailler + StrFill( RD609->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RD609->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRD990()
   // *** Estrutura do Registro RD990 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RD990->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "D990"
   cTrailler := cTrailler + StrFill( RD990->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Quantidade total de linhas do Bloco D
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF001()
   // *** Estrutura do Registro RF001 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF001->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F001"
   cTrailler := cTrailler + StrFill( RF001->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador de movimento:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF010()
   // *** Estrutura do Registro RF010 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF010->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?F010?.
   cTrailler := cTrailler + StrFill( RF010->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Nmero de inscrio do estabelecimento no CNPJ.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF100()
   // *** Estrutura do Registro RF100 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF100->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F100"
   cTrailler := cTrailler + StrFill( RF100->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador do Tipo da Operao:
   cTrailler := cTrailler + StrFill( RF100->CAMPO03     , 0060, ' ', 'R' ) + cSeparator // 03 - Cdigo do participante (Campo 02 do Registro 0150)
   cTrailler := cTrailler + StrFill( RF100->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Cdigo do item (campo 02 do Registro 0200)
   cTrailler := cTrailler + StrFill( RF100->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Data da Operao (ddmmaaaa)
   cTrailler := cTrailler + StrFill( RF100->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da Operao/Item
   cTrailler := cTrailler + StrFill( RF100->CAMPO07     , 0002, '0', 'L' ) + cSeparator // 07 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   cTrailler := cTrailler + StrFill( RF100->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RF100->CAMPO09     , 0008, '0', 'L' ) + cSeparator // 09 - Alquota do PIS/PASEP
   cTrailler := cTrailler + StrFill( RF100->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RF100->CAMPO11     , 0002, '0', 'L' ) + cSeparator // 11 - Cdigo da Situao Tributria referente a COFINS, conforme a Tabela indicada no item 4.3.4.
   cTrailler := cTrailler + StrFill( RF100->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RF100->CAMPO13     , 0008, '0', 'L' ) + cSeparator // 13 - Alquota da COFINS
   cTrailler := cTrailler + StrFill( RF100->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RF100->CAMPO15     , 0002, ' ', 'R' ) + cSeparator // 15 - Cdigo da Base de Clculo dos Crditos, conforme a tabela indicada no item 4.3.7, caso seja informad
   cTrailler := cTrailler + StrFill( RF100->CAMPO16     , 0001, ' ', 'R' ) + cSeparator // 16 - Indicador da origem do crdito:
   cTrailler := cTrailler + StrFill( RF100->CAMPO17     , 0060, ' ', 'R' ) + cSeparator // 17 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + StrFill( RF100->CAMPO18     , 0060, ' ', 'R' ) + cSeparator // 18 - Cdigo do Centro de Custos
   cTrailler := cTrailler + StrFill( RF100->CAMPO19     , 0100, ' ', 'R' ) + cSeparator // 19 - Descrio do Documento/Operao
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF111()
   // *** Estrutura do Registro RF111 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF111->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F111"
   cTrailler := cTrailler + StrFill( RF111->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio.
   cTrailler := cTrailler + StrFill( RF111->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF120()
   // *** Estrutura do Registro RF120 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF120->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F120"
   cTrailler := cTrailler + StrFill( RF120->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo da Base de Clculo do Crdito sobre Bens Incorporados ao Ativo Imobilizado, conforme a Tabela
   cTrailler := cTrailler + StrFill( RF120->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Identificao dos Bens/Grupo de Bens Incorporados ao Ativo Imobilizado:
   cTrailler := cTrailler + StrFill( RF120->CAMPO04     , 0001, ' ', 'R' ) + cSeparator // 04 - Indicador da origem do bem incorporado ao ativo imobilizado, gerador de crdito:
   cTrailler := cTrailler + StrFill( RF120->CAMPO05     , 0001, '0', 'L' ) + cSeparator // 05 - Indicador da Utilizao dos Bens Incorporados ao Ativo Imobilizado:
   cTrailler := cTrailler + StrFill( RF120->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor do Encargo de Depreciao/Amortizao Incorrido no Perodo
   cTrailler := cTrailler + StrFill( RF120->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Parcela do Valor do Encargo de Depreciao/Amortizao a excluir da base de clculo de Crdito
   cTrailler := cTrailler + StrFill( RF120->CAMPO08     , 0002, '0', 'L' ) + cSeparator // 08 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   cTrailler := cTrailler + StrFill( RF120->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Base de clculo do Crdito de PIS/PASEP no perodo (06 ? 07)
   cTrailler := cTrailler + StrFill( RF120->CAMPO10     , 0008, '0', 'L' ) + cSeparator // 10 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RF120->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor do Crdito de PIS/PASEP
   cTrailler := cTrailler + StrFill( RF120->CAMPO12     , 0002, '0', 'L' ) + cSeparator // 12 - Cdigo da Situao Tributria referente a COFINS, conforme a Tabela indicada no item 4.3.4.
   cTrailler := cTrailler + StrFill( RF120->CAMPO13     , 0014, '0', 'L' ) + cSeparator // 13 - Base de Clculo do Crdito da COFINS no perodo (06 ? 07)
   cTrailler := cTrailler + StrFill( RF120->CAMPO14     , 0008, '0', 'L' ) + cSeparator // 14 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RF120->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Valor do crdito da COFINS
   cTrailler := cTrailler + StrFill( RF120->CAMPO16     , 0060, ' ', 'R' ) + cSeparator // 16 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + StrFill( RF120->CAMPO17     , 0060, ' ', 'R' ) + cSeparator // 17 - Cdigo do Centro de Custos
   cTrailler := cTrailler + StrFill( RF120->CAMPO18     , 0100, ' ', 'R' ) + cSeparator // 18 - Descrio complementar do bem ou grupo de bens, com crdito apurado com base nos encargos de depreci
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF129()
   // *** Estrutura do Registro RF129 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF129->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F129"
   cTrailler := cTrailler + StrFill( RF129->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio.
   cTrailler := cTrailler + StrFill( RF129->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF130()
   // *** Estrutura do Registro RF130 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF130->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F130"
   cTrailler := cTrailler + StrFill( RF130->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Texto fixo contendo "10" (Cdigo da Base de Clculo do Crdito sobre Bens Incorporados ao Ativo Imob
   cTrailler := cTrailler + StrFill( RF130->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Identificao dos Bens/Grupo de Bens Incorporados ao Ativo Imobilizado:
   cTrailler := cTrailler + StrFill( RF130->CAMPO04     , 0001, ' ', 'R' ) + cSeparator // 04 - Indicador da origem do bem incorporado ao ativo imobilizado, gerador de crdito:
   cTrailler := cTrailler + StrFill( RF130->CAMPO05     , 0001, '0', 'L' ) + cSeparator // 05 - Indicador da Utilizao dos Bens Incorporados ao Ativo Imobilizado:
   cTrailler := cTrailler + StrFill( RF130->CAMPO06     , 0006, '0', 'L' ) + cSeparator // 06 - Ms/Ano de Aquisio dos Bens Incorporados ao Ativo Imobilizado, com apurao de crdito com base no
   cTrailler := cTrailler + StrFill( RF130->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor de Aquisio dos Bens Incorporados ao Ativo Imobilizado ? Crdito com base no valor de aquisi
   cTrailler := cTrailler + StrFill( RF130->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Parcela do Valor de Aquisio a excluir da base de clculo de Crdito
   cTrailler := cTrailler + StrFill( RF130->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor da Base de Clculo do Crdito sobre Bens Incorporados ao Ativo Imobilizado (07 ? 08)
   cTrailler := cTrailler + StrFill( RF130->CAMPO10     , 0001, '0', 'L' ) + cSeparator // 10 - Indicador do Nmero de Parcelas a serem apropriadas (Crdito sobre Valor de Aquisio):
   cTrailler := cTrailler + StrFill( RF130->CAMPO11     , 0002, '0', 'L' ) + cSeparator // 11 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   cTrailler := cTrailler + StrFill( RF130->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Base de clculo Mensal do Crdito de PIS/PASEP, conforme indicador informado no campo 10.
   cTrailler := cTrailler + StrFill( RF130->CAMPO13     , 0008, '0', 'L' ) + cSeparator // 13 - Alquota do PIS/PASEP
   cTrailler := cTrailler + StrFill( RF130->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Valor do Crdito de PIS/PASEP
   cTrailler := cTrailler + StrFill( RF130->CAMPO15     , 0002, '0', 'L' ) + cSeparator // 15 - Cdigo da Situao Tributria referente a COFINS, conforme a Tabela indicada no item 4.3.4.
   cTrailler := cTrailler + StrFill( RF130->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Base de Clculo Mensal do Crdito da COFINS, conforme indicador informado no campo 10.
   cTrailler := cTrailler + StrFill( RF130->CAMPO17     , 0008, '0', 'L' ) + cSeparator // 17 - Alquota da COFINS
   cTrailler := cTrailler + StrFill( RF130->CAMPO18     , 0014, '0', 'L' ) + cSeparator // 18 - Valor do crdito da COFINS
   cTrailler := cTrailler + StrFill( RF130->CAMPO19     , 0060, ' ', 'R' ) + cSeparator // 19 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + StrFill( RF130->CAMPO20     , 0060, ' ', 'R' ) + cSeparator // 20 - Cdigo do Centro de Custos
   cTrailler := cTrailler + StrFill( RF130->CAMPO21     , 0100, ' ', 'R' ) + cSeparator // 21 - Descrio complementar do bem ou grupo de bens, com crdito apurado com base no valor de aquisio.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF139()
   // *** Estrutura do Registro RF139 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF139->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F139"
   cTrailler := cTrailler + StrFill( RF139->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio.
   cTrailler := cTrailler + StrFill( RF139->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF150()
   // *** Estrutura do Registro RF150 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF150->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F150"
   cTrailler := cTrailler + StrFill( RF150->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Texto fixo contendo "18"
   cTrailler := cTrailler + StrFill( RF150->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor Total do Estoque de Abertura
   cTrailler := cTrailler + StrFill( RF150->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Parcela do estoque de abertura referente a bens, produtos e mercadorias importados, ou adquiridas no
   cTrailler := cTrailler + StrFill( RF150->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor da Base de Clculo do Crdito sobre o Estoque de Abertura (03 ? 04)
   cTrailler := cTrailler + StrFill( RF150->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da Base de Clculo Mensal do Crdito sobre o Estoque de Abertura (1/12 avos do campo 05)
   cTrailler := cTrailler + StrFill( RF150->CAMPO07     , 0002, '0', 'L' ) + cSeparator // 07 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   cTrailler := cTrailler + StrFill( RF150->CAMPO08     , 0008, '0', 'L' ) + cSeparator // 08 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RF150->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor Mensal do Crdito Presumido Apurado para o Perodo -  PIS/PASEP  (06 x 08)
   cTrailler := cTrailler + StrFill( RF150->CAMPO10     , 0002, '0', 'L' ) + cSeparator // 10 - Cdigo da Situao Tributria referente ao COFINS, conforme a Tabela indicada no item 4.3.4
   cTrailler := cTrailler + StrFill( RF150->CAMPO11     , 0008, '0', 'L' ) + cSeparator // 11 - Alquota do COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RF150->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor Mensal do Crdito Presumido Apurado para o Perodo - COFINS (06 x 11)
   cTrailler := cTrailler + StrFill( RF150->CAMPO13     , 0100, ' ', 'R' ) + cSeparator // 13 - Descrio do estoque
   cTrailler := cTrailler + StrFill( RF150->CAMPO14     , 0060, ' ', 'R' ) + cSeparator // 14 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF200()
   // *** Estrutura do Registro RF200 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF200->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F200"
   cTrailler := cTrailler + StrFill( RF200->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Indicador do Tipo da Operao:
   cTrailler := cTrailler + StrFill( RF200->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Indicador do tipo de unidade imobiliria Vendida:
   cTrailler := cTrailler + StrFill( RF200->CAMPO04     , 0100, ' ', 'R' ) + cSeparator // 04 - Identificao/Nome do Empreendimento
   cTrailler := cTrailler + StrFill( RF200->CAMPO05     , 0090, ' ', 'R' ) + cSeparator // 05 - Descrio resumida da unidade imobiliria vendida
   cTrailler := cTrailler + StrFill( RF200->CAMPO06     , 0090, ' ', 'R' ) + cSeparator // 06 - Nmero do Contrato/Documento que formaliza a Venda da Unidade Imobiliria
   cTrailler := cTrailler + StrFill( RF200->CAMPO07     , 0014, ' ', 'R' ) + cSeparator // 07 - Identificao da pessoa fsica (CPF) ou da pessoa jurdica (CNPJ) adquirente da unidade imobiliria
   cTrailler := cTrailler + StrFill( RF200->CAMPO08     , 0008, '0', 'L' ) + cSeparator // 08 - Data da operao de venda da unidade imobiliria
   cTrailler := cTrailler + StrFill( RF200->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor total da unidade imobiliria vendida atualizado at o perodo da escriturao
   cTrailler := cTrailler + StrFill( RF200->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor recebido acumulado at o ms anterior ao da escriturao.
   cTrailler := cTrailler + StrFill( RF200->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor total recebido no ms da escriturao
   cTrailler := cTrailler + StrFill( RF200->CAMPO12     , 0002, '0', 'L' ) + cSeparator // 12 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   cTrailler := cTrailler + StrFill( RF200->CAMPO13     , 0014, '0', 'L' ) + cSeparator // 13 - Base de Clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RF200->CAMPO14     , 0008, '0', 'L' ) + cSeparator // 14 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RF200->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RF200->CAMPO16     , 0002, '0', 'L' ) + cSeparator // 16 - Cdigo da Situao Tributria referente a COFINS, conforme a Tabela indicada no item 4.3.4.
   cTrailler := cTrailler + StrFill( RF200->CAMPO17     , 0014, '0', 'L' ) + cSeparator // 17 - Base de Clculo da COFINS
   cTrailler := cTrailler + StrFill( RF200->CAMPO18     , 0008, '0', 'L' ) + cSeparator // 18 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RF200->CAMPO19     , 0014, '0', 'L' ) + cSeparator // 19 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RF200->CAMPO20     , 0006, '0', 'L' ) + cSeparator // 20 - Percentual da receita total recebida at o ms, da unidade imobiliria vendida ((Campo 10 + Campo 11
   cTrailler := cTrailler + StrFill( RF200->CAMPO21     , 0001, '0', 'L' ) + cSeparator // 21 - Indicador da Natureza Especfica do Empreendimento:
   cTrailler := cTrailler + StrFill( RF200->CAMPO22     , 0090, ' ', 'R' ) + cSeparator // 22 - Informaes Complementares
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF205()
   // *** Estrutura do Registro RF205 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF205->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F205"
   cTrailler := cTrailler + StrFill( RF205->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Valor Total do Custo Incorrido da unidade imobiliria acumulado at o ms anterior ao da escritura
   cTrailler := cTrailler + StrFill( RF205->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor Total do Custo Incorrido da unidade imobiliria no ms da escriturao
   cTrailler := cTrailler + StrFill( RF205->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor Total do Custo Incorrido da unidade imobiliria acumulado at o ms da escriturao (Campo 02
   cTrailler := cTrailler + StrFill( RF205->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Parcela do Custo Incorrido sem direito ao crdito da atividade imobiliria, acumulado at o perodo.
   cTrailler := cTrailler + StrFill( RF205->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da Base de Clculo do Crdito sobre o Custo Incorrido, acumulado at o perodo da escriturao
   cTrailler := cTrailler + StrFill( RF205->CAMPO07     , 0002, '0', 'L' ) + cSeparator // 07 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   cTrailler := cTrailler + StrFill( RF205->CAMPO08     , 0008, '0', 'L' ) + cSeparator // 08 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RF205->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor Total do Crdito Acumulado sobre o custo incorrido ? PIS/PASEP (Campo 06 x 08)
   cTrailler := cTrailler + StrFill( RF205->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Parcela do crdito descontada at o perodo anterior da escriturao ? PIS/PASEP (proporcional  rec
   cTrailler := cTrailler + StrFill( RF205->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Parcela a descontar no perodo da escriturao  ? PIS/PASEP (proporcional  receita recebida no ms)
   cTrailler := cTrailler + StrFill( RF205->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Parcela a descontar em perodos futuros  ? PIS/PASEP (Campo 09 ? 10 ? 11).
   cTrailler := cTrailler + StrFill( RF205->CAMPO13     , 0002, '0', 'L' ) + cSeparator // 13 - Cdigo da Situao Tributria referente ao COFINS, conforme a Tabela indicada no item 4.3.4.
   cTrailler := cTrailler + StrFill( RF205->CAMPO14     , 0008, '0', 'L' ) + cSeparator // 14 - Alquota do COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RF205->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Valor Total do Crdito Acumulado sobre o custo incorrido - COFINS (Campo 06 x 14)
   cTrailler := cTrailler + StrFill( RF205->CAMPO16     , 0014, '0', 'L' ) + cSeparator // 16 - Parcela do crdito descontada at o perodo anterior da escriturao ? COFINS (proporcional  receit
   cTrailler := cTrailler + StrFill( RF205->CAMPO17     , 0014, '0', 'L' ) + cSeparator // 17 - Parcela a descontar no perodo da escriturao  ? COFINS (proporcional  receita recebida no ms).
   cTrailler := cTrailler + StrFill( RF205->CAMPO18     , 0014, '0', 'L' ) + cSeparator // 18 - Parcela a descontar em perodos futuros  ? COFINS (Campo 15 ? 16 ? 17).
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF210()
   // *** Estrutura do Registro RF210 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF210->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F210"
   cTrailler := cTrailler + StrFill( RF210->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Valor Total do Custo Orado para Concluso da Unidade Vendida
   cTrailler := cTrailler + StrFill( RF210->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valores Referentes a Pagamentos a Pessoas Fsicas, Encargos Trabalhistas, Sociais e Previdencirios
   cTrailler := cTrailler + StrFill( RF210->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor da Base de Calculo do Crdito sobre o Custo Orado Ajustado (Campo 02 ? 03).
   cTrailler := cTrailler + StrFill( RF210->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor da Base de Clculo do Crdito sobre o Custo Orado referente ao ms da escriturao, proporcio
   cTrailler := cTrailler + StrFill( RF210->CAMPO06     , 0002, '0', 'L' ) + cSeparator // 06 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   cTrailler := cTrailler + StrFill( RF210->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RF210->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor do Crdito sobre o custo orado a ser utilizado no perodo da escriturao - PIS/PASEP (Campo
   cTrailler := cTrailler + StrFill( RF210->CAMPO09     , 0002, '0', 'L' ) + cSeparator // 09 - Cdigo da Situao Tributria referente a COFINS, conforme a Tabela indicada no item 4.3.4.
   cTrailler := cTrailler + StrFill( RF210->CAMPO10     , 0008, '0', 'L' ) + cSeparator // 10 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RF210->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor do Crdito sobre o custo orado a ser utilizado no perodo da escriturao - COFINS (Campo 05
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF211()
   // *** Estrutura do Registro RF211 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF211->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F211"
   cTrailler := cTrailler + StrFill( RF211->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio.
   cTrailler := cTrailler + StrFill( RF211->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF500()
   // *** Estrutura do Registro RF500 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF500->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F500"
   cTrailler := cTrailler + StrFill( RF500->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Valor total da receita recebida, referente  combinao de CST e Alquota.
   cTrailler := cTrailler + StrFill( RF500->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RF500->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor do desconto / excluso da base de clculo
   cTrailler := cTrailler + StrFill( RF500->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RF500->CAMPO06     , 0008, '0', 'L' ) + cSeparator // 06 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RF500->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RF500->CAMPO08     , 0002, '0', 'L' ) + cSeparator // 08 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RF500->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor do desconto / excluso da base de clculo
   cTrailler := cTrailler + StrFill( RF500->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RF500->CAMPO11     , 0008, '0', 'L' ) + cSeparator // 11 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RF500->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RF500->CAMPO13     , 0002, ' ', 'R' ) + cSeparator // 13 - Cdigo do modelo do documento fiscal conforme a Tabela 4.1.1
   cTrailler := cTrailler + StrFill( RF500->CAMPO14     , 0004, '0', 'L' ) + cSeparator // 14 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( RF500->CAMPO15     , 0060, ' ', 'R' ) + cSeparator // 15 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + StrFill( RF500->CAMPO16     , 0100, ' ', 'R' ) + cSeparator // 16 - Informao complementar
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF509()
   // *** Estrutura do Registro RF509 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF509->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F509?
   cTrailler := cTrailler + StrFill( RF509->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RF509->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF510()
   // *** Estrutura do Registro RF510 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF510->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F510"
   cTrailler := cTrailler + StrFill( RF510->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Valor total da receita recebida, referente  combinao de CST e Alquota.
   cTrailler := cTrailler + StrFill( RF510->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RF510->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor do desconto / excluso
   cTrailler := cTrailler + StrFill( RF510->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Base de clculo em quantidade - PIS/PASEP
   cTrailler := cTrailler + StrFill( RF510->CAMPO06     , 0008, '0', 'L' ) + cSeparator // 06 - Alquota do PIS/PASEP (em reais)
   cTrailler := cTrailler + StrFill( RF510->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RF510->CAMPO08     , 0002, '0', 'L' ) + cSeparator // 08 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RF510->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor do desconto / excluso
   cTrailler := cTrailler + StrFill( RF510->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Base de clculo em quantidade - COFINS
   cTrailler := cTrailler + StrFill( RF510->CAMPO11     , 0008, '0', 'L' ) + cSeparator // 11 - Alquota da COFINS (em reais)
   cTrailler := cTrailler + StrFill( RF510->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RF510->CAMPO13     , 0002, ' ', 'R' ) + cSeparator // 13 - Cdigo do modelo do documento fiscal conforme a Tabela 4.1.1
   cTrailler := cTrailler + StrFill( RF510->CAMPO14     , 0004, '0', 'L' ) + cSeparator // 14 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( RF510->CAMPO15     , 0060, ' ', 'R' ) + cSeparator // 15 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + StrFill( RF510->CAMPO16     , 0100, ' ', 'R' ) + cSeparator // 16 - Informao complementar
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF519()
   // *** Estrutura do Registro RF519 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF519->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F519?
   cTrailler := cTrailler + StrFill( RF519->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RF519->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF525()
   // *** Estrutura do Registro RF525 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF525->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F525"
   cTrailler := cTrailler + StrFill( RF525->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Valor total da receita recebida, correspondente ao indicador informado no campo 03 (IND_REC)
   cTrailler := cTrailler + StrFill( RF525->CAMPO03     , 0002, ' ', 'R' ) + cSeparator // 03 - Indicador da composio da receita recebida no perodo (Campo 02), por:
   cTrailler := cTrailler + StrFill( RF525->CAMPO04     , 0014, ' ', 'R' ) + cSeparator // 04 - CNPJ/CPF do participante (cliente/pessoa fsica ou jurdica pagadora) ou da administradora de carte
   cTrailler := cTrailler + StrFill( RF525->CAMPO05     , 0060, ' ', 'R' ) + cSeparator // 05 - Nmero do ttulo de crdito ou do documento fiscal, no caso de detalhamento da receita recebida conf
   cTrailler := cTrailler + StrFill( RF525->CAMPO06     , 0060, ' ', 'R' ) + cSeparator // 06 - Cdigo do item (campo 02 do Registro 0200), no caso de detalhamento da receita recebida por item ven
   cTrailler := cTrailler + StrFill( RF525->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor da receita detalhada, correspondente ao contedo informado no campo 04, 05 ou 06.
   cTrailler := cTrailler + StrFill( RF525->CAMPO08     , 0002, '0', 'L' ) + cSeparator // 08 - Cdigo da Situao Tributria do PIS/Pasep
   cTrailler := cTrailler + StrFill( RF525->CAMPO09     , 0002, '0', 'L' ) + cSeparator // 09 - Cdigo da Situao Tributria da Cofins
   cTrailler := cTrailler + StrFill( RF525->CAMPO10     , 0100, ' ', 'R' ) + cSeparator // 10 - Informao complementar
   cTrailler := cTrailler + StrFill( RF525->CAMPO11     , 0060, ' ', 'R' ) + cSeparator // 11 - Cdigo da conta analtica contbil representativa da receita recebida
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF550()
   // *** Estrutura do Registro RF550 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF550->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F550"
   cTrailler := cTrailler + StrFill( RF550->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Valor total da receita auferida, referente  combinao de CST e Alquota.
   cTrailler := cTrailler + StrFill( RF550->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RF550->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor do desconto / excluso da base de clculo
   cTrailler := cTrailler + StrFill( RF550->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RF550->CAMPO06     , 0008, '0', 'L' ) + cSeparator // 06 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RF550->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RF550->CAMPO08     , 0002, '0', 'L' ) + cSeparator // 08 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RF550->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor do desconto / excluso da base de clculo
   cTrailler := cTrailler + StrFill( RF550->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor da base de clculo da COFINS
   cTrailler := cTrailler + StrFill( RF550->CAMPO11     , 0008, '0', 'L' ) + cSeparator // 11 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RF550->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RF550->CAMPO13     , 0002, ' ', 'R' ) + cSeparator // 13 - Cdigo do modelo do documento fiscal conforme a Tabela 4.1.1
   cTrailler := cTrailler + StrFill( RF550->CAMPO14     , 0004, '0', 'L' ) + cSeparator // 14 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( RF550->CAMPO15     , 0060, ' ', 'R' ) + cSeparator // 15 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + StrFill( RF550->CAMPO16     , 0100, ' ', 'R' ) + cSeparator // 16 - Informao complementar
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF559()
   // *** Estrutura do Registro RF559 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF559->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F559?
   cTrailler := cTrailler + StrFill( RF559->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RF559->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF560()
   // *** Estrutura do Registro RF560 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF560->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F560"
   cTrailler := cTrailler + StrFill( RF560->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Valor total da receita auferida, referente  combinao de CST e Alquota.
   cTrailler := cTrailler + StrFill( RF560->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Cdigo da Situao Tributria referente ao PIS/PASEP
   cTrailler := cTrailler + StrFill( RF560->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor do desconto / excluso
   cTrailler := cTrailler + StrFill( RF560->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Base de clculo em quantidade - PIS/PASEP
   cTrailler := cTrailler + StrFill( RF560->CAMPO06     , 0008, '0', 'L' ) + cSeparator // 06 - Alquota do PIS/PASEP (em reais)
   cTrailler := cTrailler + StrFill( RF560->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RF560->CAMPO08     , 0002, '0', 'L' ) + cSeparator // 08 - Cdigo da Situao Tributria referente a COFINS
   cTrailler := cTrailler + StrFill( RF560->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor do desconto / excluso
   cTrailler := cTrailler + StrFill( RF560->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Base de clculo em quantidade - COFINS
   cTrailler := cTrailler + StrFill( RF560->CAMPO11     , 0008, '0', 'L' ) + cSeparator // 11 - Alquota da COFINS (em reais)
   cTrailler := cTrailler + StrFill( RF560->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RF560->CAMPO13     , 0002, ' ', 'R' ) + cSeparator // 13 - Cdigo do modelo do documento fiscal conforme a Tabela 4.1.1
   cTrailler := cTrailler + StrFill( RF560->CAMPO14     , 0004, '0', 'L' ) + cSeparator // 14 - Cdigo fiscal de operao e prestao
   cTrailler := cTrailler + StrFill( RF560->CAMPO15     , 0060, ' ', 'R' ) + cSeparator // 15 - Cdigo da conta analtica contbil debitada/creditada
   cTrailler := cTrailler + StrFill( RF560->CAMPO16     , 0100, ' ', 'R' ) + cSeparator // 16 - Informao complementar
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF569()
   // *** Estrutura do Registro RF569 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF569->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F569?
   cTrailler := cTrailler + StrFill( RF569->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RF569->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF600()
   // *** Estrutura do Registro RF600 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF600->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F600"
   cTrailler := cTrailler + StrFill( RF600->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Indicador de Natureza da Reteno na Fonte:
   cTrailler := cTrailler + StrFill( RF600->CAMPO03     , 0008, '0', 'L' ) + cSeparator // 03 - Data da Reteno
   cTrailler := cTrailler + StrFill( RF600->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Base de calculo da reteno ou do recolhimento (sociedade cooperativa)
   cTrailler := cTrailler + StrFill( RF600->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor Total Retido na Fonte / Recolhido (sociedade cooperativa)
   cTrailler := cTrailler + StrFill( RF600->CAMPO06     , 0004, ' ', 'R' ) + cSeparator // 06 - Cdigo da Receita
   cTrailler := cTrailler + StrFill( RF600->CAMPO07     , 0001, '0', 'L' ) + cSeparator // 07 - Indicador da Natureza da Receita:
   cTrailler := cTrailler + StrFill( RF600->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - CNPJ referente a:
   cTrailler := cTrailler + StrFill( RF600->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor Retido na Fonte ? Parcela Referente ao PIS/Pasep
   cTrailler := cTrailler + StrFill( RF600->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor Retido na Fonte ? Parcela Referente a COFINS
   cTrailler := cTrailler + StrFill( RF600->CAMPO11     , 0001, '0', 'L' ) + cSeparator // 11 - Indicador da condio da pessoa jurdica declarante:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF700()
   // *** Estrutura do Registro RF700 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF700->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F700"
   cTrailler := cTrailler + StrFill( RF700->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Indicador de Origem de Dedues Diversas:
   cTrailler := cTrailler + StrFill( RF700->CAMPO03     , 0001, '0', 'L' ) + cSeparator // 03 - Indicador da Natureza da Deduo:
   cTrailler := cTrailler + StrFill( RF700->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor a Deduzir - PIS/PASEP
   cTrailler := cTrailler + StrFill( RF700->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor a Deduzir ? Cofins
   cTrailler := cTrailler + StrFill( RF700->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da Base de Clculo da Operao que ensejou o Valor a Deduzir informado nos Campos 04 e 05
   cTrailler := cTrailler + StrFill( RF700->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - CNPJ da Pessoa Jurdica relacionada  Operao que ensejou o Valor a Deduzir informado nos Campos 04
   cTrailler := cTrailler + StrFill( RF700->CAMPO08     , 0090, ' ', 'R' ) + cSeparator // 08 - Informaes Complementares do Documento/Operao que ensejou o Valor a Deduzir informado nos Campos
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF800()
   // *** Estrutura do Registro RF800 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF800->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F800"
   cTrailler := cTrailler + StrFill( RF800->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Indicador da Natureza do Evento de Sucesso:
   cTrailler := cTrailler + StrFill( RF800->CAMPO03     , 0008, '0', 'L' ) + cSeparator // 03 - Data do Evento
   cTrailler := cTrailler + StrFill( RF800->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - CNPJ da Pessoa Jurdica Sucedida
   cTrailler := cTrailler + StrFill( RF800->CAMPO05     , 0006, '0', 'L' ) + cSeparator // 05 - Perodo de Apurao do Crdito ? Ms/Ano (MM/AAAA)
   cTrailler := cTrailler + StrFill( RF800->CAMPO06     , 0003, '0', 'L' ) + cSeparator // 06 - Cdigo do crdito transferido, conforme Tabela 4.3.6
   cTrailler := cTrailler + StrFill( RF800->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor do Crdito Transferido de PIS/Pasep
   cTrailler := cTrailler + StrFill( RF800->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor do Crdito Transferido de Cofins
   cTrailler := cTrailler + StrFill( RF800->CAMPO09     , 0006, '0', 'L' ) + cSeparator // 09 - Percentual do crdito original transferido, no caso de evento de Ciso.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRF990()
   // *** Estrutura do Registro RF990 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RF990->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "F990"
   cTrailler := cTrailler + StrFill( RF990->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Quantidade total de linhas do Bloco F
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRI001()
   // *** Estrutura do Registro RI001 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RI001->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "I001"
   cTrailler := cTrailler + StrFill( RI001->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador de movimento:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRI010()
   // *** Estrutura do Registro RI010 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RI010->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?I010?
   cTrailler := cTrailler + StrFill( RI010->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Nmero de inscrio da pessoa jurdica no CNPJ.
   cTrailler := cTrailler + StrFill( RI010->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Indicador de operaes realizadas no perodo:
   cTrailler := cTrailler + StrFill( RI010->CAMPO04     , 0100, ' ', 'R' ) + cSeparator // 04 - Informao Complementar
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRI100()
   // *** Estrutura do Registro RI100 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RI100->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "I100"
   cTrailler := cTrailler + StrFill( RI100->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Valor Total do Faturamento/Receita Bruta no Perodo
   cTrailler := cTrailler + StrFill( RI100->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Cdigo de Situao Tributria referente  Receita informada no Campo 02 (Tabelas 4.3.3 e 4.3.4)
   cTrailler := cTrailler + StrFill( RI100->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor Total das Dedues e Excluses de Carter Geral
   cTrailler := cTrailler + StrFill( RI100->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor Total das Dedues e Excluses de Carter Especfico
   cTrailler := cTrailler + StrFill( RI100->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da base de clculo do PIS/PASEP
   cTrailler := cTrailler + StrFill( RI100->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RI100->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor do PIS/PASEP
   cTrailler := cTrailler + StrFill( RI100->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor da base de clculo da Cofins
   cTrailler := cTrailler + StrFill( RI100->CAMPO10     , 0008, '0', 'L' ) + cSeparator // 10 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RI100->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor da COFINS
   cTrailler := cTrailler + StrFill( RI100->CAMPO12     , 0100, ' ', 'R' ) + cSeparator // 12 - Informao Complementar dos dados informados no registro
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRI200()
   // *** Estrutura do Registro RI200 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RI200->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "I200"
   cTrailler := cTrailler + StrFill( RI200->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Informar o nmero do campo do registro ?I100? (Campos 02, 04 ou 05), objeto de informao neste regi
   cTrailler := cTrailler + StrFill( RI200->CAMPO03     , 0005, ' ', 'R' ) + cSeparator // 03 - Cdigo do tipo de detalhamento, conforme Tabelas 7.1.1 e/ou 7.1.2
   cTrailler := cTrailler + StrFill( RI200->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor detalhado referente ao campo 03 (COD_DET) deste registro
   cTrailler := cTrailler + StrFill( RI200->CAMPO05     , 0060, ' ', 'R' ) + cSeparator // 05 - Cdigo da conta contbil referente ao valor informado no campo 04 (DET_VALOR)
   cTrailler := cTrailler + StrFill( RI200->CAMPO06     , 0100, ' ', 'R' ) + cSeparator // 06 - Informao Complementar dos dados informados no registro
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRI299()
   // *** Estrutura do Registro RI299 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RI299->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "I299"
   cTrailler := cTrailler + StrFill( RI299->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RI299->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRI300()
   // *** Estrutura do Registro RI300 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RI300->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "I300"
   cTrailler := cTrailler + StrFill( RI300->CAMPO02     , 0060, ' ', 'R' ) + cSeparator // 02 - Cdigo das Tabelas 7.1.3 (Receitas ? Viso Analtica/Referenciada) e/ou 7.1.4 (Dedues e excluses
   cTrailler := cTrailler + StrFill( RI300->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor da receita, deduo ou excluso, objeto de complemento/detalhamento neste registro, conforme c
   cTrailler := cTrailler + StrFill( RI300->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Cdigo da conta contbil referente ao valor informado no campo 03
   cTrailler := cTrailler + StrFill( RI300->CAMPO05     , 0100, ' ', 'R' ) + cSeparator // 05 - Informao Complementar dos dados informados no registro
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRI399()
   // *** Estrutura do Registro RI399 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RI399->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "I399"
   cTrailler := cTrailler + StrFill( RI399->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RI399->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRI990()
   // *** Estrutura do Registro RI990 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RI990->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "I990"
   cTrailler := cTrailler + StrFill( RI990->CAMPO02     , 0009, '0', 'L' ) + cSeparator // 02 - Quantidade total de linhas do Bloco I
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM001()
   // *** Estrutura do Registro RM001 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM001->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M001"
   cTrailler := cTrailler + StrFill( RM001->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador de movimento:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM100()
   // *** Estrutura do Registro RM100 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM100->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M100"
   cTrailler := cTrailler + StrFill( RM100->CAMPO02     , 0003, ' ', 'R' ) + cSeparator // 02 - Cdigo de Tipo de Crdito apurado no perodo, conforme a Tabela 4.3.6.
   cTrailler := cTrailler + StrFill( RM100->CAMPO03     , 0001, '0', 'L' ) + cSeparator // 03 - Indicador de Crdito Oriundo de:
   cTrailler := cTrailler + StrFill( RM100->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor da Base de Clculo do Crdito
   cTrailler := cTrailler + StrFill( RM100->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RM100->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Quantidade ? Base de clculo PIS
   cTrailler := cTrailler + StrFill( RM100->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Alquota do PIS (em reais)
   cTrailler := cTrailler + StrFill( RM100->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor total do crdito apurado no perodo
   cTrailler := cTrailler + StrFill( RM100->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor total dos ajustes de acrscimo
   cTrailler := cTrailler + StrFill( RM100->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor total dos ajustes de reduo
   cTrailler := cTrailler + StrFill( RM100->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor total do crdito diferido no perodo
   cTrailler := cTrailler + StrFill( RM100->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor Total do Crdito Disponvel relativo ao Perodo (08 + 09 ? 10 ? 11)
   cTrailler := cTrailler + StrFill( RM100->CAMPO13     , 0001, ' ', 'R' ) + cSeparator // 13 - Indicador de opo de utilizao do crdito disponvel no perodo:
   cTrailler := cTrailler + StrFill( RM100->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Valor do Crdito disponvel, descontado  da contribuio apurada no prprio perodo.
   cTrailler := cTrailler + StrFill( RM100->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Saldo de crditos a utilizar em perodos futuros (12 ? 14)
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM105()
   // *** Estrutura do Registro RM105 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM105->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M105"
   cTrailler := cTrailler + StrFill( RM105->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo da Base de Clculo do Crdito apurado no perodo, conforme a Tabela 4.3.7.
   cTrailler := cTrailler + StrFill( RM105->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Cdigo da Situao Tributria referente ao crdito de PIS/Pasep (Tabela 4.3.3) vinculado ao tipo de
   cTrailler := cTrailler + StrFill( RM105->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor Total da Base de Clculo escriturada nos documentos e operaes (Blocos ?A?, ?C?, ?D? e ?F?),
   cTrailler := cTrailler + StrFill( RM105->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Parcela do Valor Total da Base de Clculo informada no Campo 04, vinculada a receitas com incidncia
   cTrailler := cTrailler + StrFill( RM105->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor Total da Base de Clculo do Crdito, vinculada a receitas com incidncia no-cumulativa (Campo
   cTrailler := cTrailler + StrFill( RM105->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor da Base de Clculo do Crdito, vinculada ao tipo de Crdito escriturado em M100.
   cTrailler := cTrailler + StrFill( RM105->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Quantidade Total da Base de Clculo do Crdito apurado em Unidade de Medida de Produto, escriturada
   cTrailler := cTrailler + StrFill( RM105->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Parcela da base de clculo do crdito em quantidade (campo 08) vinculada ao tipo de crdito escritur
   cTrailler := cTrailler + StrFill( RM105->CAMPO10     , 0060, ' ', 'R' ) + cSeparator // 10 - Descrio do crdito
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM110()
   // *** Estrutura do Registro RM110 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM110->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M110"
   cTrailler := cTrailler + StrFill( RM110->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador do tipo de ajuste:
   cTrailler := cTrailler + StrFill( RM110->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor do ajuste
   cTrailler := cTrailler + StrFill( RM110->CAMPO04     , 0002, ' ', 'R' ) + cSeparator // 04 - Cdigo do ajuste, conforme a Tabela indicada no item 4.3.8.
   cTrailler := cTrailler + StrFill( RM110->CAMPO05     , 0010, ' ', 'R' ) + cSeparator // 05 - Nmero do processo, documento ou ato concessrio ao qual o ajuste est vinculado, se houver.
   cTrailler := cTrailler + StrFill( RM110->CAMPO06     , 0100, ' ', 'R' ) + cSeparator // 06 - Descrio resumida do ajuste.
   cTrailler := cTrailler + StrFill( RM110->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Data de referncia do ajuste (ddmmaaaa)
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM200()
   // *** Estrutura do Registro RM200 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM200->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M200"
   cTrailler := cTrailler + StrFill( RM200->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Valor Total da Contribuio No Cumulativa do Perodo (recuperado do campo 13 do Registro M210, quan
   cTrailler := cTrailler + StrFill( RM200->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor do Crdito Descontado, Apurado no Prprio Perodo da Escriturao (recuperado do campo 14 do R
   cTrailler := cTrailler + StrFill( RM200->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor do Crdito Descontado, Apurado em Perodo de Apurao Anterior (recuperado do campo 13 do Regi
   cTrailler := cTrailler + StrFill( RM200->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor Total da Contribuio No Cumulativa Devida (02 ? 03 - 04)
   cTrailler := cTrailler + StrFill( RM200->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor Retido na Fonte Deduzido no Perodo
   cTrailler := cTrailler + StrFill( RM200->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Outras Dedues no Perodo
   cTrailler := cTrailler + StrFill( RM200->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor da Contribuio No Cumulativa a Recolher/Pagar (05 ? 06 - 07)
   cTrailler := cTrailler + StrFill( RM200->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor Total da Contribuio Cumulativa do Perodo  (recuperado do campo 13 do Registro M210, quando
   cTrailler := cTrailler + StrFill( RM200->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor Retido na Fonte Deduzido no Perodo
   cTrailler := cTrailler + StrFill( RM200->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Outras Dedues no Perodo
   cTrailler := cTrailler + StrFill( RM200->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor da Contribuio Cumulativa a Recolher/Pagar (09 - 10 ? 11)
   cTrailler := cTrailler + StrFill( RM200->CAMPO13     , 0014, '0', 'L' ) + cSeparator // 13 - Valor Total da Contribuio a Recolher/Pagar no Perodo (08 + 12)
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM210()
   // *** Estrutura do Registro RM210 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM210->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M210"
   cTrailler := cTrailler + StrFill( RM210->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo da contribuio social apurada no perodo, conforme a Tabela 4.3.5.
   cTrailler := cTrailler + StrFill( RM210->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor da Receita Bruta
   cTrailler := cTrailler + StrFill( RM210->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor da Base de Clculo da Contribuio
   cTrailler := cTrailler + StrFill( RM210->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Alquota do PIS/PASEP (em percentual)
   cTrailler := cTrailler + StrFill( RM210->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Quantidade ? Base de clculo PIS
   cTrailler := cTrailler + StrFill( RM210->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Alquota do PIS (em reais)
   cTrailler := cTrailler + StrFill( RM210->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor total da contribuio social apurada
   cTrailler := cTrailler + StrFill( RM210->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor total dos ajustes de acrscimo
   cTrailler := cTrailler + StrFill( RM210->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor total dos ajustes de reduo
   cTrailler := cTrailler + StrFill( RM210->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor da contribuio a diferir no perodo
   cTrailler := cTrailler + StrFill( RM210->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor da contribuio diferida em perodos anteriores
   cTrailler := cTrailler + StrFill( RM210->CAMPO13     , 0014, '0', 'L' ) + cSeparator // 13 - Valor Total da Contribuio do Perodo (08 + 09 ? 10 ? 11+12)
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM211()
   // *** Estrutura do Registro RM211 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM211->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M211"
   cTrailler := cTrailler + StrFill( RM211->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Indicador do Tipo de Sociedade Cooperativa:
   cTrailler := cTrailler + StrFill( RM211->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor da Base de Clculo da Contribuio, conforme Registros escriturados nos Blocos A, C, D e F, an
   cTrailler := cTrailler + StrFill( RM211->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor de Excluso Especifica das Cooperativas em Geral, decorrente das Sobras Apuradas na DRE, desti
   cTrailler := cTrailler + StrFill( RM211->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor das Excluses da Base de Clculo Especifica do Tipo da Sociedade Cooperativa, conforme Campo 0
   cTrailler := cTrailler + StrFill( RM211->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da Base de Clculo, Aps as Excluses Especificas da Sociedade Cooperativa (04 ? 05 ? 06) ? Tr
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM220()
   // *** Estrutura do Registro RM220 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM220->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M220"
   cTrailler := cTrailler + StrFill( RM220->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador do tipo de ajuste:
   cTrailler := cTrailler + StrFill( RM220->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor do ajuste
   cTrailler := cTrailler + StrFill( RM220->CAMPO04     , 0002, ' ', 'R' ) + cSeparator // 04 - Cdigo do ajuste, conforme a Tabela indicada no item 4.3.8.
   cTrailler := cTrailler + StrFill( RM220->CAMPO05     , 0010, ' ', 'R' ) + cSeparator // 05 - Nmero do processo, documento ou ato concessrio ao qual o ajuste est vinculado, se houver.
   cTrailler := cTrailler + StrFill( RM220->CAMPO06     , 0100, ' ', 'R' ) + cSeparator // 06 - Descrio resumida do ajuste.
   cTrailler := cTrailler + StrFill( RM220->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Data de referncia do ajuste (ddmmaaaa)
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM230()
   // *** Estrutura do Registro RM230 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM230->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M230"
   cTrailler := cTrailler + StrFill( RM230->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - CNPJ da pessoa jurdica de direito pblico, empresa pblica, sociedade de economia mista ou suas sub
   cTrailler := cTrailler + StrFill( RM230->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor Total das vendas no perodo
   cTrailler := cTrailler + StrFill( RM230->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor Total no recebido no perodo
   cTrailler := cTrailler + StrFill( RM230->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor da Contribuio diferida no perodo
   cTrailler := cTrailler + StrFill( RM230->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor do Crdito diferido no perodo
   cTrailler := cTrailler + StrFill( RM230->CAMPO07     , 0003, ' ', 'R' ) + cSeparator // 07 - Cdigo de Tipo de Crdito diferido no perodo, conforme a Tabela 4.3.6.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM300()
   // *** Estrutura do Registro RM300 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM300->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M300"
   cTrailler := cTrailler + StrFill( RM300->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo da contribuio social diferida em perodos anteriores, conforme a Tabela 4.3.5.
   cTrailler := cTrailler + StrFill( RM300->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor da Contribuio Apurada, diferida em perodos anteriores.
   cTrailler := cTrailler + StrFill( RM300->CAMPO04     , 0002, ' ', 'R' ) + cSeparator // 04 - Natureza do Crdito Diferido, vinculado  receita tributada no mercado interno, a descontar:
   cTrailler := cTrailler + StrFill( RM300->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor do Crdito a Descontar vinculado  contribuio diferida.
   cTrailler := cTrailler + StrFill( RM300->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da Contribuio a Recolher, diferida em perodos anteriores (Campo 03 ? Campo 05)
   cTrailler := cTrailler + StrFill( RM300->CAMPO07     , 0006, '0', 'L' ) + cSeparator // 07 - Perodo de apurao da contribuio social e dos crditos diferidos (MMAAAA)
   cTrailler := cTrailler + StrFill( RM300->CAMPO08     , 0008, '0', 'L' ) + cSeparator // 08 - Data de recebimento da receita, objeto de diferimento
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM350()
   // *** Estrutura do Registro RM350 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM350->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M350"
   cTrailler := cTrailler + StrFill( RM350->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Valor Total da Folha de Salrios
   cTrailler := cTrailler + StrFill( RM350->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor Total das Excluses  Base de Clculo
   cTrailler := cTrailler + StrFill( RM350->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor Total da Base de Clculo
   cTrailler := cTrailler + StrFill( RM350->CAMPO05     , 0006, '0', 'L' ) + cSeparator // 05 - Alquota do PIS/PASEP ? Folha de Salrios
   cTrailler := cTrailler + StrFill( RM350->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor Total da Contribuio Social sobre a Folha de Salrios
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM400()
   // *** Estrutura do Registro RM400 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM400->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M400?
   cTrailler := cTrailler + StrFill( RM400->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo de Situao Tributria ? CST das demais receitas auferidas no perodo, sem incidncia da cont
   cTrailler := cTrailler + StrFill( RM400->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total da receita bruta no perodo.
   cTrailler := cTrailler + StrFill( RM400->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Cdigo da conta analtica contbil debitada/creditada.
   cTrailler := cTrailler + StrFill( RM400->CAMPO05     , 0100, ' ', 'R' ) + cSeparator // 05 - Descrio Complementar da Natureza da Receita.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM410()
   // *** Estrutura do Registro RM410 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM410->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M410?
   cTrailler := cTrailler + StrFill( RM410->CAMPO02     , 0003, ' ', 'R' ) + cSeparator // 02 - Natureza da Receita, conforme relao constante nas Tabelas de Detalhamento da Natureza da Receita p
   cTrailler := cTrailler + StrFill( RM410->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor da receita bruta no perodo, relativo a natureza da receita (NAT_REC)
   cTrailler := cTrailler + StrFill( RM410->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Cdigo da conta analtica contbil debitada/creditada.
   cTrailler := cTrailler + StrFill( RM410->CAMPO05     , 0100, ' ', 'R' ) + cSeparator // 05 - Descrio Complementar da Natureza da Receita.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM500()
   // *** Estrutura do Registro RM500 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM500->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M500"
   cTrailler := cTrailler + StrFill( RM500->CAMPO02     , 0003, ' ', 'R' ) + cSeparator // 02 - Cdigo de Tipo de Crdito apurado no perodo, conforme a Tabela 4.3.6.
   cTrailler := cTrailler + StrFill( RM500->CAMPO03     , 0001, '0', 'L' ) + cSeparator // 03 - Indicador de Crdito Oriundo de:
   cTrailler := cTrailler + StrFill( RM500->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor da Base de Clculo do Crdito
   cTrailler := cTrailler + StrFill( RM500->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Alquota da COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RM500->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Quantidade ? Base de clculo COFINS
   cTrailler := cTrailler + StrFill( RM500->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Alquota da COFINS (em reais)
   cTrailler := cTrailler + StrFill( RM500->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor total do crdito apurado no perodo
   cTrailler := cTrailler + StrFill( RM500->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor total dos ajustes de acrscimo
   cTrailler := cTrailler + StrFill( RM500->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor total dos ajustes de reduo
   cTrailler := cTrailler + StrFill( RM500->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor total do crdito diferido no perodo
   cTrailler := cTrailler + StrFill( RM500->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor Total do Crdito Disponvel relativo ao Perodo (08 + 09 ? 10 ? 11)
   cTrailler := cTrailler + StrFill( RM500->CAMPO13     , 0001, ' ', 'R' ) + cSeparator // 13 - Indicador de utilizao do crdito disponvel no perodo:
   cTrailler := cTrailler + StrFill( RM500->CAMPO14     , 0014, '0', 'L' ) + cSeparator // 14 - Valor do Crdito disponvel, descontado da contribuio apurada no prprio perodo.
   cTrailler := cTrailler + StrFill( RM500->CAMPO15     , 0014, '0', 'L' ) + cSeparator // 15 - Saldo de crditos a utilizar em perodos futuros (12 ? 14)
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM505()
   // *** Estrutura do Registro RM505 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM505->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M505"
   cTrailler := cTrailler + StrFill( RM505->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo da Base de Clculo do Crdito apurado no perodo, conforme a Tabela 4.3.7.
   cTrailler := cTrailler + StrFill( RM505->CAMPO03     , 0002, '0', 'L' ) + cSeparator // 03 - Cdigo da Situao Tributria referente ao crdito de COFINS (Tabela 4.3.4) vinculado ao tipo de cr
   cTrailler := cTrailler + StrFill( RM505->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor Total da Base de Clculo escriturada nos documentos e operaes (Blocos ?A?, ?C?, ?D? e ?F?),
   cTrailler := cTrailler + StrFill( RM505->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Parcela do Valor Total da Base de Clculo informada no Campo 04, vinculada a receitas com incidncia
   cTrailler := cTrailler + StrFill( RM505->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor Total da Base de Clculo do Crdito, vinculada a receitas com incidncia no-cumulativa (Campo
   cTrailler := cTrailler + StrFill( RM505->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor da Base de Clculo do Crdito, vinculada ao tipo de Crdito escriturado em M500.
   cTrailler := cTrailler + StrFill( RM505->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Quantidade Total da Base de Clculo do Crdito apurado em Unidade de Medida de Produto, escriturada
   cTrailler := cTrailler + StrFill( RM505->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Parcela da base de clculo do crdito em quantidade (campo 08) vinculada ao tipo de crdito escritur
   cTrailler := cTrailler + StrFill( RM505->CAMPO10     , 0060, ' ', 'R' ) + cSeparator // 10 - Descrio do crdito
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM510()
   // *** Estrutura do Registro RM510 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM510->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M510"
   cTrailler := cTrailler + StrFill( RM510->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador do tipo de ajuste:
   cTrailler := cTrailler + StrFill( RM510->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor do ajuste
   cTrailler := cTrailler + StrFill( RM510->CAMPO04     , 0002, ' ', 'R' ) + cSeparator // 04 - Cdigo do ajuste, conforme a Tabela indicada no item 4.3.8.
   cTrailler := cTrailler + StrFill( RM510->CAMPO05     , 0010, ' ', 'R' ) + cSeparator // 05 - Nmero do processo, documento ou ato concessrio ao qual o ajuste est vinculado, se houver.
   cTrailler := cTrailler + StrFill( RM510->CAMPO06     , 0100, ' ', 'R' ) + cSeparator // 06 - Descrio resumida do ajuste.
   cTrailler := cTrailler + StrFill( RM510->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Data de referncia do ajuste (ddmmaaaa)
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM600()
   // *** Estrutura do Registro RM600 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM600->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M600"
   cTrailler := cTrailler + StrFill( RM600->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Valor Total da Contribuio No Cumulativa do Perodo (recuperado do campo 13 do Registro M610, quan
   cTrailler := cTrailler + StrFill( RM600->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor do Crdito Descontado, Apurado no Prprio Perodo da Escriturao (recuperado do campo 14 do R
   cTrailler := cTrailler + StrFill( RM600->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor do Crdito Descontado, Apurado em Perodo de Apurao Anterior (recuperado do campo 13 do Regi
   cTrailler := cTrailler + StrFill( RM600->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor Total da Contribuio No Cumulativa Devida (02 - 03 - 04)
   cTrailler := cTrailler + StrFill( RM600->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor Retido na Fonte Deduzido no Perodo
   cTrailler := cTrailler + StrFill( RM600->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Outras Dedues no Perodo
   cTrailler := cTrailler + StrFill( RM600->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor da Contribuio No Cumulativa a Recolher/Pagar (05 - 06 - 07)
   cTrailler := cTrailler + StrFill( RM600->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor Total da Contribuio Cumulativa do Perodo (recuperado do campo 13 do Registro M610, quando o
   cTrailler := cTrailler + StrFill( RM600->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor Retido na Fonte Deduzido no Perodo
   cTrailler := cTrailler + StrFill( RM600->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Outras Dedues no Perodo
   cTrailler := cTrailler + StrFill( RM600->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor da Contribuio Cumulativa a Recolher/Pagar (09 - 10 - 11)
   cTrailler := cTrailler + StrFill( RM600->CAMPO13     , 0014, '0', 'L' ) + cSeparator // 13 - Valor Total da Contribuio a Recolher/Pagar no Perodo (08 + 12)
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM610()
   // *** Estrutura do Registro RM610 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM610->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M610"
   cTrailler := cTrailler + StrFill( RM610->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo da contribuio social apurada no perodo, conforme a Tabela 4.3.5.
   cTrailler := cTrailler + StrFill( RM610->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor da Receita Bruta
   cTrailler := cTrailler + StrFill( RM610->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor da Base de Clculo da Contribuio
   cTrailler := cTrailler + StrFill( RM610->CAMPO05     , 0008, '0', 'L' ) + cSeparator // 05 - Alquota do COFINS (em percentual)
   cTrailler := cTrailler + StrFill( RM610->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Quantidade ? Base de clculo COFINS
   cTrailler := cTrailler + StrFill( RM610->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Alquota do COFINS (em reais)
   cTrailler := cTrailler + StrFill( RM610->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor total da contribuio social apurada
   cTrailler := cTrailler + StrFill( RM610->CAMPO09     , 0014, '0', 'L' ) + cSeparator // 09 - Valor total dos ajustes de acrscimo
   cTrailler := cTrailler + StrFill( RM610->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor total dos ajustes de reduo
   cTrailler := cTrailler + StrFill( RM610->CAMPO11     , 0014, '0', 'L' ) + cSeparator // 11 - Valor da contribuio a diferir no perodo
   cTrailler := cTrailler + StrFill( RM610->CAMPO12     , 0014, '0', 'L' ) + cSeparator // 12 - Valor da contribuio diferida em perodos anteriores
   cTrailler := cTrailler + StrFill( RM610->CAMPO13     , 0014, '0', 'L' ) + cSeparator // 13 - Valor Total da Contribuio do Perodo (08 + 09 ? 10 ? 11 +12)
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM611()
   // *** Estrutura do Registro RM611 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM611->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M611"
   cTrailler := cTrailler + StrFill( RM611->CAMPO02     , 0002, '0', 'L' ) + cSeparator // 02 - Indicador do Tipo de Sociedade Cooperativa:
   cTrailler := cTrailler + StrFill( RM611->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor da Base de Clculo da Contribuio, conforme Registros escriturados nos Blocos A, C, D e F, an
   cTrailler := cTrailler + StrFill( RM611->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor de Excluso Especifica das Cooperativas em Geral, decorrente das Sobras Apuradas na DRE, desti
   cTrailler := cTrailler + StrFill( RM611->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor das Excluses da Base de Clculo Especifica do Tipo da Sociedade Cooperativa, conforme Campo 0
   cTrailler := cTrailler + StrFill( RM611->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da Base de Clculo, Aps as Excluses Especificas da Sociedade Cooperativa (04 ? 05 ? 06) ? Tr
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM620()
   // *** Estrutura do Registro RM620 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM620->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M620"
   cTrailler := cTrailler + StrFill( RM620->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador do tipo de ajuste:
   cTrailler := cTrailler + StrFill( RM620->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor do ajuste
   cTrailler := cTrailler + StrFill( RM620->CAMPO04     , 0002, ' ', 'R' ) + cSeparator // 04 - Cdigo do ajuste, conforme a Tabela indicada no item 4.3.8.
   cTrailler := cTrailler + StrFill( RM620->CAMPO05     , 0010, ' ', 'R' ) + cSeparator // 05 - Nmero do processo, documento ou ato concessrio ao qual o ajuste est vinculado, se houver.
   cTrailler := cTrailler + StrFill( RM620->CAMPO06     , 0100, ' ', 'R' ) + cSeparator // 06 - Descrio resumida do ajuste.
   cTrailler := cTrailler + StrFill( RM620->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Data de referncia do ajuste (ddmmaaaa)
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM630()
   // *** Estrutura do Registro RM630 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM630->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M630"
   cTrailler := cTrailler + StrFill( RM630->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - CNPJ da pessoa jurdica de direito pblico, empresa pblica, sociedade de economia mista ou suas sub
   cTrailler := cTrailler + StrFill( RM630->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor Total das vendas no perodo
   cTrailler := cTrailler + StrFill( RM630->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor Total no recebido no perodo
   cTrailler := cTrailler + StrFill( RM630->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor da Contribuio diferida no perodo
   cTrailler := cTrailler + StrFill( RM630->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor do Crdito diferido no perodo
   cTrailler := cTrailler + StrFill( RM630->CAMPO07     , 0003, ' ', 'R' ) + cSeparator // 07 - Cdigo de Tipo de Crdito diferido no perodo, conforme a Tabela 4.3.6.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM700()
   // *** Estrutura do Registro RM700 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM700->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M700"
   cTrailler := cTrailler + StrFill( RM700->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo da contribuio social diferida em perodos anteriores, conforme a Tabela 4.3.5.
   cTrailler := cTrailler + StrFill( RM700->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor da Contribuio Apurada, diferida em perodos anteriores.
   cTrailler := cTrailler + StrFill( RM700->CAMPO04     , 0002, ' ', 'R' ) + cSeparator // 04 - Natureza do Crdito Diferido, vinculado  receita tributada no mercado interno, a descontar:
   cTrailler := cTrailler + StrFill( RM700->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor do Crdito a Descontar vinculado  contribuio diferida.
   cTrailler := cTrailler + StrFill( RM700->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da Contribuio a Recolher, diferida em perodos anteriores (Campo 03 ? Campo 05)
   cTrailler := cTrailler + StrFill( RM700->CAMPO07     , 0006, '0', 'L' ) + cSeparator // 07 - Perodo de apurao da contribuio social e dos crditos diferidos (MMAAAA).
   cTrailler := cTrailler + StrFill( RM700->CAMPO08     , 0008, '0', 'L' ) + cSeparator // 08 - Data de recebimento da receita, objeto de diferimento.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM800()
   // *** Estrutura do Registro RM800 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM800->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M800?
   cTrailler := cTrailler + StrFill( RM800->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Cdigo de Situao Tributria ? CST das demais receitas auferidas no perodo, sem incidncia da cont
   cTrailler := cTrailler + StrFill( RM800->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total da receita bruta no perodo.
   cTrailler := cTrailler + StrFill( RM800->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Cdigo da conta analtica contbil debitada/creditada.
   cTrailler := cTrailler + StrFill( RM800->CAMPO05     , 0100, ' ', 'R' ) + cSeparator // 05 - Descrio Complementar da Natureza da Receita.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM810()
   // *** Estrutura do Registro RM810 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM810->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M810?
   cTrailler := cTrailler + StrFill( RM810->CAMPO02     , 0003, ' ', 'R' ) + cSeparator // 02 - Natureza da Receita, conforme relao constante nas Tabelas de Detalhamento da Natureza da Receita p
   cTrailler := cTrailler + StrFill( RM810->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor da receita bruta no perodo, relativo a natureza da receita (NAT_REC)
   cTrailler := cTrailler + StrFill( RM810->CAMPO04     , 0060, ' ', 'R' ) + cSeparator // 04 - Cdigo da conta analtica contbil debitada/creditada.
   cTrailler := cTrailler + StrFill( RM810->CAMPO05     , 0100, ' ', 'R' ) + cSeparator // 05 - Descrio Complementar da Natureza da Receita.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRM990()
   // *** Estrutura do Registro RM990 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RM990->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "M990"
   cTrailler := cTrailler + StrFill( RM990->CAMPO02     , 0004, '0', 'L' ) + cSeparator // 02 - Quantidade total de linhas do Bloco M
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRP001()
   // *** Estrutura do Registro RP001 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RP001->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "P001"
   cTrailler := cTrailler + StrFill( RP001->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador de movimento:
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRP010()
   // *** Estrutura do Registro RP010 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RP010->CAMPO01     , 0014, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo ?P010?
   cTrailler := cTrailler + StrFill( RP010->CAMPO02     , 0014, '0', 'L' ) + cSeparator // 02 - Nmero de inscrio do estabelecimento no CNPJ.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRP100()
   // *** Estrutura do Registro RP100 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RP100->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "P100"
   cTrailler := cTrailler + StrFill( RP100->CAMPO02     , 0008, ' ', 'R' ) + cSeparator // 02 - Data inicial a que a apurao se refere
   cTrailler := cTrailler + StrFill( RP100->CAMPO03     , 0008, ' ', 'R' ) + cSeparator // 03 - Data final a que a apurao se refere
   cTrailler := cTrailler + StrFill( RP100->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor da Receita Bruta Total do Estabelecimento no Perodo
   cTrailler := cTrailler + StrFill( RP100->CAMPO05     , 0008, ' ', 'R' ) + cSeparator // 05 - Cdigo indicador de atividade sujeita a incidncia da Contribuio Previdenciria sobre a Receita Br
   cTrailler := cTrailler + StrFill( RP100->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor da Receita Bruta do Estabelecimento, correspondente s atividades referidas no Campo 05 (COD_A
   cTrailler := cTrailler + StrFill( RP100->CAMPO07     , 0014, '0', 'L' ) + cSeparator // 07 - Valor das Excluses da Receita Bruta informada no Campo 06
   cTrailler := cTrailler + StrFill( RP100->CAMPO08     , 0014, '0', 'L' ) + cSeparator // 08 - Valor da Base de Clculo da Contribuio Previdenciria sobre a Receita Bruta (Campo 08 = Campo 06 ?
   cTrailler := cTrailler + StrFill( RP100->CAMPO09     , 0008, '0', 'L' ) + cSeparator // 09 - Alquota da Contribuio Previdenciria sobre a Receita Bruta
   cTrailler := cTrailler + StrFill( RP100->CAMPO10     , 0014, '0', 'L' ) + cSeparator // 10 - Valor da Contribuio Previdenciria Apurada sobre a Receita Bruta
   cTrailler := cTrailler + StrFill( RP100->CAMPO11     , 0060, ' ', 'R' ) + cSeparator // 11 - Cdigo da conta analtica contbil referente  Contribuio Previdenciria sobre a Receita Bruta
   cTrailler := cTrailler + StrFill( RP100->CAMPO12     , 0100, ' ', 'R' ) + cSeparator // 12 - Informao complementar do registro
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRP110()
   // *** Estrutura do Registro RP110 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RP110->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "P110"
   cTrailler := cTrailler + StrFill( RP110->CAMPO02     , 0002, ' ', 'R' ) + cSeparator // 02 - Informar o nmero do campo do registro ?P100?, objeto de detalhamento neste registro.
   cTrailler := cTrailler + StrFill( RP110->CAMPO03     , 0008, ' ', 'R' ) + cSeparator // 03 - Cdigo do tipo de detalhamento, conforme Tabela 5.1.2
   cTrailler := cTrailler + StrFill( RP110->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor detalhado referente ao campo 02 deste registro
   cTrailler := cTrailler + StrFill( RP110->CAMPO05     , 0100, ' ', 'R' ) + cSeparator // 05 - Informao complementar do detalhamento.
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRP199()
   // *** Estrutura do Registro RP199 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RP199->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "P199"
   cTrailler := cTrailler + StrFill( RP199->CAMPO02     , 0020, ' ', 'R' ) + cSeparator // 02 - Identificao do processo ou ato concessrio
   cTrailler := cTrailler + StrFill( RP199->CAMPO03     , 0001, ' ', 'R' ) + cSeparator // 03 - Indicador da origem do processo: 1 - Justia Federal; 3 ? Secretaria da Receita Federal do Brasil 9
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRP200()
   // *** Estrutura do Registro RP200 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RP200->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "P200"
   cTrailler := cTrailler + StrFill( RP200->CAMPO02     , 0006, '0', 'L' ) + cSeparator // 02 - Perodo de referencia da escriturao (MMAAAA)
   cTrailler := cTrailler + StrFill( RP200->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor total apurado Contribuio Previdenciria sobre Receita Bruta (Somatrio Campo 10 ?VL_CONT_APU
   cTrailler := cTrailler + StrFill( RP200->CAMPO04     , 0014, '0', 'L' ) + cSeparator // 04 - Valor total de ?Ajustes de reduo? (Registro P210, Campo 03, quando Campo 02 = ?0?)
   cTrailler := cTrailler + StrFill( RP200->CAMPO05     , 0014, '0', 'L' ) + cSeparator // 05 - Valor total de ?Ajustes de acrscimo? (Registro P210, Campo 03, quando Campo 02 = ?1?)
   cTrailler := cTrailler + StrFill( RP200->CAMPO06     , 0014, '0', 'L' ) + cSeparator // 06 - Valor total da Contribuio Previdenciria sobre a Receita Bruta a recolher (Campo 03 ? Campo 04 + C
   cTrailler := cTrailler + StrFill( RP200->CAMPO07     , 0006, ' ', 'R' ) + cSeparator // 07 - Cdigo de Receita referente  Contribuio Previdenciria, conforme informado em DCTF
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRP210()
   // *** Estrutura do Registro RP210 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RP210->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "P210"
   cTrailler := cTrailler + StrFill( RP210->CAMPO02     , 0001, ' ', 'R' ) + cSeparator // 02 - Indicador do tipo de ajuste:
   cTrailler := cTrailler + StrFill( RP210->CAMPO03     , 0014, '0', 'L' ) + cSeparator // 03 - Valor do ajuste
   cTrailler := cTrailler + StrFill( RP210->CAMPO04     , 0002, ' ', 'R' ) + cSeparator // 04 - Cdigo do ajuste, conforme a Tabela indicada no item 4.3.8.
   cTrailler := cTrailler + StrFill( RP210->CAMPO05     , 0010, ' ', 'R' ) + cSeparator // 05 - Nmero do processo, documento ou ato concessrio ao qual o ajuste est vinculado, se houver.
   cTrailler := cTrailler + StrFill( RP210->CAMPO06     , 0100, ' ', 'R' ) + cSeparator // 06 - Descrio resumida do ajuste.
   cTrailler := cTrailler + StrFill( RP210->CAMPO07     , 0008, '0', 'L' ) + cSeparator // 07 - Data de referncia do ajuste (ddmmaaaa)
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler

FUNCTION PISCORegistroRP990()
   // *** Estrutura do Registro RP990 ***
   LOCAL cCRLF := chr(13)+chr(10), cSeparator := '|'
   cTrailler := cSeparator
   cTrailler := cTrailler + StrFill( RP990->CAMPO01     , 0004, ' ', 'R' ) + cSeparator // 01 - Texto fixo contendo "P990"
   cTrailler := cTrailler + StrFill( RP990->CAMPO02     , 0005, '0', 'L' ) + cSeparator // 02 - Quantidade total de linhas do Bloco P
   cTrailler := cTrailler + cCRLF
   RETURN cTrailler
