Jump to content

dev botao

Acces Violation ao Enviar NFe


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

Recommended Posts

Olá! Este é o meu primeiro tópico, então desculpem-me se eu estiver ferindo alguma regra. Há alguns dias comecei a tomar Acces Violation ao enviar NFe. Como o erro não ocorre sempre e nem em todos os clientes, não consegui identificar o problema.  O ACBrNFe possui algum tipo de Log semelhante ao do ACBrSAT? Assim ficaria mais fácil eu encontrar onde o problema ocorre. Não sei se foi coincidência, mas o problema se agravou após eu parar de usar a CAPICOM. 

DMACBr.ACBrNFe.Configuracoes.Geral.SSLCryptLib := cryWinCrypt;
DMACBr.ACBrNFe.Configuracoes.Geral.SSLHttpLib := httpWinHttp;
DMACBr.ACBrNFe.Configuracoes.Geral.SSLXmlSignLib := xsLibXml2;

Depois que passei a usar xsLibXml2 para a assinatura, a function TDFeSSLXmlSignLibXml2.LibXmlFindSignatureNode passou a gerar essa exceção(apenas em modo de debug) : Falha ao localizar o nó de assinatura.  Gostaria de alguma orientação para resolver o problema.

 

Link to comment
Share on other sites

  • Consultores

Boa tarde Rafael,

Quando você se refere a CFe esta se referindo a NFC-e?

O componente ACBrNFe foi incluído em um Form ou ele é criado e destruído em tempo de execução?

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 to comment
Share on other sites

20 minutos atrás, Italo Jurisato Junior disse:

Boa tarde Rafael,

Quando você se refere a CFe esta se referindo a NFC-e?

O componente ACBrNFe foi incluído em um Form ou ele é criado e destruído em tempo de execução?

Boa tarde, Italo! Me refiro ao ACBRSAT + ACBRIntegrador(CFe aqui no Ceará). Todos os componentes do ACBr estão em um mesmo DataModule.

Link to comment
Share on other sites

  • Consultores

Rafael,

Como o problema é na sua aplicação e esta ocorrendo um AV, isso significa que ele esta tentado focar um componente que não esta visível no momento.

Você já notou que isso ocorre quando tenta emitir o CFe depois de emitir uma NF-e, então você precisa "debugar" a partir desse ponto.

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 to comment
Share on other sites

Entendo, Italo! Na verdade, o intuito do post foi para saber se conheciam uma forma mais fácil de encontrar o motivo do AV. Por exemplo, no ACBRSat tem uma opção de habilitar Logs, essa opção ajudou bastante a descobrir um erro semelhante que ocorria no CFe, inclusive era um erro no componente e foi corrigido pelo André.

Sei que AV não é um erro que dê pra vocês resolverem sem nenhum parâmetro para análise. Vou continuar tentando, abraços.

Link to comment
Share on other sites

  • Consultores

Rafael,

Apesar nas últimas alterações nos componentes, inclusive no ACBrNFe, faz tempo que não temos ocorrências de AV no componente ACBrNFe.

Logo a minha suspeita recai na sua aplicação.

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 to comment
Share on other sites

4 minutos atrás, Italo Jurisato Junior disse:

Rafael,

Apesar nas últimas alterações nos componentes, inclusive no ACBrNFe, faz tempo que não temos ocorrências de AV no componente ACBrNFe.

Logo a minha suspeita recai na sua aplicação.

Não tenho o que questionar, sei que o problema é no meu sistema. Repetindo, só queria saber se conheciam uma forma que facilitasse o trabalho. 

Link to comment
Share on other sites

  • Moderadores
1 hora atrás, Rafael Mota Facundo disse:

Boa tarde, Italo! Me refiro ao ACBRSAT + ACBRIntegrador(CFe aqui no Ceará). Todos os componentes do ACBr estão em um mesmo DataModule.

Boa tarde, verifique se o componente NF-e não está vinculado ao componente Integrador quando for gerar a NFe... na propriedade "Integrador" não deve ser preenchido para NFe.

 

 

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

Em 15/03/2018 at 16:21, José M. S. Junior disse:

Boa tarde, verifique se o componente NF-e não está vinculado ao componente Integrador quando for gerar a NFe... na propriedade "Integrador" não deve ser preenchido para NFe.

 

 

Oi, José! Já havia verificado isso, e a faço essa vinculação apenas na Emissão de NFCe. Mas acho que encontrei o problema. No evento OnStatusChange do componente ACBrNFe, eu copiei um código que tem nos exemplos do ACBr:

case ACBrNFe1.Status of
    stIdle :
    begin
      if ( frmStatus <> nil ) then
        frmStatus.Hide;
    end;
    stNFeStatusServico :
    begin
      if ( frmStatus = nil ) then
        frmStatus := TfrmStatus.Create(Application);
      frmStatus.lblStatus.Caption := 'Verificando Status do servico...';
      frmStatus.Show;
      frmStatus.BringToFront;
    end;
    stNFeRecepcao :
    begin
      if ( frmStatus = nil ) then
        frmStatus := TfrmStatus.Create(Application);
      frmStatus.lblStatus.Caption := 'Enviando dados da NFe...';
      frmStatus.Show;
      frmStatus.BringToFront;
    end;
    ..................
  Application.ProcessMessages;

O que ocorre é que o frmStatus é instanciado mas não é destruído, como eu uso o frmStatus também no CFe e lá eu destruo apenas com o Free, ao voltar para o NFe recebo o AV. Agora eu pergunto, dentro do evento OnStatusChange onde devo destruir o frmStatus?

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...