Ir para conteúdo
  • Cadastre-se

dev botao

Problemas Com Nfe Do Pr


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

Recommended Posts

Boa tarde a todos...

 

Estou a um tempo com um problema quando vou consultar a NFe pelo chnfe..

 

Da um acess violation....cfe a imagem em anexo

 

Esse erro só acontece em um windows 2008 x64, e no estado do Paraná ( 41 )

 

Abaixo segue uma imagem uma CHNFe pra consulta...isso a acontece no ambiente de produção, em vermelho está o trecho do código que acontece o problema...

 

41131233530486000714550010000067801351305475

 

(ACBrNFe1.WebServices.Consulta.Executar;)

 

 

    {$IFDEF ACBrNFeOpenSSL}
       HTTP.Document.LoadFromStream(Stream);
       ConfiguraHTTP(HTTP,'SOAPAction: "http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta2"');
       HTTP.HTTPMethod('POST', FURL);
 
       StrStream := TStringStream.Create('');
       StrStream.CopyFrom(HTTP.Document, 0);
       FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
       FRetWS := SeparaDados( FRetornoWS,'nfeConsultaNF2Result');
       StrStream.Free;
    {$ELSE}
       ReqResp.Execute(Acao.Text, Stream);
       StrStream := TStringStream.Create('');
       StrStream.CopyFrom(Stream, 0);
       FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
       FRetWS := SeparaDados( FRetornoWS,'nfeConsultaNF2Result');
       StrStream.Free;
    {$ENDIF}

 

 

 

post-5474-0-64685600-1389290439_thumb.pn

Link para o comentário
Compartilhar em outros sites

Estou com o mesmo problema, roda normal em Windows 8, 8.1, 7, XP, Server 2003 32 e 64 mas no Win 2008 Server x64 CRASH, estava rodando normalmente e parou de funcionar sozinho, sei que não foi depois de um update pq no dia que parou de funcionar não foi aplicado nenhuma instalação nova.

Link para o comentário
Compartilhar em outros sites

Só com a ajuda do Criador mesmo para resolver um bug desses. Consegui achar a solução, graças a D'us. Aqui está:

 

-Entrar no Internet Explorer;
-Opções da internet;
-Entrar na aba "Avançadas";
-Em configurações na seção "Segurança" desmarcar as opções "Usar TLS 1.0", "Usar TLS 1.1", "Usar TLS 1.2";
 
Até mais
 
Samuel Monteiro
BrainSoft
Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • 2 semanas depois ...

Ae pessoa...era o que o matheushcleite tinha mencionado.....

Problema resolvido

 

 

-Entrar no Internet Explorer;
-Opções da internet;
-Entrar na aba "Avançadas";
-Em configurações na seção "Segurança" desmarcar as opções "Usar TLS 1.0", "Usar TLS 1.1", "Usar TLS 1.2";

Alan Vieceli
Analista de Sistemas
e-mail: [email protected]
Porto Alegre-RS

 

logo-certificao-90x90.png

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...
  • Moderadores

Qual é a versão do seu Internet Explorer?

 

Alan bom dia.

 

Neste caso estou usando o Win7, porem nas configurações eu não tenho esse TLS 1.2 tem que fazer alguma instalação ou atualização. 

 

Agradeço desde já,

 

Rogério

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

  • 5 meses depois ...

Boa Tarde colegas,

 

Estou fazendo um teste com a versão 3.10 do layout.

Mesmo trocando as opções do IE,

no meu acontece a mesma coisa que o colega, retorna em branco, para PR(41);

 

ACBrWebServices.pas - TNFeConsulta.Executar

    {$IFDEF ACBrNFeOpenSSL}
       HTTP.Document.LoadFromStream(Stream);
       ConfiguraHTTP(HTTP,'SOAPAction: "http://www.portalfiscal.inf.br/nfe/wsdl/' + Metodo + '"');
       HTTP.HTTPMethod('POST', FURL);

       StrStream := TStringStream.Create('');
       StrStream.CopyFrom(HTTP.Document, 0);
       FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
       FRetWS := SeparaDados(FRetornoWS, TAGResult);
       StrStream.Free;
    {$ELSE}
       ReqResp.Execute(Acao.Text, Stream);
       StrStream := TStringStream.Create('');
       StrStream.CopyFrom(Stream, 0);
       FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
       FRetWS := SeparaDados(FRetornoWS, TAGResult);
       StrStream.Free;
    {$ENDIF}

O problema esta aqui:

       FRetWS := SeparaDados(FRetornoWS, TAGResult);

A TAGResult esta indo como NfeConsultaNF2Result, e no arquivo de retorno do WS esta nfeConsultaNFResult

<cUF>41</cUF><versaoDados>3.10</versaoDados></nfeCabecMsg></env:Header><env:Body xmlns:env='http://www.w3.org/2003/05/soap-envelope'><nfeConsultaNFResult 

Fiz o seguinte teste :

Mudei de:

 FRetWS := SeparaDados(FRetornoWS, TAGResult);

para:

 FRetWS := SeparaDados(FRetornoWS, 'NfeConsultaNFResult');

Dai retornou certo para a consulta da NFe na versão 3.10 para o PR(41).

 

Abraços,

Rodrigo ®¿®

Curitiba-PR

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

Olá pessoal,

 

