Mudanças entre as edições de "Estrutura de Classes"

De Wiki do Leitão
Ir para: navegação, pesquisa
Linha 7: Linha 7:




= SPEDFiscalXXX e SPEDContribXXX =
= SPEDRegister =


As classes '''SPEDFiscalFile''' e '''SPEDContribFile''' são compostas por uma estrutura de classes com os prefixos '''SPEDFiscal''' e '''SPEDContrib''', respectivamente, seguidos do nome do registro correpondente.
Esta classe abstrata representa um registro de qualquer um dos SPED e tem as segintes métodos:
* '''writeFileRegister()''' que é capaz de escrever o conteúdo do registro e de seus filhos recursivamente no formato do arquivo do SPED;
* '''countRegister()''' que retorna o total de registros que é gerado por este registro e seus registros filhos;
 
 
Além disso, é importante entender as seguintes características dessa classe para entender seu funcionamento:
* os atributos das classes filhas devem começar com o prefixo rXX_ onde XX é o número da ordem do atributo, pois esse prefixo é utilizado para ordernar os valores dos atributos no momento de escrever o arquivo final;
* o primeiro registro já é definido na classe pai pelo método abstrato '''get01_Register()''', que deve ser sobrescrito pela classe filha e retornar o nome código do registro (que, por via de regra, deve ser o sufixo da classe);
* os atributos devem receber a annotation '''SPEDField''' que permite definir o tipo do dado que é esperado pelo campo do SPED, permitindo que os valores já sejam validados de forma genérica pelo módulo.
 
 
== SPEDFiscalXXX e SPEDContribXXX ==
 
As classes '''SPEDFiscalFile''' e '''SPEDContribFile''' são compostas por uma estrutura de classes que extendem '''SPEDRegister'''. Essas classes mantêm os prefixos '''SPEDFiscal''' e '''SPEDContrib''' seguidos do nome do registro correpondente.


:Por exemplo: '''SPEDFiscalC800''' representa o registro C800 do arquivo do SPED Fiscal.
:Por exemplo: '''SPEDFiscalC800''' representa o registro C800 do arquivo do SPED Fiscal.


Dentro desta classe há a estrutura para receber os valores dos campos desse registro do SPED, além de uma lista, hash ou referência para eventuais registros filhos que o registro possa ter.
Dentro de cada casse que representa um registro existem atributos para receber os valores dos campos desse registro, além de uma lista, hash ou referência para eventuais registros filhos que o registro possa ter.

Edição das 20h50min de 24 de outubro de 2024

SPEDFiscalFile e SPEDContribFile

As classes SPEDFiscalFile e SPEDContribFile são a base da escrutura do arquivo de SPED Fiscal e SPED Contribuições.


Para começar a montar um arquivo de SPED é necessário instanciar um desses objetos.


SPEDRegister

Esta classe abstrata representa um registro de qualquer um dos SPED e tem as segintes métodos:

  • writeFileRegister() que é capaz de escrever o conteúdo do registro e de seus filhos recursivamente no formato do arquivo do SPED;
  • countRegister() que retorna o total de registros que é gerado por este registro e seus registros filhos;


Além disso, é importante entender as seguintes características dessa classe para entender seu funcionamento:

  • os atributos das classes filhas devem começar com o prefixo rXX_ onde XX é o número da ordem do atributo, pois esse prefixo é utilizado para ordernar os valores dos atributos no momento de escrever o arquivo final;
  • o primeiro registro já é definido na classe pai pelo método abstrato get01_Register(), que deve ser sobrescrito pela classe filha e retornar o nome código do registro (que, por via de regra, deve ser o sufixo da classe);
  • os atributos devem receber a annotation SPEDField que permite definir o tipo do dado que é esperado pelo campo do SPED, permitindo que os valores já sejam validados de forma genérica pelo módulo.


SPEDFiscalXXX e SPEDContribXXX

As classes SPEDFiscalFile e SPEDContribFile são compostas por uma estrutura de classes que extendem SPEDRegister. Essas classes mantêm os prefixos SPEDFiscal e SPEDContrib seguidos do nome do registro correpondente.

Por exemplo: SPEDFiscalC800 representa o registro C800 do arquivo do SPED Fiscal.

Dentro de cada casse que representa um registro existem atributos para receber os valores dos campos desse registro, além de uma lista, hash ou referência para eventuais registros filhos que o registro possa ter.