Ir para conteúdo
  • Cadastre-se

dev botao

ACBrSPEDPisCofins


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

Recommended Posts

Boa noite!

Aquiniti,

Utilizando as ultimas alterações disponibilizadas fiz algumas modificações. O código revisado contido em anexo esta compilando sem erros. São eles:

1 – ACBrEPCBlocos.pas

2 - ACBrEPCBloco_0.pas

3 - ACBrEPCBloco_0_Class.pas

4 - ACBrEPCBloco_A.pas

5 - ACBrEPCBloco_A_Class.pas

6 - ACBrEPCBloco_C.pas

7 - ACBrEPCBloco_C_Class.pas

Peço que seja avaliado e ajustado.

Desde já agradeço.

23_04_2011_EPC_0_A_C_Blocos.zip

Link para o comentário
Compartilhar em outros sites

  • Respostas 185
  • Created
  • Última resposta

Top Posters In This Topic

Bom dia Pessoal,

Como eu já havia dito, encontrei um problema na utilização dos componentes do SPED na mesma tela, os arquivos ACBrEPCBlocos e ACBrEFDBlocos entram em conflito devido as classes terem o mesmo nome, ai nesse caso quando você vai passar o parametro para o bloco independente de estar dentro do componente do Fiscal ou do PIS/COFINS ele pega sempre da mesma unit, ai da conflito falando que a propriedade não está declarada.

Verificando os arquivos ACBrEPCBlocos e ACBrEFDBlocos percebi que as opções são praticamente as mesmas, tendo pouca diferença entre elas. Como solução poderiamos fazer duas coisas, ou manter apenas uma unit ACBrBlocos para todos os componentes do Sped, evitando duplicidade nas classes e eliminando o conflito, ou usar uma unit para transformar a classe em função de converção (como foi feito no PCN da NF-e).

Para não alterar a maneira que o componente está hoje, a unica saida que encontrei foi criar essa unit de conversão, criando procedures com nomes diferentes para o sped Fiscal e PIS/COFINS, ai usando as units de conversão consegui usar normalmente na mesma tela.

O modo mais limpo de fazer funcionar é unir os Blocos em apenas uma unit para todos os componentes, no entanto se não for viavel alterar unir os blocos essas units são a melhor saida.

Segue anexo as units que criei de conversão para o Isaque verificar qual é a melhor solução para implantarmos nos componentes.

unitConversao.rar

Abraços

Link para o comentário
Compartilhar em outros sites

Bom dia Pessoal,

Como eu já havia dito, encontrei um problema na utilização dos componentes do SPED na mesma tela, os arquivos ACBrEPCBlocos e ACBrEFDBlocos entram em conflito devido as classes terem o mesmo nome, ai nesse caso quando você vai passar o parametro para o bloco independente de estar dentro do componente do Fiscal ou do PIS/COFINS ele pega sempre da mesma unit, ai da conflito falando que a propriedade não está declarada.

Verificando os arquivos ACBrEPCBlocos e ACBrEFDBlocos percebi que as opções são praticamente as mesmas, tendo pouca diferença entre elas. Como solução poderiamos fazer duas coisas, ou manter apenas uma unit ACBrBlocos para todos os componentes do Sped, evitando duplicidade nas classes e eliminando o conflito, ou usar uma unit para transformar a classe em função de converção (como foi feito no PCN da NF-e).

Para não alterar a maneira que o componente está hoje, a unica saida que encontrei foi criar essa unit de conversão, criando procedures com nomes diferentes para o sped Fiscal e PIS/COFINS, ai usando as units de conversão consegui usar normalmente na mesma tela.

O modo mais limpo de fazer funcionar é unir os Blocos em apenas uma unit para todos os componentes, no entanto se não for viavel alterar unir os blocos essas units são a melhor saida.

Segue anexo as units que criei de conversão para o Isaque verificar qual é a melhor solução para implantarmos nos componentes.

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

Abraços

Olá, realmente, teremos esse mesmo problema com o SPEDContabil, então pensei em resolver da seguinte forma:

Fiscal = TEFDOpenBlocos

Contabil = TECDOpenBlocos

Pis/Cofins = TEPCOpenBlocos

O que acham ?

--
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

  • Consultores

Olá, realmente, teremos esse mesmo problema com o SPEDContabil, então pensei em resolver da seguinte forma:

Fiscal = TEFDOpenBlocos

Contabil = TECDOpenBlocos

Pis/Cofins = TEPCOpenBlocos

O que acham ?

Eu acho uma boa ideia. Assim não foge do que estamos fazendo até agora. E vai facilitar pra quem for usar só um dos SPED. :)

@aquitini e @Ismael.Pastoreli