Tive que alterar no fonte do ACBr para o PR pois o retorno do ws, vem como "NfeConsultaNFResult" e não "NfeConsultaNF2Result".

Foi a forma que achei para resolver a consulta da NFe aqui.

Testei em homologação e produção e deu certo.

 

Então alterei o fonte ACBrNFeWebServices.pas

Na function TNFeConsulta.Executar: Boolean;

       ReqResp.Execute(Acao.Text, Stream);
       StrStream := TStringStream.Create('');
       StrStream.CopyFrom(Stream, 0);
       FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
       if (FConfiguracoes.WebServices.UFCodigo = 41) and (FConfiguracoes.Geral.VersaoDF = ve310) then // 41 = PR
         FRetWS := SeparaDados(FRetornoWS, 'NfeConsultaNFResult')
       else
         FRetWS := SeparaDados(FRetornoWS, TAGResult);
       StrStream.Free;

Abraços,

 

Rodrigo

Rodrigo ®¿®

Curitiba-PR

Link para o comentário
Compartilhar em outros sites

Completando fiz somente para o Capicom, segue código completo:

    {$IFDEF ACBrNFeOpenSSL}
       HTTP.Document.LoadFromStream(Stream);
       ConfiguraHTTP(HTTP,'SOAPAction: "http://www.portalfiscal.inf.br/nfe/wsdl/' + Metodo + '"');
       HTTP.HTTPMethod('POST', FURL);

       StrStream := TStringStream.Create('');
       StrStream.CopyFrom(HTTP.Document, 0);
       FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
       FRetWS := SeparaDados(FRetornoWS, TAGResult);
       StrStream.Free;
    {$ELSE}
       ReqResp.Execute(Acao.Text, Stream);
       StrStream := TStringStream.Create('');
       StrStream.CopyFrom(Stream, 0);
       FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
       if (FConfiguracoes.WebServices.UFCodigo = 41) and (FConfiguracoes.Geral.VersaoDF = ve310) then // 41 = PR
         FRetWS := SeparaDados(FRetornoWS, 'NfeConsultaNFResult')
       else
         FRetWS := SeparaDados(FRetornoWS, TAGResult);
       StrStream.Free;
    {$ENDIF}

Rodrigo ®¿®

Curitiba-PR

Link para o comentário
Compartilhar em outros sites

O mesmo aconteceu com a inutilização no ws do PR, vejam o retorno do SEFAZ:

 

'<env:Envelope xmlns:env='http://www.w3.org/2003/05/soap-envelope'><env:Headerxmlns:env='http://www.w3.org/2003/05/soap-envelope'><nfeCabecMsg xmlns='http://www.portalfiscal.inf.br/nfe'><cUF> 41</cUF><versaoDados>3.10</versaoDados></nfeCabecMsg></env:Header><env:Body xmlns:env='http://www.w3.org/2003/05/soap-envelope'><nfeInutilizacaoNFResult xmlns='http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao3'><retInutNFeversao='3.10' xmlns='http://www.portalfiscal.inf.br/nfe'><infInut><tpAmb>2</tpAmb><verAplic>PR-v3_2_3</verAplic><cStat>563</cStat>.

 

Retornando nfeInutilizacaoNFResult no XML e não nfeInutilizacaoNF2Result.

 

Fiz a modificação:

       if (FConfiguracoes.WebServices.UFCodigo = 41) and (FConfiguracoes.Geral.VersaoDF = ve310) then // 41 = PR
         FRetWS := SeparaDados( FRetornoWS,'nfeInutilizacaoNFResult');
       else
         FRetWS := SeparaDados( FRetornoWS,'nfeInutilizacaoNF2Result');
    {$IFDEF ACBrNFeOpenSSL}
       HTTP.Document.LoadFromStream(Stream);
       ConfiguraHTTP(HTTP,'SOAPAction: "http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao2"');
       HTTP.HTTPMethod('POST', FURL);

       StrStream := TStringStream.Create('');
       StrStream.CopyFrom(HTTP.Document, 0);
       FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
       FRetWS := SeparaDados( FRetornoWS,'nfeInutilizacaoNF2Result');
       StrStream.Free;
    {$ELSE}
       ReqResp.Execute(Acao.Text, Stream);
       StrStream := TStringStream.Create('');
       StrStream.CopyFrom(Stream, 0);
       FRetornoWS := TiraAcentos(ParseText(StrStream.DataString, True));
       if (FConfiguracoes.WebServices.UFCodigo = 41) and (FConfiguracoes.Geral.VersaoDF = ve310) then // 41 = PR
         FRetWS := SeparaDados( FRetornoWS,'nfeInutilizacaoNFResult')
       else
         FRetWS := SeparaDados( FRetornoWS,'nfeInutilizacaoNF2Result');
       StrStream.Free;
    {$ENDIF}

Mas atualizei o fonte e vi que já atualizaram isso:

    FRetWS := SeparaDados( FRetornoWS,'nfeInutilizacaoNF2Result');
    if FRetWS = '' then
      FRetWS := SeparaDados( FRetornoWS,'nfeInutilizacaoNFResult');

Boa valeu !!!

Rodrigo ®¿®

Curitiba-PR

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Rodrigo,

 

Pelo código que você postou, os seus fontes estão desatualizados faz um bom tempo.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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