Ir para conteúdo
  • Cadastre-se

dev botao

AcbrLibNFSe erro -10, Access violation


Ver Solução Respondido por Diego Foliene,
  • Este tópico foi criado há 355 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Boa tarde pessoal, tudo bem !?

Estou com uma situação onde não estou conseguindo identificar o problema!

Preciso homologar a emissão da NFSe para a prefeitura de Taquara/RS.

Utilizo ACBrLibNFSe 1.0.0.64, e neste caso o cliente  possui certificado A3 (windows10 100% atualizado)

Estou efetuando o seguinte roteiro de teste:

1- NFSE_Inicializar
2- NFSE_LimparLista
3- Gerar INI da NFSe
4- NFSE_CarregarINI
5- NFSE_Emitir
6- NFSE_Finalizar

Mas esta me retornando o erro "Codigo:-10, Mensagem:Access violation" após a chamada do método NFSE_Emitir, e com isso não gera o XML de envio...
Testei também, antes da chamada do método NFSE_Emitir, chamar NFSE_GerarLote, desta forma gerou o  xml "-env-lot" mas também retorna o erro "Codigo:-10, Mensagem:Access violation" 

Estou anexando os arquivos utilizados e log.

O detalhe é que utilizo a Lib para emitir NFse para a prefeitura de Gramado/RS, assim como a Lib para emissão de boletos.

Desde já agradeço!

ACBrLib.ini NFSe2023204.ini ACBrLibNFSe-20231206.log 061223133623-env-lot.xml 2023204-rps.xml

  • Consultores
Postado

Boa tarde!

Criada a #TK-4831 para análise do caso e parecer do consultor responsável.

  • Obrigado 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado
15 horas atrás, Enéias Rodrigo disse:

O detalhe é que utilizo a Lib para emitir NFse para a prefeitura de Gramado/RS, assim como a Lib para emissão de boletos.

Bom dia !
E com o provedor de Gramado que vc tem em produção o erro não acontece ?
Utiliza a mesma versão da lib neste provedor tbm?

  • Curtir 1
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Membros Pro
Postado
16 minutos atrás, Daniel InfoCotidiano disse:

Bom dia !
E com o provedor de Gramado que vc tem em produção o erro não acontece ?
Utiliza a mesma versão da lib neste provedor tbm?

Bom dia !!! 
Neste cliente que emite para Gramado, esta sendo utilizado a versão 1.0.0.33.

  • Consultores
Postado
3 minutos atrás, Enéias Rodrigo disse:

Neste cliente que emite para Gramado, esta sendo utilizado a versão 1.0.0.33.

Por favor, consegue testar com a versão de gramado em taquara e nos reportar ?
 

  • Curtir 1
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Consultores
Postado

Bom dia!

Apenas fornecendo um retorno sobre a situação.

Estamos realizando alguns testes utilizando os programas exemplos disponíveis e testes unitários, no entanto, estamos tendo dificuldades para reproduzir o problema.

Dito isso, por favor, peço que:

  • Um passo a passo de como você utiliza a Lib para este método.
    • A lib single thread não precisa de um handle, mas os métodos NFSe_Inicializar e NFSe_Finalizar, por exemplo estão sendo usados corretamente?
    • Qual é o passo a passo para a chamada dos métodos?
  • Foi feito um teste com a lib que teoricamente funciona em outras cidades com a cidade de Taquara que é onde foi detectado o problema por você. Por favor, faça um teste usando a versão mais recente da lib disponibilizada no fórum tanto com uma cidade cuja emissão funciona quanto com a cidade de Taquara.
  • Obrigado 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado
16 minutos atrás, Diego Foliene disse:

Bom dia!

Apenas fornecendo um retorno sobre a situação.

Estamos realizando alguns testes utilizando os programas exemplos disponíveis e testes unitários, no entanto, estamos tendo dificuldades para reproduzir o problema.

Dito isso, por favor, peço que:

  • Um passo a passo de como você utiliza a Lib para este método.
    • A lib single thread não precisa de um handle, mas os métodos NFSe_Inicializar e NFSe_Finalizar, por exemplo estão sendo usados corretamente?
    • Qual é o passo a passo para a chamada dos métodos?
  • Foi feito um teste com a lib que teoricamente funciona em outras cidades com a cidade de Taquara que é onde foi detectado o problema por você. Por favor, faça um teste usando a versão mais recente da lib disponibilizada no fórum tanto com uma cidade cuja emissão funciona quanto com a cidade de Taquara.

Boa tarde !!! 
Você teria uma forma de acessar minha maquina remotamente e eu lhe mostrar, pois como a linguagem que utilizo é um pouco diferente das demais.
Desta forma posso lhe mostrar com mais clareza como funciona a lógica de utilização da Lib.

  • Consultores
Postado

Boa tarde!

Por favor, grave um vídeo utilizando alguma ferramenta de captura e disponibilize o mesmo.

Fazendo dessa forma, não ficamos presos a disponibilidade de agenda (ambos termos disponibilidade em um dia específico em um horário específico) e toda a equipe de consultores também pode ter acesso e contribuir com expertise.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado
32 minutos atrás, Diego Foliene disse:

