Ir para conteúdo
  • Cadastre-se

dev botao

Sped Contábil - Layout Versão 3.00


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

Recommended Posts

  • Moderadores

Juliomar, boa noite!

 

Me desculpe, mas havia enviado a pasta errada!

 

Estou enviando novamente!

 

Abraços,

 

Flávio

Boa tarde 

está no svn a contribuição!

obrigado

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...

Bom dia a todos!

Verifiquei que no leiaute 2, o registro I051 possui o campo COD_ENT_REF, mas no leiaute 3 o mesmo campo foi alterado para COD_PLAN_REF.

Na versão do SVN não tem essa alteração, procede essa informação?

Leandro Paixão

[email protected]

 

Tecnólogo em Análise e Desenvolvimento de Sistemas.

Professor do Curso de Técnico em Informática.

@leandropaixao

 

 

Link para o comentário
Compartilhar em outros sites

Bom dia a todos.

Realizei algumas alterações no Sped Contabil, abaixo uma breve descrição do que foi alterado:

  1. Remoção do campo COD_ENT_REF do registro I051 do leiaute 2. No local deste campo foi adicionado COD_PLAN_REF, sendo esta a nova nomenclatura do leiaute 3.
  2. Alteração/Adaptação do fonte para que não haja estouro de memória na geração do SPED, conforme este trocando a forma de salvar o arquivo de StringList para LinhasBuffer. 

Os testes que foram realizados aqui na empresa estão OK.

Caso haja alguma inconsistência, por favor entrem em contato.

Um abraço!

 

ACBrSPED.7z

Leandro Paixão

[email protected]

 

Tecnólogo em Análise e Desenvolvimento de Sistemas.

Professor do Curso de Técnico em Informática.

@leandropaixao

 

 

Link para o comentário
Compartilhar em outros sites

Obrigado pela contribuição, vou avaliar, mas pelo visto vc removeu campo, e isso não é uma dos padrões ACBr, pois poderão existir a necessidade de gerar leiaute anteriores.

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

Por gentileza, mande somente as Unit que você alterou, assim fica mais fácil de avaliar, obrigado.

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

Realizei a remoção, pois pelo que entendi e o que esclarecemos com os contadores o leiaute 2 não será utilizado, pois foi revogado conforme informado pela RFB. Caso ache necessário manter o mesmo nome, por mim tranquilo!

Estou anexando os arquivo alterados e adicionados, separando estes por pastas.

Qualquer dúvida só entrar em contato.

 

ACBR.7z

Leandro Paixão

[email protected]

 

Tecnólogo em Análise e Desenvolvimento de Sistemas.

Professor do Curso de Técnico em Informática.

@leandropaixao

 

 

Link para o comentário
Compartilhar em outros sites

Desculpe, alteração implementada em versão muito antiga do código atual no repositório, tome por cuidado antes de implementar qualquer coisa antes de tudo atualizar seu código para que inicialmente antes de qualquer correção ou implementação ele esteja idêntico ao do repositório, em seguida nos enviar as units que foram alteradas dai fazemos o merge e subimos depois da avaliação, essa não vai da, vou vê sobre esse campo no manual e altera-lo somente no código atual.

 

Uma pergunta qual a finalidade de criar Eventos no componente.

 

1o - Os componentes Sped foram criados eventos inicialmente para que o formato gerado pelo ACBr pudesse ser mudado para finalidade de integração com sistemas contábeis que exigem leiaute diferente do SPED ou adiciona informações adicionais necessárias ao leiaute deles. (Ponto)

 

2o - Após essa necessidade, foi tentado resolver um problema do qual alguns campos teriam que ser nulos em determinadas situações, ESSA TENTATIVA NÃO foi bem sucedida.

 

3o - Logo vendo que os eventos não atenderiam a necessidade citada no item 2o, resolvemos o problema mudando os tipos dos campos onde havia a necessidade de ter conteúdo nulo para o tipo VARIANT, dessa forma o tratamento passa a ser responsabilidade do desenvolvedor, fazer a checagem e atribuir ao campo o valor := null.

 

