Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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.

 

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

  • Consultores
Postado

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

Postado

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.

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

  • Moderadores
Postado
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.

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

×
×
  • 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.