Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

bom dia, 

estou tendo um problema que só acontece na operação de cancelamento.

utilizo o acbrnfemonitor e intemitentemente quando é necessário cancelar alguma nfe, o monitor me retorna uma mensagem de violação de memoria. este erro ja ocorreu no meu escritório,  em 3 pcs diferentes 1 com windows 8 64bits outro com xp pro e outro com windows 7 32 bits. No cliente está em um pc windows 7 32bits.

 

 

meu software mostra mensagem conforme imagem em anexo, na janela do monitor é exibida a mesma mensagem. atualmente estou usando a versão 0.7.18.3. já tentei restaurar o sistema operacional, desinstalei o acbr e reinstalei do zero mas nada resolveu o problema. porem como eu ja disse as vezes cancela normalmente, mas na maioria das vezes este erro está ocorrendo.

o problema maior é que de uma semana pra cá o está demorando muito para conseguir cancelar e em algumas notas está expirando o prazo de cancelamento.

 

alguém tem alguma dica do que eu posso fazer  pra sanar o problema?

 

 

Obrigado a todos.

post-10121-0-55772300-1388146648_thumb.j

Postado

Bom dia, qual o método que você está chamando para efetuar o cancelamento? Mostre o trecho do seu código para que possamos ajuda-lo.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Postado
 
uso visual basic neste projeto e criei a rotina abaixo para realizar o cancelamento.
como já mencionei antes uso o acbrnfemonitor e me comunico via sockets.
 
Public Function nfe_cancelarnfe(cChave As String, cMotivo As String, cNFe As Long, cNProt As String, cCNPJ As String) As Boolean
       Dim m As String, gTmp As String, cXMLCancelamento As String
       Screen.MousePointer = vbHourglass
       m = Mensagem("Solicitando Cancelamento da NFE na SEFAZ, Aguarde ...")
       If TudoOK() Then 'Analiza se o monitor estar ativo
          'envia comando via tcpip
 wConnect.SendData "NFe.CancelarNFe(" & cChave & "," & cMotivo & ")" & endCommand
          waitComandoResponse ' aguarda resposta do monitor
          If bOk = 1 Then 'monitor respondeu ok
             x = Me.nfe_getlote 'gera nº do lote
             If SalvarLote("CANCELAMENTO") Then 'salva no banco o retorno do monitor
                ' analiza o status 
     If pegaPartesRetornoNFE("[CANCELAMENTO]", "CStat=") = 101 Or pegaPartesRetornoNFE("[CANCELAMENTO]", "CStat=") = 135 Then
                   'pega o xml de cancelamento
  lPos = InStr(cRetorno, "XML=")
                   cXMLCancelamento = Mid(cRetorno, lPos + 4)
                   RaiseEvent NFeCancelada(cNFe, cChave, pegaPartesRetornoNFE("[CANCELAMENTO]", "NProt="), cXMLCancelamento)
                   nfe_cancelarnfe = True
                   RaiseEvent Alerta(0, pegaPartesRetornoNFE("[CANCELAMENTO]", "xEvento="))
                ElseIf pegaPartesRetornoNFE("[CANCELAMENTO]", "CStat=") >= 200 Then
                   RaiseEvent Alerta(0, pegaPartesRetornoNFE("[CANCELAMENTO]", "XMotivo="))
                End If
             End If
          End If
          If bErro <> "" Then RaiseEvent Erro(0, bErro)
       End If
       Mensagem m
       Screen.MousePointer = vbDefault
End Function
Postado

só complementando, a mensagem apresentada não é gerada pelo meu software ela vem pelo retorno do socket enviada pelo monitor ao meu software a mensagem completa recebida pelo socket é "Erro::Access violation at address 00404c78 in 

module ACBrNFeMonitor.exe. Read of address 4851783A".
Postado

No ACBrNFeMonitor ta marcado a opção para efetuar o cancelamento por Evento? O comando CancelarNFe() é antigo, para que ele funcione por evento deve a opção Cancelamento por evento deve esta marcada.

 

Tem vários relatos desse erro, se fizermos uma pesquisa veremos que pode ser a Hora enviada coma Hora do SEFAZ, já me ocorreu por falta de conexão com Internet.

 

Caso nada disso esteja ocorrendo, aconselho anexar o log quando o erro ocorrer para que um analista dessa área de uma lida e descubra exatamente o comando que está ocasionando essa violação. 

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Postado

boar tarde,

já esta marcado a opção "por evento".

ativei o log  de comandos enviados e recebidos e assim que ocorrer novamente o problema eu entro em contato novamente.

 

gostaria de saber se eu encerro este post ou se aguardo mais um pouco.

 

 

obrigado.

Postado

Dê continuidade a esse mesmo.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Postado

boa tarde, 

 

o problema de violação voltou a ocorrer segue log do monitor para analize conforme solicitado.

obs: na linha 5092 deste arquivo há um cancelamento realizado com sucesso.

na linha 8112 há um log onde ocorreu o erro de violação.

 

 

 

LOG.TXT

LOG.TXT

  • Moderadores
Postado

Você está enviando o texto entre aspas?

 

 NFe.CancelarNFe(26131208584745000157550010000030291000030292,ERRO DIGITACAO)

 NFe.CancelarNFe("26131208584745000157550010000030291000030292","ERRO DIGITACAO")

 

 

Esperando por comandos.

30/12/2013 14:29:42 - NFe.CancelarNFe(26131208584745000157550010000030291000030292,ERRO DIGITACAO)
ERRO: Access violation at address 007B7488 in module 'ACBrNFeMonitor.exe'. Read of address 0000001C
30/12/2013 14:29:44 - NFe.CancelarNFe(26131208584745000157550010000030291000030292,ERRO DIGITACAO)
ERRO: Access violation at address 007B7488 in module 'ACBrNFeMonitor.exe'. Read of address 0000001C
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

boa tarde, 

 

realmente não estava com as aspas. Coloquei mas o erro persistiu.

porem notei um fato novo.

na aba webservices estava marcada a opção "Salvar arquivos Enviados/Recebidos p/WebServices", a qual estava apondando  para a pasta "C:\XML". e o problema não ocorreu mais.

 

estou realizando mais alguns testes para informar. porem o arquivo XML retonado não vem assinado após esta opção ser desmarcada.

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