Eu penso como vocês. E acho que nós vamos acabar juntando boa parte dessas classes dos blocos e criar uma espécie "classe-interface" para geração dos arquivos. As definições dos blocos e seus registros não mudam dentro do SPED.

O que complica é que nem sempre na geração do mesmo bloco os campos são os mesmos. O que altera é o que deve ser informado e a incluído no arquivo em cada caso (Fiscal, contábil, PIS/COFINS). Teríamos que estudar como fazer esse controle. Não sei se seria de fácil implementação para acompanhar a legislação...

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Bom a idéia de juntar tudo realmente é bem interessante, o que acaba ficando bem mais genérico e usual.

No nosso caso estamos fazendo SPED Fiscal e Pis/Cofins, e muitas informações são bem parecidas...

o Bloco 0, Bloco D, Bloco C, são praticamente identicos, muda apenas Hierarquia...

Talvez juntar seria bem interessante... já que muitas empresas são obrigadas a enviar os 3.

Link para o comentário
Compartilhar em outros sites

Juntar os 3 formando apenas 1 componente ficaria muito bom e bem mais fácil para implementação, nesse caso poderia ser feito de uma forma bem simples:

1- Fariamos um estudo nos 3 layouts e fariamos a junção dos campo a receberem os parametros

Ex: pega todos os campos necessarios do C100 de todos os SPEDs e unifica em apenas 1 bloco C100 para o usuário passar os parametros;

2- O usuário no componente marcaria True/False para opções Sped Fiscal, Sped PIS/COFINS e Sped Contabil;

3- O componente internamente faria a divisão de quais campos iriam para cada arquivo e geraria com seu layout;

O usuário que não fosse gerar todos os Speds só teria o trabalho de verificar no layout referente ao SPED que ele quer gerar quais campos devem ser preenchidos em cada bloco, mais se ele passar parametro para todos os campo a empresa dele estará preparada para gerar todos os SPEDs;

Eu topo fazer um prototipo desse!!! quem vai comigo???

Talvez seria interessante manter ele no branches e naum no trunk, assim naum atrapalharia o pessoal que já estão utilizando o atual e poderiamos fazer bons testes antes de começarem a usar!!!

PS: to pegando gosto em programar aqui!!! fazia tempo que naum me aparecia uns desafios legais como aqui!!!

Abraço

Link para o comentário
Compartilhar em outros sites

Ficou realmente boa a ideia apresentada pelo @aquiniti

Eu também to no projeto, se abrir o branch a gente já começa a desenvolver essa junção dos Projetos.

E acho que não teremos tanto problemas quanto a legislação, porque um já é a cópia do outro com

algumas particulariedades diferentes.

Dá pra reduzir a quantidade de Informações em uns 40%.

Vamo nessa...

Link para o comentário
Compartilhar em outros sites

Boa noite!

Aquiniti,

Utilizando as ultimas alterações disponibilizadas fiz algumas modificações.

O código revisado contido em anexo esta compilando sem erros. São eles:

1 – ACBrEPCBlocos.pas

2 - ACBrEPCBloco_0.pas (não alterado)

3 - ACBrEPCBloco_0_Class.pas (não alterado)

4 - ACBrEPCBloco_A.pas

5 - ACBrEPCBloco_A_Class.pas

6 - ACBrEPCBloco_C.pas

7 - ACBrEPCBloco_C_Class.pas

8 - ACBrEPCBloco_D.pas

9 - ACBrEPCBloco_D_Class.pas

Peço que seja avaliado e ajustado.

Desde já agradeço.

07_04_2011_EPC_0_A_C_Blocos.zip

Link para o comentário
Compartilhar em outros sites

Pessoal, não tenho muito conhecimento em desenvolvimento de componentes, mas estou a disposição para ajudar...

Estou meio perdido com relação ao SPED...

Qual SPED que a aplicação do cliente tem que gerar?

E qual que o contador deve gerar?

Obrigado.

Robson

Link para o comentário
Compartilhar em outros sites

@rodrigocelsius as alterações do @Carlos Rosset são atuais, pode baixar a dele agora que está tudo OK!

@RobsonDL toda ajuda é bem vinda... o componente ja está concluido só mesmo precisando de ajustes e testes... então é só baixar a ultima versão que está disponível no ultimo post do @Carlos Rosset, instalar o componente e fazer testes, caso encontrar algum erro pode nos informar ou tentar corrigir, ai é só postar aqui e o Isaque manda para o SVN!!!

Abraço

Link para o comentário
Compartilhar em outros sites

Boa noite!

Aquiniti,

Utilizando as ultimas alterações disponibilizadas fiz algumas modificações.

O código revisado contido em anexo esta compilando sem erros. São eles:

01 – ACBrEPCBlocos.pas (não alterado)