Boa tarde!

Por favor, grave um vídeo utilizando alguma ferramenta de captura e disponibilize o mesmo.

Fazendo dessa forma, não ficamos presos a disponibilidade de agenda (ambos termos disponibilidade em um dia específico em um horário específico) e toda a equipe de consultores também pode ter acesso e contribuir com expertise.

Perfeito, vou providenciar e posto o vídeo aqui.

  • Curtir 1
  • Consultores
Postado
15 horas atrás, Enéias Rodrigo disse:

 

Boa tarde pessoal!

Gerei a gravação de como minha rotina é gerada, espero que tenha ficado boa a explicação.

Segue o link do vídeo https://www.loom.com/share/21433cc1ca5e4ba180b5f28e041afa52?sid=4973c56b-5b56-43fd-a137-5b92f85a257d

Utilizei a plataforma "loom".

Qualquer duvida só me avisar.

 

 

Bom dia!

Conseguimos acessar.

O vídeo ficou muito didático, obrigado.

A princípio, o seu processo me parece estar correto.

Vou levar o vídeo a equipe de consultores para ver se alguém tem alguma sugestão do que possa ser o problema.

Também vou comparar o último log que disponibilizou que é o mais completo com o que foi gerado aqui pelo exemplo do C#.

Vou lhe pedir nesse meio tempo por favor que:

  • Faça um teste usando a última versão da Lib que temos no fórum com alguma outra cidade cuja emissão esteja funcionando para você. Assim podemos tentar isolar se o problema acontece somente quando configura a cidade de Taquara/RS.
  • No seu arquivo ACBrLib.ini, está sendo indicado o arquivo ACBrNFSeXServicos.ini, acredito que seja devido a teste anterior quando a informação havia sido alterada e ainda não tinha sido inclusa no SVN.
    Agora, a informação foi enviada ao SVN no componente nativo, então ela deve estar inclusa e vai ser lida internamente na Lib, por isso, não precisa mais apontar o ACBrNFSeXServicos.ini para pegar ela.
  • Obrigado 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado
3 minutos atrás, Diego Foliene disse:

Bom dia!

Conseguimos acessar.

O vídeo ficou muito didático, obrigado.

A princípio, o seu processo me parece estar correto.

Vou levar o vídeo a equipe de consultores para ver se alguém tem alguma sugestão do que possa ser o problema.

Também vou comparar o último log que disponibilizou que é o mais completo com o que foi gerado aqui pelo exemplo do C#.

Vou lhe pedir nesse meio tempo por favor que:

  • Faça um teste usando a última versão da Lib que temos no fórum com alguma outra cidade cuja emissão esteja funcionando para você. Assim podemos tentar isolar se o problema acontece somente quando configura a cidade de Taquara/RS.
  • No seu arquivo ACBrLib.ini, está sendo indicado o arquivo ACBrNFSeXServicos.ini, acredito que seja devido a teste anterior quando a informação havia sido alterada e ainda não tinha sido inclusa no SVN.
    Agora, a informação foi enviada ao SVN no componente nativo, então ela deve estar inclusa e vai ser lida internamente na Lib, por isso, não precisa mais apontar o ACBrNFSeXServicos.ini para pegar ela.

Bom dia !!! 
Perfeito!! 
Vou efetuar os testes para a cidade de Gramado/RS e assim que tiver os resultados, posto aqui!
Obrigado!!

 

  • Consultores
Postado

Bom dia!

Analisamos o vídeo e os arquivos disponibilizados, a princípio o processo parece estar correto.

Por favor, vou lhe pedir para fazer mais alguns testes:

  1. Foi citado que o certificado é o A3. É possível testar com um certificado A1 para ver se o problema também ocorre?
    1. Este certificado A3, funciona com outros DFes?
    2. Se testar ele em site de validadores como Certsign - Teste seu Certificado Digital, Serasa Experian - Teste seu certificado digital e Cerpro - Teste de Certificado Digital ele não apresenta erro?
  2. Na lib, nós temos um método chamado NFSe_ObterCertificados, é possível fazer um teste com ele para ver se ele trás as informações corretamente?
  3. Apenas para desencargo, se puder fazer um teste colocando todos os caracteres do NumeroSerie na seção [DFe] do seu arquivo INI em maiúsculo.

Se o problema persistir depois disso:

Você disse que usa a versão StdCall, single thread e x86 correto?

Vou lhe enviar uma versão da Lib modificada local para que possa fazer um teste.

Nesta versão, modifiquei o método NFSe_GerarLoteRps, adicionando mais linhas de log nele para tentar facilitar encontrar a linha em ocorreu o erro.

EDIT:

Arquivo enviado via mensagem privada aqui no fórum.

  • Curtir 2
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Boa tarde!!!
Claro, já vou efetuar os testes !!!

Obs:
        * Em relação ao certificado A3, ele está funcionando normalmente, o cliente emite NFe/NFCe.

        * Em relação ao teste com certificado A1, já havia efetuado o teste (achei que poderia ser isso) e erro também ocorre.

Obrigado.

  • Curtir 1
  • Consultores
