Ir para conteúdo
  • Cadastre-se

dev botao

Alterações Diversas Nos Fontes


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

Recommended Posts

  • Consultores

Bom dia Akai,

 

Isso é muito estranho uma vez que a classe TIdendificaRps faz parte da geração do XML.

 

Fiz uma alteração no destructor TACBrNFSe.Destroy;

 

Vamos ver se vai resolver o problema.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Akai e Italo, eu estou com problema parecido, em um luga diferente, até tinha aberto um tópico, mas depois li as mensagens aqui:

 

 

Olá pessoal. Estou com um problema, tanto no meu software como no Demo. Ao consultar uma NFSe por RPS pelo segunda vez, ocorre um acess violation  nas linhas:

if Assigned(NFSeRetorno)
then NFSeRetorno.Free;

 na função TNFSeConsultarNfseRPS.Executar, linha 3274. Trabalho com a prefeitura de Ponta Grossa, provedor FintelISS.

 

Obrigado.

 

Assim como no problema que o Akai relatou, é na hora de dar o Free tbem.

Link para o comentário
Compartilhar em outros sites

então,...

pelo que eu fui debugando, 

 

no Destroy do ACBrNFSe quando ele da o "FNotasFiscais.Free;"

ele limpa o TIdentificacaoRps do fonte pnfsNFSe no TNFSe.Destroy;

 

ai em seguida vai tentar o "FWebServices.Free;" no destroy do ACBrNFSe...

e passa no mesmo lugar, ele da o erro...

 

o estranho é que tem dados na 1º vez que limpa, e na segunda só aparece o tipo...

 

no FNotasFiscais.Free; o TIdentificacaoRPS esta dessa maneira: ('204', 'F', trRPS)

no FWebServices.Free; esta assim ('', '', trRPS)....

 

se passar o  FWebServices.Free; primeiro ele inverte a coisa...

dando erro sempre no segundo passo ...

Editado por Akai

Massao Aihara

Link para o comentário
Compartilhar em outros sites

Akai e Italo, no meus testes com o Demo, consegui eliminar o erro na segunda Consulta por RPS e o erro de ponteiro inválido qdo fechava o programa comentando a seguinte linha:

 

FCompNfse.Free;

 

na procedure TListaNfse.Destroy, no fonte pnfsConsNfseporRpsResposta.

 

Agora não sei o que isso pode influenciar no resto do componente.

 

Consegue fazer esse teste ai Akai, pra ver se resolve pra vc tbem?

Link para o comentário
Compartilhar em outros sites

continuei a debugar os destroys, e cheguei num ponto que o Akai comentou ali acima. No meu caso, qdo faço uma segunda consulta por RPS, o componente cai duas vezes no TNFSe.Destroy (fonte pnfsNFSe), a primeira vai ok, na segunda, dá o acess violation no FIdentificacaoRps.Free;

 

qdo comenta aquela linha, ele não passa a segunda vez pelo TNFSe.Destroy, mas é uma solução tosca, afinal ele chama mais coisas que podem ser importantes.

Link para o comentário
Compartilhar em outros sites

Bom dia a todos,

 

Somente agora atualizei os fontes e estou a testar o provedor ISSNet, encontrei os seguintes problemas:

 

1 - O problema e a solução passada é necessária (ACBrNFSeWebServices.pas).

 

2 - O erro "Arquivo enviado fora da estrutura do arquivo XML de entrada." relatada também acontece, e deve ser incluída a condição "DFeUtil.SeSenao((VersaoXML = '2') or (AProvedor = proISSNet)," em todos os métodos e somente estava no Gera_DadosMsgEnviarLote (pnfsNFSeG.pas).

 

3 - Incluída a restrição para o ISSNet não consultar o RPS após o cancelamento (ACBrNFSeWebServices.pas).

 

Vou anexar minhas alterações.

 

Link para o comentário
Compartilhar em outros sites

Também estou com erro de memória quando faço várias consultas.

 

Comentei a linha "FListaNfse.Free;" do destructor TretNfseRps.Destroy na unit pnfsConsNfseporRpsResposta e não ocorreu nenhum problema no Enviar, ConsultarSituacao, ConsultarLoteRps, ConsultarNFSeporRps, ConsultarNFSe, CancelarNFSe.
 

Link para o comentário
Compartilhar em outros sites

  • 8 meses depois ...

Aconteceu um erro parecido comigo quando tentei gerar e enviar um lote pela segunda vez. No meu caso, na unit ACBrNFSeWebServices tem a função TNFSeConsultarLoteRPS.Executar e na linha 3334 existe o comando:

 

if Assigned(NFSeRetorno)

 then NFSeRetorno.Free; 

 

Quando executa o NFSeRetorno.Free, chama o TListaNfse.Destroy da unit pnfsConsLoteRpsResposta, e o erro ocorre quando cai na linha FCompNfse.Free;

Comentei essa linha e aparentemente tudo continuou normal, mesmo executando várias vezes seguidas.

 

Será que pode ocorrer algum problema?

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

 

Alterei o Destroy:

 

destructor TListaNfse.Destroy;
begin
  if Assigned(FCompNfse)
   then FCompNfse.Free;
  FMsgRetorno.Free;
 
  inherited;
end;
 

Em vez de comentar inclui o if em negrito.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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