Ir para conteúdo
  • Cadastre-se

dev botao

ACBrSPEDPisCofins - Exemplo e testes no componente


  • Este tópico foi criado há 4522 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia pessoal, começei a fazer um projeto de exemplo do ACBrSPEDPisCofins com base no exemplo do Fiscal...os registros que estou colocando no arquivo são com base na obrigatoriedade de blocos que estou desenvolvendo aqui na empresa.

Logo vou postar o projeto aqui e ai quem puder e quizer fazer testes para ver se o arquivo valida será muito util no ajuste de possíveis erros que terão que ser corrigidos nos componentes.

Vamos passar a usar esse tópico para postar os testes e correções, pois o outro tópico ja ficou grande e de defícil localização das soluções!!!

Abraço

Link para o comentário
Compartilhar em outros sites

  • Respostas 74
  • Created
  • Última resposta

Top Posters In This Topic

Bom dia pessoal, começei a fazer um projeto de exemplo do ACBrSPEDPisCofins com base no exemplo do Fiscal...os registros que estou colocando no arquivo são com base na obrigatoriedade de blocos que estou desenvolvendo aqui na empresa.

Logo vou postar o projeto aqui e ai quem puder e quizer fazer testes para ver se o arquivo valida será muito util no ajuste de possíveis erros que terão que ser corrigidos nos componentes.

Vamos passar a usar esse tópico para postar os testes e correções, pois o outro tópico ja ficou grande e de defícil localização das soluções!!!

Abraço

Opa "Pavoro", valeu Fernando, no portal do SPED no link http://www1.receita.fazenda.gov.br/sped-fiscal-pis-cofins/exemplos-de-arquivos.htm, temos o exemplo do arquivo montado.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

Bom pessoal,

Não testei o Exemplo, estou meio corrido aqui e não poderei fazer os testes, mais já criei uma boa direção no exemplo.

Agora é só baixar o exemplo e testar.

Isaque, tive que fazer uma modificação no ACBrSpedPisCofins.pas para poder compilar o bloco A.

ACBrSpedPisCofins.rar

Exemplo.rar

Abraço

Link para o comentário
Compartilhar em outros sites

Bom dia a todos !

Eu estou desenvolvendo SPED Pis/Cofins ...

Ainda tenho dúvidas sobre o Bloco M, se tiver alguém mais avançado no processo, e puder postar algumas dicas eu Agradeço.

O que sei sobre o Bloco M é que existem registros que ele gera automático se eu não enviar nada no Bloco M, ele irá gerar

automaticamente quando eu mandar o PVA apurar ?

Abraço

Link para o comentário
Compartilhar em outros sites

Bom pessoal,

Não testei o Exemplo, estou meio corrido aqui e não poderei fazer os testes, mais já criei uma boa direção no exemplo.

Agora é só baixar o exemplo e testar.

Isaque, tive que fazer uma modificação no ACBrSpedPisCofins.pas para poder compilar o bloco A.

[attachment=1]ACBrSpedPisCofins.rar[/attachment]

[attachment=0]Exemplo.rar[/attachment]

Abraço

Blz, to subindo os fontes.

Abs

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

Pessoal, ignorem minha mensagem anterior. Baixei pelo SVN normal.

Encontrei uma bobagem ao compilar o exemplo, que foi a função "ACBrSPEDPisCofins1.WriteBloco_A" que não tem mais o parâmetro, comentei o parâmetro e compilou normal. Vou iniciar testes de validação dos arquivos. Qualquer novidade vou postando aqui no grupo.

Rubens Moraes

Link para o comentário
Compartilhar em outros sites

Rubens esse parametro no bloco A eu criei no ACBrSpedPisCofins.rar... precisa ver se o isaque subiu o arquivo...

mais estava feito.

Abraço

hehehe, subi o Demo, esqueci do ajuste. Ta la.

Abs

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

Boa tarde galera!

Percebi que está faltando alguns registros, são eles:

Bloco 0

registros: 0111, 0205, 0206, 0208, 0400, 0450, 0500, 0600

Estou implementando junto a minha base de dados para poder gerar registros mais confiáveis antes de tentar validar, outras novidades estarei postando.

Qualquer sugestão é só falar.

Forte abraço,

Rubens Moraes

Link para o comentário
Compartilhar em outros sites

Boa tarde @rubens moraes santos

Este registros estão na classe do SPED Pis/Cofins.

Se está seguindo o modelo do Exemplo do SPED Pis/Cofins. provalmente não deve estar mesmo.

porque é um Exemplo de como usar as classes, é só seguir o modelo para os demais registro que

queira enviar.

Só atentar quando a hierarquia.

Abraço.

Link para o comentário
Compartilhar em outros sites

Pessoal,

Uma pequena correção no ACBrEPCBloco_0_Class.

No registro "0000" (método: WriteRegistro0000) está faltando o campo 8 (NOME). Fica assim:

Add( LFill( '0000' ) +

LFill( strCOD_VER ) +

LFill( strTIPO_ESCRIT ) +

LFill( strIND_SIT_ESP ) +

LFill( NUM_REC_ANTERIOR, 41 ) +

LFill( DT_INI ) +

LFill( DT_FIN ) +

LFill( NOME ) +

LFill( CNPJ ) +

LFill( UF ) +

LFill( COD_MUN, 7 ) +

LFill( SUFRAMA, 9 ) +

LFill( strIND_NAT_PJ ) +

LFill( strIND_ATIV ) );

///

Registro0990.QTD_LIN_0 := Registro0990.QTD_LIN_0 + 1;

OBS: fiz teste com a última revisão.

WRMedeiros

Focus

Link para o comentário
Compartilhar em outros sites

Pessoal,

Uma pequena correção no ACBrEPCBloco_0_Class.

No registro "0000" (método: WriteRegistro0000) está faltando o campo 8 (NOME). Fica assim:

Add( LFill( '0000' ) +

LFill( strCOD_VER ) +

LFill( strTIPO_ESCRIT ) +

LFill( strIND_SIT_ESP ) +

LFill( NUM_REC_ANTERIOR, 41 ) +

LFill( DT_INI ) +

LFill( DT_FIN ) +

LFill( NOME ) +

LFill( CNPJ ) +

LFill( UF ) +

LFill( COD_MUN, 7 ) +

LFill( SUFRAMA, 9 ) +

LFill( strIND_NAT_PJ ) +

LFill( strIND_ATIV ) );

///

Registro0990.QTD_LIN_0 := Registro0990.QTD_LIN_0 + 1;

OBS: fiz teste com a última revisão.

Valeu, já subi.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

Bom dia, Pessoal

Comecei a fazer alguns testes no componente que está no svn e está acontecendo um erro de Access Violation ao tentar preencher o Registro0111.

Eu faço um Registro0111New e abre normalmente mas assim que vou tentar preencher o primeiro campo acontece o erro de Access Violation. Não consegui identificar o erro, mas estou fazendo os testes para identificá-lo.

Se alguém conseguir identificar, melhor ainda.

Até Mais.

Link para o comentário
Compartilhar em outros sites

Rodrigo,

Quem está a frente desse projeto aqui na empresa é um outro programador... e ele está EXATAMENTE nesse registro.

Eu fiz uma análise rápida e percebi o seguinte:

0111 é FILHO do 0110 (nível hierárquico 3 e 2 respectivamente)

No exemplo do ACBr não tem esse registro... e nos testes feito por aqui também ocorreu um AV.

Continuo analisando...

WRMedeiros

Focus

Link para o comentário
Compartilhar em outros sites

Boa Tarde,

Welksom, essa foi a primeira coisa que eu vi, o exemplo.

No exemplo ele não coloca o 0111, ele pressupõe que todos usam o "Indicador de método de apropriação de créditos comuns" como sendo o "1 - Método de Apropriação Direta".

Eu estou continuando com os testes.

Qualquer coisa eu retorno!

Link para o comentário
Compartilhar em outros sites

Isaque, bom dia!

Estamos fazendo alguns testes, e foi percebido que não está sendo gerado o Registro 0400.

Fiz um resumo da hierarquia dos registros:


* BLOCO 0 *


0000 - Nível Hierárquico 0

	0001   - Nível Hierárquico 1

		0100 - Nível Hierárquico 2

		0110 - Nível Hierárquico 2

			0111 - Nível Hierárquico 3

		0140 - Nível Hierárquico 2

			0150 - Nível Hierárquico 3

			0190 - Nível Hierárquico 3

   			0200 - Nível Hierárquico 3

				0205 - Nível Hierárquico 4

				0206 - Nível Hierárquico 4

				0208 - Nível Hierárquico 4

			0400 - Nível Hierárquico 3

			0450 - Nível Hierárquico 3

		0500 - Nível Hierárquico 2

		0600 - Nível Hierárquico 2

	0990 - Nível Hierárquico 1


* FIM BLOCO 0

Abri o ACBrEPCBloco_0_Class.pas, procurei o método WriteRegistro0140 e incluí o seguinte trecho:

/// Registros FILHOS

WriteRegistro0150( Reg0001.Registro0140.Items[intFor] ) ;

WriteRegistro0190( Reg0001.Registro0140.Items[intFor] ) ;

WriteRegistro0200( Reg0001.Registro0140.Items[intFor] ) ;

//está faltando esses dois

WriteRegistro0400( Reg0001.Registro0140.Items[intFor] ) ;

WriteRegistro0450( Reg0001.Registro0140.Items[intFor] ) ;

Registro0990.QTD_LIN_0 := Registro0990.QTD_LIN_0 + 1;

WRMedeiros

Focus

Link para o comentário
Compartilhar em outros sites

