Ir para conteúdo
  • Cadastre-se

dev botao

Sped ECF Disponibilizado do Trunk2


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

Recommended Posts

  • Membros Pro

Acabei de atualizar os fontes (meu AcbrSped.pas está atualizado) e os memory leaks voltaram. A primeira imagem são com as minhas alterações a segunda com o que está no trunk2.

Repetindo, segui exatamente o que estava numa unit do SpedPisCofins (não tem os overloads) e você disse que não é assim. Ela está errada? Realmente não sei o que estou fazendo de errado. Se puder realmente verificar e explicar como deve ser ajudaria porque pelas imagens dá pra ver que não está ok.

Do que conheço de OO na classe pai está declarado como virtual para ser implementada na filha. Essa implementação seria feita utilizando a diretiva Override e não Overload (que serve para criar métodos com o mesmo nome na mesma classe). Se a lógica é outra aguardo explicação ...

 

 

Sem título2.png

Sem título.jpg

Link para o comentário
Compartilhar em outros sites

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

  • Moderadores

desculpa a minha insistencia Juliomar mas eu baixei o truk2 e não tem o ECF, voce poderia me passar o endereço completo para ver se não estou fazendo errado.

Você baixou do endereço certo? veja o isaque postou!

você usou o instalador?

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

Bom dia!

Estou gerando os Blocos X e Y desta forma:

procedure TFormADP514.BlocoX;
begin
  // Alimenta o componente com informações para gerar todos os registros do
  // Bloco X.
  with DMForm, SPEDEcf do
  begin
    // Abertura do Bloco X
    with Bloco_X.RegistroX001 do
    begin
      IND_DAD := idComDados;
    end;

    with Bloco_X.RegistroX430New do
    begin
      PAIS := 105;
    end;

    with Bloco_X.RegistroX450New do
    begin
      PAIS := 105;
    end;

  end;
end;

procedure TFormADP514.BlocoY;
var
begin
  // Alimenta o componente com informações para gerar todos os registros do
  // Bloco Y.
  with DMForm, SPEDEcf do
  begin
    // Abertura do Bloco Y
    with Bloco_Y.RegistroY001 do
    begin
      IND_DAD := idComDados;
    end;

    with Bloco_Y.RegistroY600New do
    begin
      DT_ALT_SOC := Y600DT_ALT_SOC.Date;
      DT_FIM_SOC := Y600DT_FIM_SOC.Date;
      PAIS := StrToInt(Y600PAIS.Text);
      IND_QUALIF_SOCIO := Y600IND_QUALIF_SOCIO.Value;
      CPF_CNPJ := Desformata(Y600CPF_CNPJ.Text);
      NOM_EMP := Y600NOM_EMP.Text;
      QUALIF := Y600QUALIF.Value;
      PERC_CAP_TOT := FormatFloat('0000', StrToFloatDef(Y600PERC_CAP_TOT.Text, 0));
      PERC_CAP_VOT := FormatFloat('0000', StrToFloatDef(Y600PERC_CAP_VOT.Text, 0));
      CPF_REP_LEG := Desformata(Y600CPF_REP_LEG.Text);
      QUALIF_REP_LEG := StrToInt(Y600QUALIF_REP_LEG.Value);
    end;

    with Bloco_Y.RegistroY611New do
    begin
      PAIS := StrToInt(Y600PAIS.Text);
      IND_PF_PJ := Y600IND_QUALIF_SOCIO.Value;
      CPF_CNPJ := Desformata(Y600CPF_CNPJ.Text);
      NOM_EMP := Y600NOM_EMP.Text;
      QUALIF := Y600QUALIF.Value;
    end;

  end;
end;

 

 

Porém no arquivo está gerando assim:

...

|X001|0|
|X990|2|
|Y001|0|
|Y800||Y800FIM|
|Y990|3|

 

...

Estou fazendo alguma coisa de errado?

Alguém teve este problema?

Obrigado.

Link para o comentário
Compartilhar em outros sites

Acredito que está faltando o Write de cada bloco... 

Por exemplo: após alimentar o Bloco P inclua a seguinte linha:  

WriteBloco_P;

Obrigado pela resposta Juliano, mas estou alimentando os blocos como faço com os demais e eles estão sendo gerados.

Os fontes de vocês estão desatualizados pois revi o código e é chamado nos locais correto e gera o bloco!

Juliomar, atualizei meus fontes hoje de manhã, antes de gerar o arquivo.

Seria alguma dependência de bloco pai que não estou colocando (de acordo com o meu código acima)?

Link para o comentário
Compartilhar em outros sites

Meus fontes estão atualizados. Mas o Juliomar tem razão, não é necessário forçar o Write. Na minha tela estava forçando porque peguei o exemplo de outro colega que estava assim. Já removi da minha tela e está gerando normalmente.

A diferença que vi no seu código é que eu coloco os registros filhos dentro dos registros pai assim:

with RegistroY001New do

begin

  IND_DAD := idComDados;

  with RegistroY600New do

  begin

...

  end;

end;

 

Link para o comentário
Compartilhar em outros sites

Meus fontes estão atualizados. Mas o Juliomar tem razão, não é necessário forçar o Write. Na minha tela estava forçando porque peguei o exemplo de outro colega que estava assim. Já removi da minha tela e está gerando normalmente.

A diferença que vi no seu código é que eu coloco os registros filhos dentro dos registros pai assim:

with RegistroY001New do

begin

  IND_DAD := idComDados;

  with RegistroY600New do

  begin

...

  end;

end;

 

Ah...correto Juliano.

Provavelmente é esse o problema, obrigado.

Link para o comentário
Compartilhar em outros sites

Boa tarde Senhores,

 

Segue as units do bloco C, implementado os métodos conforme o manual.

Porém ainda não as testei, conforme já havia postado este registro deve ser importado de um sped contabil, tanto que alguns registro pedi até o número da linha em que este registro esta no arquivo.

 

ACBrECFBloco_C_Class.pas

ACBrECFBloco_C.pas

Boa tarde Senhores,

 

Segue as units do bloco C, implementado os métodos conforme o manual.

Porém ainda não as testei, conforme já havia postado este registro deve ser importado de um sped contabil, tanto que alguns registro pedi até o número da linha em que este registro esta no arquivo.

 

ACBrECFBloco_C_Class.pas

ACBrECFBloco_C.pas

Segue o arquivo ACBSpedECF, para poder totalizar os registros.

ACBrSpedECF.pas

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa noite

subi ao svn pois naõ tive como mexer mas peço que cuide pois sua indentação está diferente dos padrões do projeto!

terei que rever depois

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

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