Se a necessidade do evento for o conteúdo de nulo, aconselho a mudar sua estrutura para o que foi feito no item 3o, mantendo sempre seu código atualizado com o do repositório do ACBr.

 

Desde já agradeço o esforço, e espero que entenda.

  • Curtir 1

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

Sim, claro que compreendo e agradeço muito a informação. Estarei verificando sobre estes itens e também sobre a versão, pois até a informação que eu tinha é que a versão disponibilizada para nós estava atualizada, pois não podemos realizar a atualização local aqui.

 

Assim que eu realizar a alteração, estarei postando novamente para avaliação.

 

Fico grato pelo retorno.

Leandro Paixão

[email protected]

 

Tecnólogo em Análise e Desenvolvimento de Sistemas.

Professor do Curso de Técnico em Informática.

@leandropaixao

 

 

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

Boa noite, Srs.,

 

O SPedContabil está dando erro no procedimento abaixo

 

procedure TACBrSPEDContabil.InicializaBloco(Bloco: TACBrSPED);
begin
   Bloco.NomeArquivo  := FACBrTXT.NomeArquivo;
   Bloco.LinhasBuffer := FACBrTXT.LinhasBuffer;
   Bloco.Gravado      := False ;
   if not Assigned(Bloco.Conteudo) then
     Bloco.Conteudo := TStringList.Create;
   Bloco.Conteudo.Clear;
end;
 
Especificamente na linha negritada, com o erro de read only propertie. 
 
O que posso fazer?
 
Abraço
Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...

Boa noite, Srs.,

 

O SPedContabil está dando erro no procedimento abaixo

 

procedure TACBrSPEDContabil.InicializaBloco(Bloco: TACBrSPED);
begin
   Bloco.NomeArquivo  := FACBrTXT.NomeArquivo;
   Bloco.LinhasBuffer := FACBrTXT.LinhasBuffer;
   Bloco.Gravado      := False ;
   if not Assigned(Bloco.Conteudo) then
     Bloco.Conteudo := TStringList.Create;
   Bloco.Conteudo.Clear;
end;
 
Especificamente na linha negritada, com o erro de read only propertie. 
 
O que posso fazer?
 
Abraço

Bom dia, poderia dizer como resolveu, pois estou enfrentando o mesmo problema.

Grato.

Link para o comentário
Compartilhar em outros sites

Boa tarde e obrigado Juliomar, na realidade este procedimento já fiz e descobri que o problema é outro.

procedure TACBrSPEDContabil.IniciaGeracao;
var
  intFor: integer;
begin

  showmessage( fpath );
  showmessage( arquivo ); // esta variavel chega aqui nula, sem valor

  if FInicializado then exit;

  if (Trim(Arquivo) = '') or (Trim(fPath) = '') then
     raise Exception.Create( ACBrStr('Caminho ou nome do arquivo não informado!'));

  FACBrTXT.NomeArquivo := FPath + Arquivo ;
  FACBrTXT.Reset;    // Apaga o Arquivo e limpa memória
  InicializaBloco( Bloco_0 ) ;
  InicializaBloco( Bloco_I ) ;
  InicializaBloco( Bloco_J ) ;
  InicializaBloco( Bloco_9 ) ;

  /// Preparação para totalizações de registros.
  Bloco_0.Registro0990.QTD_LIN_0 := 0;
  Bloco_I.RegistroI990.QTD_LIN_I := 0;
  Bloco_J.RegistroJ990.QTD_LIN_J := 0;
  Bloco_9.Registro9990.QTD_LIN_9 := 0;
  Bloco_9.Registro9999.QTD_LIN   := 0;

  for intFor := 0 to Bloco_9.Registro9900.Count - 1 do
  begin
     Bloco_9.Registro9900.Items[intFor] := nil;
     Bloco_9.Registro9900.Items[intFor].Free;
  end;

  Bloco_9.Registro9900.Clear;

  FInicializado := True;
end;

 

Editado por Eroni
Link para o comentário
Compartilhar em outros sites

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