Isaque, bom dia!

Estamos fazendo alguns testes, e foi percebido que não está sendo gerado o Registro 0400.

Fiz um resumo da hierarquia dos registros:


* BLOCO 0 *

0000 - Nível Hierárquico 0
0001 - Nível Hierárquico 1
0100 - Nível Hierárquico 2
0110 - Nível Hierárquico 2
0111 - Nível Hierárquico 3
0140 - Nível Hierárquico 2
0150 - Nível Hierárquico 3
0190 - Nível Hierárquico 3
0200 - Nível Hierárquico 3
0205 - Nível Hierárquico 4
0206 - Nível Hierárquico 4
0208 - Nível Hierárquico 4
0400 - Nível Hierárquico 3
0450 - Nível Hierárquico 3
0500 - Nível Hierárquico 2
0600 - Nível Hierárquico 2
0990 - Nível Hierárquico 1

* FIM BLOCO 0
[/code]

Abri o ACBrEPCBloco_0_Class.pas, procurei o método WriteRegistro0140 e incluí o seguinte trecho:

/// Registros FILHOS

WriteRegistro0150( Reg0001.Registro0140.Items[intFor] ) ;

WriteRegistro0190( Reg0001.Registro0140.Items[intFor] ) ;

WriteRegistro0200( Reg0001.Registro0140.Items[intFor] ) ;

[color=#FF0000]

//está faltando esses dois

WriteRegistro0400( Reg0001.Registro0140.Items[intFor] ) ;

WriteRegistro0450( Reg0001.Registro0140.Items[intFor] ) ;

[/color]

Registro0990.QTD_LIN_0 := Registro0990.QTD_LIN_0 + 1;

Obriagdo, corrigi e já subi.

Abração

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

Obrigado Isaque.

Correcao na tabela (registro 0200 eu havia informado como 3, correto é 4)


* BLOCO 0 *


0000 - Nível Hierárquico 0

   0001   - Nível Hierárquico 1

      0100 - Nível Hierárquico 2

      0110 - Nível Hierárquico 2

         0111 - Nível Hierárquico 3

      0140 - Nível Hierárquico 2

         0150 - Nível Hierárquico 3

         0190 - Nível Hierárquico 3

            0200 - Nível Hierárquico 4

            0205 - Nível Hierárquico 4

            0206 - Nível Hierárquico 4

            0208 - Nível Hierárquico 4

         0400 - Nível Hierárquico 3

         0450 - Nível Hierárquico 3

      0500 - Nível Hierárquico 2

      0600 - Nível Hierárquico 2

   0990 - Nível Hierárquico 1


* FIM BLOCO 0

WRMedeiros

Focus

Link para o comentário
Compartilhar em outros sites

Pessoal, comecei a fazer os primeiros testes de validação hoje, e já achei vários problemas.

Por enquanto problemas pequenos, mas estou continuando com os testes, assim que tiver novidades eu aviso.

E por enquanto, não resolvi ainda aquele problema que mencionei de access violation, mas assim que eu tiver a resolução eu posto aqui no forum.

ACBrSPEDPisCofins.rar

Link para o comentário
Compartilhar em outros sites

Mais um problema que acabei de resolver,

Não estava totalizando o campo 0190 no registro 9999.

Corrigi e ja estou postando aqui no forum

Opa, já ta no SVN.

Manda vê ai. hehehehe

Abraço

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

Eis o que estou corrigindo neste ultimo anexo que estou enviando:

Bloco 0:

Acrescentado validações de campos obrigatórios no 0110 e 0206

Corrigido tamanho do campo Suframa que estava errado

Bloco 9:

No uses está usando ACBrEFDBloco_9, quando deve-se usar ACBrEPCBloco_9

Bloco A:

A010 - Corrigido frase de validação do campo

Bloco C:

C010 - Corrigido frase de validação do campo

C100 - Estava faltando campo VL_MERC

C111 - Estava somando 1 no C100 em vez de mais 1 no C111

C120 - Estava inibido o campo NUM_ACDraw, fazendo com que mostra-se erro de tamanho do registro

Estava somando 1 no C100 em vez de mais 1 no C120

C190 - Estava somando 1 no C180 em vez de mais 1 no C190

C191,C195 - Não estava colocando o CFOP informado

C199 - Estava somando 1 no C190 em vez de mais 1 no C199

Bloco D:

D010 - Corrigido frase de validação do Campo

Bloco F:

F010 - Corrigido Frase de validação do campo

F800 - Acrescentado constante - COD_CRED = '307'

EPCBlocos:

Acrescentado '307' na constante TACBrCodCred

Notei que na segundo faze de validação já apareceram muitos outros erros.

Conforme for corrigindo, vou postando aqui no forum.

Esse arquivo é baseado em update de 20/04 as 12:00

ACBrSPEDPisCofins.rar

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4522 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...