Postado
1 hora atrás, Enéias Rodrigo disse:

Boa tarde!!!
Claro, já vou efetuar os testes !!!

Obs:
        * Em relação ao certificado A3, ele está funcionando normalmente, o cliente emite NFe/NFCe.

        * Em relação ao teste com certificado A1, já havia efetuado o teste (achei que poderia ser isso) e erro também ocorre.

Obrigado.

Entendido.

Fico no aguardo do log com a Lib alterada.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Boa tarde!!

Efetuei os seguintes testes, conforme solicitado:

1 - Utilizar o método chamado NFSe_ObterCertificados (ocorreu o erro, segue o log em anexo);

2 - Todos os caracteres do NumeroSerie na seção [DFe] foram alterados para maiúsculo.

3 - Atualizei a Lib com a versão modificado e utilizei o método "NFSe_GerarLote" (ocorreu o erro, segue o log em anexo);

 

ACBrLibNFSe-20231214 NFSE_ObterCertificados.log ACBrLibNFSe-20231214 NFSe_GerarLoteRPS.log ACBrLib.ini

  • Curtir 1
  • Consultores
  • Solution
Postado
1 hora atrás, Enéias Rodrigo disse:

Boa tarde!!

Efetuei os seguintes testes, conforme solicitado:

1 - Utilizar o método chamado NFSe_ObterCertificados (ocorreu o erro, segue o log em anexo);

2 - Todos os caracteres do NumeroSerie na seção [DFe] foram alterados para maiúsculo.

3 - Atualizei a Lib com a versão modificado e utilizei o método "NFSe_GerarLote" (ocorreu o erro, segue o log em anexo);

 

ACBrLibNFSe-20231214 NFSE_ObterCertificados.log 1.07 kB · 0 downloads ACBrLibNFSe-20231214 NFSe_GerarLoteRPS.log 2.1 kB · 0 downloads ACBrLib.ini 4.5 kB · 0 downloads

Pelo log modificado, me parece que o problema está ocorrendo quando usa o método MoverStringParaPChar.

No seu log temos esta entrada aqui:

Citar

14/12/23 14:36:20:114 - MoverStringParaPChar. StrLen:16, BufLen:5000

Que significa que foi alocado tamanho 5000 para o buffer, mas a string só usou 16.

Nesse caso, o 16 é por causa do erro, mas em caso de sucesso, o método vai te devolver um XML, ocupando bem mais espaço

Por favor, tente aumentar o tamanho que foi alocado para o buffer (coloque 15000 ou até mesmo 60000 por exemplo) e faça um novo teste.

EDIT:

Conversei junto aos demais consultores e realmente considerando as informações reunidas, tudo aponta que o tamanho do buffer que está sendo passado para o método NFSe_GerarLote não está sendo suficiente.

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Boa tarde pessoal !!! 
Tudo bem !?!?!

Passando aqui para reportar que consegui solucionar o problema na emissão da NFSe !!
Agradeço pela ajuda!!


Agora estou com uma situação em relação ao certificado A3 kkkkkkkkk.

Como o cliente, possui múltiplos terminas, o que acontece, quando emite a NFse onde o certificado esta instalado, ou seja no servidor, emite tudo certo.
Agora ao tentar emitir em uma maquina da rede, acusa o seguinte erro: "-10, Provedor de Criptografia não encontrado. Verifique a configuração do Certificado , erro: $80090019"

Preciso efetuar alguma configuração a mais por questão do certificado A3?

Estou anexando o log gerado.

Novamente, obrigado!

 

ACBrLibNFSe-20231221.log

  • Consultores
Postado

Boa tarde !
 

19 minutos atrás, Enéias Rodrigo disse:

Passando aqui para reportar que consegui solucionar o problema na emissão da NFSe !!

Qual foi a solução ? para deixarmos deixarmos registrado aqui no forum para que possamos ajudar mais membros da comunidade? se puder nos contar

O Certificado não vai funcionar em Rede, talvez vc precise criar uma aplicação servidora (em camadas) ou uma API
para que vc passe a instrução ele processe no servidor (que está a leitora com o A3) e te devolva a NFe emitida.
Ou utilizar A1 q vc pode instalar em qq estação da rede

  • Curtir 1
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Membros Pro
Postado
14 horas atrás, Daniel InfoCotidiano disse:

Boa tarde !
 

Qual foi a solução ? para deixarmos deixarmos registrado aqui no forum para que possamos ajudar mais membros da comunidade? se puder nos contar

O Certificado não vai funcionar em Rede, talvez vc precise criar uma aplicação servidora (em camadas) ou uma API
para que vc passe a instrução ele processe no servidor (que está a leitora com o A3) e te devolva a NFe emitida.
Ou utilizar A1 q vc pode instalar em qq estação da rede

Bom dia !!!

Em relação a solução, como a ferramenta que utilizo (Magic Xpa, site: https://www.magicsoftware.com/pt-br/app-development-platform/xpa/) possui integração nativa a código C#/.net...
Precisei criar a chamada através do C#.
Anexei uma imagem de como ficou o código.
 

Screenshot_2.png

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