02 - ACBrEPCBloco_0.pas (não alterado)

03 - ACBrEPCBloco_0_Class.pas (não alterado)

04 - ACBrEPCBloco_A.pas (não alterado)

05 - ACBrEPCBloco_A_Class.pas (não alterado)

06 - ACBrEPCBloco_C.pas (não alterado)

07 - ACBrEPCBloco_C_Class.pas (não alterado)

08 - ACBrEPCBloco_D.pas (não alterado)

09 - ACBrEPCBloco_D_Class.pas (não alterado)

10 - ACBrEPCBloco_F.pas

11 - ACBrEPCBloco_F_Class.pas

Peço que seja avaliado e ajustado.

Desde já agradeço.

08_04_2011_EPC_0_A_C_D_F_Blocos.zip

Link para o comentário
Compartilhar em outros sites

Juntar os 3 formando apenas 1 componente ficaria muito bom e bem mais fácil para implementação, nesse caso poderia ser feito de uma forma bem simples:

1- Fariamos um estudo nos 3 layouts e fariamos a junção dos campo a receberem os parametros

Ex: pega todos os campos necessarios do C100 de todos os SPEDs e unifica em apenas 1 bloco C100 para o usuário passar os parametros;

2- O usuário no componente marcaria True/False para opções Sped Fiscal, Sped PIS/COFINS e Sped Contabil;

3- O componente internamente faria a divisão de quais campos iriam para cada arquivo e geraria com seu layout;

O usuário que não fosse gerar todos os Speds só teria o trabalho de verificar no layout referente ao SPED que ele quer gerar quais campos devem ser preenchidos em cada bloco, mais se ele passar parametro para todos os campo a empresa dele estará preparada para gerar todos os SPEDs;

Eu topo fazer um prototipo desse!!! quem vai comigo???

Talvez seria interessante manter ele no branches e naum no trunk, assim naum atrapalharia o pessoal que já estão utilizando o atual e poderiamos fazer bons testes antes de começarem a usar!!!

PS: to pegando gosto em programar aqui!!! fazia tempo que naum me aparecia uns desafios legais como aqui!!!

Abraço

Otima idéia, sou totalmente a favor.

Vamos fazer da seguinte forma, vou pegar esse ultimo pacote que foi disponibilizado aqui e concluir o SPED Pis/Cofins, pois tem algumas empresas como o prazo definido para começar a entregar. Após ele estar funcional, ai damos inicio a fusão dos três componentes mantendo uma class central da qual terá as registros que servirá para mais de um componente, ficará excelente, assim que eu gosto tb.

Mãos a obra então, vou tentar terminar esse componente, esse final de semana.

--
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

Lançado a versão 1.0 Beta do componente ACBrSpedPisCofins, gostaria de agradecer a todos, que colaboraram com este componente. vcs estão de parabéns pela iniciativa de ajudar, muitos se dispuseram a ajudar tb por email, pelo forum por skype.

Quero continuar com a colaboração de todos, para criarmos um Demo, e nesse fazermos os testes de todos os registros.

Podem baixar do SVN, uma versão Beta instalavél.

Após os testes e a funcionalidade deste componente, poderemos criar uma pasta no diretorio Branches, para darmos inicio a fusão dos registros para os três componentes ACBrSPED - Contabil, Fiscal e PisCofins.

--
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

Isaque... só mais uma coisa... na pasta do PIS/COFINS tem um "ACBrEFDBloco_0_Class" que eh do fiscal... deleta ele do SVN

Abraço

Opa, já tinha excluído.

--
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 noite!

Peço desculpas a todos pela demora em retornar ao forum.

Aquiniti,

Utilizando as ultimas alterações disponibilizadas fiz algumas modificações.

O código revisado contido em anexo esta compilando sem erros. São eles:

01 – ACBrEPCBlocos.pas

02 - ACBrEPCBloco_0.pas (não alterado)

03 - ACBrEPCBloco_0_Class.pas

04 - ACBrEPCBloco_A.pas (não alterado)

05 - ACBrEPCBloco_A_Class.pas (não alterado)

06 - ACBrEPCBloco_C.pas (não alterado)

07 - ACBrEPCBloco_C_Class.pas (não alterado)

08 - ACBrEPCBloco_D.pas

09 - ACBrEPCBloco_D_Class.pas

10 - ACBrEPCBloco_F.pas

11 - ACBrEPCBloco_F_Class.pas

12 - ACBrEPCBloco_M.pas

13 - ACBrEPCBloco_M_Class.pas

Peço que seja avaliado e ajustado.

Desde já agradeço.

14_04_2011_EPC_0_A_C_D_F_M_Blocos.zip.zip

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4709 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...