Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

tenho uma tela de gerenciamento de nfe, onde reimprimo: cancelamento, cce, inutlizacao, autorizacao, carregando o xml do BD firebird

esta dando access violation sempre quando reimprimo um NFE AUTORIZADA e quando vou reimprimir uma inutilizacao acontece o erro.

sempre nessa sequencia.( primeiro reimprimo a nfe normal( OK), ai clico no botao reimprimir inutilizacao( SELECIONO UM REGISTRO INUTILIZADO NO GRID) ) 

 

segue abaixo codigo dos dois procedimentos.

reimprimir inutilizacao:

      dm.DANFEFRPris.FastFileInutilizacao := VarPub.PathReport + 'INUTILIZACAO.FR3';
      DM.NFePris.InutNFe.LerXMLFromString(QConsNfeXML_INUTILIZADO.AsString);
      dm.NFePris.ImprimirInutilizacao; -> acontece arqui o erro
      dm.NFePris.ImprimirInutilizacaoPDF;

reimprimir autorizada normal:
 

      dm.NFePris.NotasFiscais.LoadFromString(QConsNfeXML_AUTORIZADO.AsWideString);
      dm.NFePris.NotasFiscais.Items[0].ImprimirPDF;
      dm.NFePris.NotasFiscais.Items[0].Imprimir;

 

 

  • Consultores
Postado

Bom dia,

Para imprimir a Inutilização de numeração o XML a ser lido tem que ser o: *-ProcInutNFe.xml no seu caso o conteúdo dele.

Não pode ser a solicitação de Inutilização que é o *-ped-inu.xml e nem a resposta da SEFAZ que é o *-inu.xml.

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

Postado

ParamByName('XML').AsAnsiString := DM.NFePris.WebServices.Inutilizacao.XML_ProcInutNFe;

obrservei e ja gravor corretamente, pra possivel reimpressao do comprovante.

mais como descrevir o erro só acontece se antes de eu reimprimir uma inutilizacao, eu executar qualquer reimpressao do acbr.

Postado (editado)

procedure TACBrNFeFRClass.CarregaDadosInutilizacao;
begin
   CarregaParametros;

 

    if Assigned(FNFe) then
    begin
      if DANFEClassOwner.ExibirResumoCanhoto then
      begin
         if EstaVazio(DANFEClassOwner.ExibirResumoCanhoto_Texto) then
          FieldByName('ResumoCanhoto').AsString := ACBrStr('Emissão: ' )+ FormatDateBr(FNFe.Ide.DEmi) + '  Dest/Reme: ' + FNFe.Dest.XNome + '  Valor Total: ' + FormatFloatBr(FNFe.Total.ICMSTot.VNF)
        else
          FieldByName('ResumoCanhoto').AsString := DANFEClassOwner.ExibirResumoCanhoto_Texto;
      end;

      if (FNFe.Ide.TpAmb = taHomologacao) then -> NESSA LINHA AQUI O ERRO
 

 

 

pra acontecer o erro, voce tem carregar uma nota no acbr chamar o imprimir, depois fazer o acbr.notasfiscais.clear, e apos isso carregar o xml de inutilizacao usando o metodo loadfromString ai vai acontecer.

Editado por gss200610
Postado (editado)

pense comigo, voce tem uma tela onde tem dois botoes, um reimprimir danfe, e outro reimprimir inutilizacao, como vou fazer nesse caso. o usuario vai ter de 

sair do sistema toda vez que ele reimprimir um danfe primeiro. porque ele pode querer reimprimir o danfe da nota numero 100 e depois querer o comprovante 

da nota de numero 500, esse é o problema. ele tem as duas opcoes, nao que eu reimprima primeiro o danfe( como reimprimir danfe de inutilizacao, nao existe ).

o usuario tem as duas opcoes, mais se ele primeiro reimprimir um danfe , e depois clicar no botao de reimprimir inutilizacao, ai dar o erro, pq o componente acbr 

no codigo que postei acima, esta sempre entre no if assign , sendo que fiz o clear antes. o objeto fica preso no componente. só saindo do programa e entrando pra poder conseguir. fica inviável.

 

uma vez que limpei as notas carregadas no acbrnfe.notasfiscais.clear , como ele mostra na depuracao que o objeto FIde ainda existe. sendo esse o problema, pq ai verifica tipo de ambiente, e outras propriedades que estao inacessiveis. 

Editado por gss200610
  • 2 anos depois...
  • Este tópico foi criado há 2095 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...