Ir para conteúdo
  • Cadastre-se

gui_cp

Membros Pro
  • Total de ítens

    11
  • Registro em

  • Última visita

Sobre gui_cp

gui_cp's Achievements

  1. Pessoal, Acabei resolvendo de outra forma.
  2. Bom dia Pessoal. A biblioteca AcbrSat possui o método "SAT_ConfigGravarValor()" que grava um valor no arquivo de configuração (eArqConfig). SAT_Inicializar(handle, eArqConfig, eChaveCrypt); Existe algum método que grave valor no arquivo INI que será enviado para criar o CFE (eArqCfe) ? SAT_CriarEnviarCFe(handle, eArqCfe, aloc_sResposta, aloc_esTamanho);
  3. @Daniel InfoCotidiano, bom dia ! Segui seu exemplo e substitui as dlls pelas novas. Agora funcionou. Também fiz o teste com as dll 32 + simulador e não obtive o erro novamente. Obrigado pela ajuda.
  4. Bom dia ! Encontrei um artigo muito bom sobre esse erro: https://pt.linkedin.com/pulse/como-entender-os-access-violations-alex-mello-de-mendonça Recomendo a leitura. Mas enfim, percebi que o problema estava na alocação de memória nas String ( ponteiros ) passados para as funções do ACBR. O problema foi resolvido da seguinte forma: Na declaração dos métodos: SAT_ConsultarSAT: ['int', ['pointer', 'string', 'string']], alterado para: var tint = ref.refType('int'); var tchar = ref.refType('char *'); ... SAT_ConsultarSAT: ['int', ['pointer', tchar, tint]], ... aloc_sResposta = Buffer.alloc(buflength); aloc_esTamanho = ref.alloc('int', buflength); ACBrLibSAT.SAT_ConsultarSAT(handle, aloc_sResposta, aloc_esTamanho); Problema resolvido ! Obrigado pela ajuda @Diego Foliene.
  5. @Diego Foliene, bom dia. Ainda estou trabalhando com esse problema. Fiz vários testes e também segui a risca o tópico que você sugeriu. Tive alguns avanços no sentido de conseguir enviar o SAT_CriarEnviarCFe(D:\ACBrSAT_CFE_simples.ini ) mesmo com o handler. No entanto, mesmo utilizando Multhread, caí no problema de Access Violation novamente (antes resolvido com o MT). Mesmo retornando "Access Violation", o Emulador SAT mostra que todos comandos estão sendo executados com sucesso. Alguns fóruns na Web relacionaram o erro "Access Violation" com erro no certificado digital, no entanto não consegui achar nada anormal no meu arquivo ACBrLib.ini Vou te encaminhar meus arquivos novamente e os Logs gerados. O que percebo é que o problema não está no Sat, mas em algum detalhe com a Dll do Acbr, pois mesmo a função "SAT_ConfigLerValor" retorna "access violation" ACBrLibSAT.SAT_ConfigLerValor(handle, 'Sistema', 'Versao', aloc_sResposta, aloc_esTamanho); ACBrLibSAT-20240119.log ACBrSatLog.txt ACBrLib.ini ACBrSAT_CFE.ini
  6. @Diego Foliene, Inicialmente, obrigado por validar meu arquivo .ini. Seu comentário faz total sentido e me deu a orientação que eu precisava. No entanto, parece que entrei em uma sinuca de bico. Estou utilizando o ACBrLib com nodejs. Há alguns dias, estava tendo esse erro: SetRetorno(-10, Access violation) Para resolver, implementei o MultiThread (https://acbr.sourceforge.io/ACBrLib/ACBrLibeMultiThread.html) Resolveu meu problema de acesso às funções do ACBrLib. No entanto, meus métodos devem sempre passar um "handler" como parâmetro (conforme link acima), ou seja: SAT_CriarCFe(eArquivoIni, sResposta, esTamanho); passou a ser: var handle = ref.alloc('pointer'); SAT_CriarCFe.async(handle, eArquivoIni, sResposta, esTamanho) Isto resolveu meu problema de "Access Violation", mas agora criou esse problema de ignorar o valor passado na variável "eArquivoIni". Fiz o teste sem o Handle e o log pegou o caminho certinho do "eArquivoIni" , mas voltou a dar o erro de "Access Violation": 17/01/24 11:44:22:239 - SAT_CriarEnviarCFe(D:\projetos\ACBr\ACBrSAT_CFE_simples.ini ) 17/01/24 11:44:22:247 - Travar 17/01/24 11:44:22:755 - Destravar 17/01/24 11:44:22:755 - SetRetorno(-10, Access violation) Será que consigo sair dessa situação ?
  7. Pessoal, bom dia ! Estou utilizando o método SAT_CriarCFe(handle, eArqCfe, sResposta, esTamanho) para emitir cupom fiscal com o emulador do SAT. No entanto, minha aplicação retorna erro com o log: 17/01/24 08:03:05:848 - SAT_CriarCFe( ) 17/01/24 08:03:05:848 - Travar 17/01/24 08:03:05:863 - Destravar 17/01/24 08:03:05:879 - SetRetorno(-10, String INI informada não é válida.) É possível saber detalhes sobre o campo que está errado no .ini informado ? Estou seguindo o manual e utilizando o .ini simplificado (https://acbr.sourceforge.io/ACBrLib/ModeloCFeINISimplificadovalido.html) Segue em anexo meu arquivo CFe.ini. ACBrSAT_CFE_simples.ini
  8. Utilizando ACBrSat, estou obtendo o erro: "ACBrLibPosPrinter is not defined" Na documentação, não encontrei quais configurações devem ser feitas para o PosPrinter. No caso, o Log não gera erro: 12/01/24 14:58:21:499 - SAT_InicializarSAT 12/01/24 14:58:21:499 - Travar 12/01/24 14:58:21:514 - SetRetorno(0, ) 12/01/24 14:58:21:514 - Destravar 12/01/24 14:58:21:530 - SAT_ConsultarSAT 12/01/24 14:58:21:546 - Travar 12/01/24 14:58:21:655 - MoverStringParaPChar. StrLen:192, BufLen:0 12/01/24 14:58:21:655 - SetRetorno(0, [RespostaSat] CodigoDeErro=0 CodigoDeRetorno=8000 CodigoSEFAZ=0 MensagemRetorno=SAT-CFe em operação. MensagemSEFAZ= NumeroSessao=150301 Retorno=150301|08000|SAT-CFe em operação.|| ) 12/01/24 14:58:21:655 - Destravar Esse erro aparece como retorno no console .... aparece apenas: Consultando SAT (SAT_ConsultarSAT) ... ACBrLibPosPrinter is not defined no código: acbrSat.SAT_ConsultarSAT(function (resultado) { console.log('Consultando SAT (SAT_ConsultarSAT) ... ', resultado.message); }); Ocorre sempre que utilizo SAT_ConsultarSAT(). ------------------------------------------------------------------------------------------- Daniel Simões de Almeida — 12/01/2024 18:54 parece ser um Bug interno na Lib... ela está tentando imprimir algo... mas esse método não deveria gerar uma impressão @Diego Folieni , pode por favor abrir uma Tarefa para analise ? ------------------------------------------------------------------------------------------- Diego Folieni — 12/01/2024 20:45 Criada a TK-4982 para análise do caso. ACBrLib_Copia.ini
  9. Boa tarde @Endrigo Rodrigues Poderia compartilhar seu package.json para listar a versão dos módulos instalados ?
  10. Bom dia Daniel. Testou com este exemplo aqui? http://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/Node.js/PosPrinter/ R: Isso, estou apenas tentando reproduzir esse exemplo para entender o funcionamento. Estou seguindo ele a risca. Ele chega gerar o arquivo posprinter em d:\printer ? R: Não Chegou a enviar quais comandos para impressão? POS_ImprimirLinha(eString); POS_Imprimir(eString, PulaLinha, DecodificarTags, CodificarPagina, Copias); R: Tentei enviar esses comandos, mas o log retorna -10 com o erro de impressora não ATIVA: 06/11/23 16:14:16:614 - Travar 06/11/23 16:14:16:614 - Destravar 06/11/23 16:14:16:614 - SetRetorno(-10, Não está Ativo) 06/11/23 16:14:16:614 - Destravar 06/11/23 16:14:16:614 - SetRetorno(-10, Não está Ativo) Não consigo executar o método POS_Ativar() de jeito nenhum.
  11. Pessoal, boa tarde. Estou tentando executar o exemplo do SVN com ACBrPosPrint utilizando Nodejs. ACBrLibPosPrinter.POS_Inicializar.async(eArqConfig, eChaveCrypt, (err, result) => { if (err) { console.error('Erro: ' + err); } else { console.log('POS_Inicializar >>>> ' + result); ACBrLibPosPrinter.POS_Nome(aloc_sResposta, aloc_esTamanho); console.log(`POS_Nome >>>> ${aloc_sResposta}`); var valor = ACBrLibPosPrinter.POS_ConfigGravarValor("PosPrinter","Modelo","0"); console.log(`POS_ConfigGravarValor >>>> ${valor}`); // var retorno = ACBrLibPosPrinter.POS_Ativar(ref.NULL); ACBrLibPosPrinter.POS_Ativar.async(ref.NULL, (err, result) => { if (err) { console.error('Erro: ' + err); } else { console.log('POS_Ativar >>>> ' + result); } }); } }); O código acima aparentemente está funcionando, mas quando chega no ACBrLibPosPrinter.POS_Ativar(), o aplicativo trava e fecha sem apresentar erro no LOG. Estou tentando imprimir em um arquivo txt. Minha suspeita está no arquivo de configuração, mas não consigo fazer funcionar de jeito nenhum. Estou encaminhando em anexo meu arquivo de configuração e meu LOG. ACBrLib.ini ACBrLibPosPrinter-20231103.log
×
×
  • 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.