Ir para conteúdo
  • Cadastre-se

Renan Kemp

Membros Pro
  • Total de ítens

    40
  • Registro em

  • Última visita

Sobre Renan Kemp

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Renan Kemp's Achievements

  1. Notei que se eu passar o XML com alguma tag incorreta ou o caminho errado ele nao gera erro Passando certo aceitou Mas ai me surge a duvida como irei Carregar o XML para o componente validar ? minha pergunta surge por que nao encontrei onde pego a respostar do CarregarXML [resolvido] o componente somente nao anexa caso exista erro estrutural ou seja se for erro de tags ele aceita carregar para Validar na sequencia
  2. Olá tudo bem Quando carrego um XML na DLL através do metodo NFE_CarregarXML https://acbr.sourceforge.io/ACBrLib/NFE_CarregarXML.html ele retorna 0 indicando que o método foi aceito em seguida consulto o ultimo retorno e obtenho 0 NFe(s) Carregada(s) fiz a leitura em outro post que que menciona que a biblioteca ainda nao tem a possibilidade de consultar as nfe carregadas. Neste eu nao consigo chamar NFE_ObterXml que seria o proximo passo onde eu preciso passar o AIndex que é o index da nfe na memoria se eu passaria 0 no index e chamar recebo "Falha ao obter o xml (retObterXml -13): Indice informado não encontrado" o problema estaria em algo no NFE_CarregarXML ? Ambiente: node + MT + ACBrNFe64.dll (0.4.6.265) NF.xml log-paranoico.txt
  3. openssl 3 a nova versao para funcionar tem que usar a senha gravando direto na dll NFE_ConfigGravarValor: ['int', ['pointer', 'string', 'string', 'string']], Todos os campos da certo passar no ini de inicialização mas a *senha tem que passar direto * Obrigado pela ajuda parabens pela iniciativa acbr
  4. Se antes de consultar o serviço eu gravar a senha diretamente na dll ele aceita a senha https://acbr.sourceforge.io/ACBrLib/NFE_ConfigGravarValor.html const retNFE_ConfigGravarValor = await acbrNfe.lib.NFE_ConfigGravarValor(acbrNfe.handle, 'DFe', 'Senha', '123') let aloc_sResposta = Buffer.alloc(acbrNfe.buflength) let aloc_esTamanho = ref.alloc('int', acbrNfe.buflength) const retStatus = await acbrNfe.lib.NFE_StatusServico(acbrNfe.handle, aloc_sResposta, aloc_esTamanho) Com isso ele esta ignorando a senha do arquivo INI inicializado Isso se aplica somente a senha ou existe mais campos que precisam ser gravados desta forma?
  5. estou enfrentando acredito que o mesmo problema meu ambiente é node + windows + MT + 64bits + node 18 Provavelmente a senha está errada Error: 293601393 - error:11800071:PKCS12 routines::mac verify failure sabe me dizer se isso que estou recebendo tem a relação com o mesmo problema que vocês estão tendo?
  6. As informações postadas aqui tem a intenção de ajudar alguém que passe pelo mesmo problema ao carregar um certificado digital A1 no acbrNfeLib64 (MT) O Problema da senha consegui resolver colocando somente senhas númericas no pfx exemplo 1234, desta forma quando inicializar o ini vai manter a senha original Agora estou tentando resolver o problema WebService Consulta Status serviço: - Inativo ou Inoperante tente novamente. Erro ao ler informações do Certificado. Provavelmente a senha está errada Error: 293601393 - error:11800071:PKCS12 routines::mac verify failure Tem um tópíco que me ajudou bastante este Mas notei que ele não foi finalizado Estou fazendo testes e assim que descobrir o motivo posto para que ajude mais pessoas que passem por este problema. o acbr em Delphi + Windows funcionava tranquilo esta questao. Mas na lib tem que se atentar a estes detalhes
  7. Este tópico https://acbr.sourceforge.io/ACBrLib/DFe.html me ajudou a resolver o erro: "CarregarCertificadoDeDadosPFX" não implementado em: TDFeSSLCryptClass notei que a tag Senha no arquivo ini quando eu faço o inicializar na lib https://acbr.sourceforge.io/ACBrLib/NFE_Inicializar.html ele muda a senha parece que criptografa entao ja passo ela criptografada no arquivo INI , com isso o comando NFE_Inicializar não modifica a senha no ini mesmo assim recebo Falha ao obter o status do serviço (retStatus -10): WebService Consulta Status serviço: - Inativo ou Inoperante tente novamente. Erro ao ler informações do Certificado. Provavelmente a senha está errada Error: 293601393 - error:11800071:PKCS12 routines::mac verify failure em ambas as tags o erro é gerado DadosPFX ou ArquivoPFX *Peço desculpas se sai um pouco do tema inicial que era tag DadosPFX tipo de string* é que o motivo de eu querer saber o formato era que talvez eu pude-se contornar o erro Desde já muito obrigado pelo espaço aqui disponibilizado
  8. Tentei passar a tag DadosPFX na libNfe64 com a openssl 3.1.3 x64 https://svn.code.sf.net/p/acbr/code/trunk2/DLLs/OpenSSL/3.1.3/x64/ no log nível 4, recebo: 18/01/24 05:59:01:820 - SetRetorno(-10, WebService Consulta Status serviço: - Inativo ou Inoperante tente novamente. "CarregarCertificadoDeDadosPFX" não implementado em: TDFeSSLCryptClass)
  9. Renan Kemp

    DadosPFX tipo de string

    Olá tudo bem No arquivo .ini que carrego na libNfe possui sessão [DFe] tag DadosPFX qual o tipo de string devo passar na tag DadosPFX ou seja apos eu carregar o arquivo PFX para a memoria eu passo como UTF8, base64 qual o formato correto ?
  10. [resolvido] Obrigado pela Ajuda Funcionou !
  11. Renan Kemp

    Arquivo INI tags

    Olá tudo bem Dentro do arquivo ini eu coloco estas tags, extraidas da dll do acbrLibNfe64 [Emissor] [Principal] [Versao] [Sistema] [Email] [PosPrinter] [PosPrinter_Barras] [PosPrinter_QRCode] [PosPrinter_Logo] [PosPrinter_Gaveta] [PosPrinter_MPagina] [PosPrinter_Device] [Proxy] [SoftwareHouse] [DFe] [NFe] [DANFE] [DANFENFe] [DANFENFCe] Eu gostaria de saber se as tags de endereços dos enpoints, podem ser carregadas no mesmo arquivo INI exemplo estas ? [NFe_AC_P] [NFe_AC_H] [NFe_AL_P] [NFe_AL_H]
  12. Olá tudo bem Sobre StdCall e Cdecl: Eu entendi que em node depende de onde compilo a aplicação * windows = StdCall * linux = Cdecl tentei inverter isso mas nao vi diferença no comportamento Atualmente estou testando em StdCall + windows + MT (MultiThread) Sobre o cache na dll: Tentei localizar algum arquivo ini com as tags que vinham no cache mas não encontrei mesmo com o auxilio do pesquisador de arquivos "Everything" A solução que encontrei foi carregar o arquivo INIsempre na inicialização. [RESOLVIDO] Muito Obrigado pela ajuda, se precisar de algo com node não exite em me chamar, estou aqui para ajudar tambem Obrigado
  13. eu sei que esta com cache por que sempre que o ini é gerado vem com a tag preenchida como fiz la atras, ja reinicie a maquina e persiste [Sistema] Nome=testeRenan
  14. Renan Kemp

    Cache acbrlib

    Estou usando acbrLibNfe + node + openssl 1.1.x + MT + Cdecl ou StdCall (testei ambos) Carrego a lib atraves de uma função igual a do DEMO node const path = require('path') const ffi = require('ffi-napi') const ref = require('ref-napi') const fs = require('fs') import { Request, Response } from 'express' import { checkVersion } from '../utils/checkVersion' // const pathDllACBrLibNFeCdecl = path.join(__dirname, '../../../libs/acbr/ACBrLibNFe/bin/MT/Cdecl/ACBrNFe64.dll') // 64 bits const pathDllACBrLibNFeStdCall = path.join(__dirname, '../../../libs/acbr/ACBrLibNFe/bin/MT/StdCall/ACBrNFe64.dll') // 64 bits //export const buflength = 1024 * 16 export const buflength = 256 export const getLibNfe = async (): Promise<any> => { const libm = await ffi.Library(pathDllACBrLibNFeStdCall, { NFE_Inicializar: ['int', ['pointer', 'string', 'string']], NFE_Finalizar: ['int', ['pointer']], NFE_CarregarINI: ['int', ['pointer', 'string']], NFE_StatusServico: ['int', ['pointer', 'string', 'string']], NFE_UltimoRetorno: ['int', ['pointer', 'string', 'string']], NFE_Nome: ['int', ['pointer', 'string', 'string']], NFE_Versao: ['int', ['pointer', 'string', 'string']], NFE_ConfigLer: ['int', ['pointer', 'string']], NFE_ConfigGravar: ['int', ['pointer', 'string']], NFE_ConfigLerValor: ['int', ['pointer', 'string', 'string', 'string', 'string']], NFE_ConfigGravarValor: ['int', ['pointer', 'string', 'string', 'string']], NFE_ConfigImportar: ['int', ['pointer', 'string']], NFE_ConfigExportar: ['int', ['pointer', 'string', 'string']], NFE_ObterCertificados: ['int', ['pointer', 'string', 'string']], NFE_CarregarXML: ['int', ['pointer', 'string']], NFE_SalvarPDF: ['int', ['pointer', 'string', 'string']] }) return libm } Em seguida inicio e gero o INI usando esta rotina export const statusServico = async (certificate: TPfx): Promise<any> => { const lib = await getLibNfe() let handle = ref.alloc('pointer') let aloc_sResposta = Buffer.alloc(buflength) let aloc_esTamanho = ref.alloc('int', buflength) handle = await inicializarBiblioteca(lib, handle) await configGravar(lib, handle) } export const configGravar = async (lib: any, handle: any): Promise<any> => { const dateAndHoursAA_MM_DD_HH_MM_SS = new Date().toISOString().replace(/:/g, '-') const iniPathGravar = path.resolve(__dirname, `../../logsIni/ACBrNFeServicosGravar${dateAndHoursAA_MM_DD_HH_MM_SS}.ini`) // NFE_ConfigGravar const retNFE_ConfigGravar = await lib.NFE_ConfigGravar(handle, iniPathGravar) if (retNFE_ConfigGravar !== 0) { const errorMessageResult = await errorMessage(handle, lib, retNFE_ConfigGravar) console.log('errorMessageResult: ', errorMessageResult) throw new Error(errorMessageResult) } return '' } async function inicializarBiblioteca(lib: any, handle: any): Promise<any> { const arqConfigFile = '' const retInicializar = await lib.NFE_Inicializar(handle, arqConfigFile, '') if (retInicializar !== 0) { throw new Error(`Falha ao inicializar: ${errorMessage(handle, lib, retInicializar)}`) } return ref.readPointer(handle, 0, buflength) } async function finalizarBiblioteca(lib: any, handle: any): Promise<any> { await lib.NFE_Finalizar(handle) } o que acho estranho é que sempre o ini gerado é igual ao anterior mesmo que eu reinicie a maquina parece que fica gravadoAnalisei a documentação mas não vejo o motivoremovi os ini das pastas para nao carregar automatico mas o cache continuao que me aconselhariamMuito obrigadohttps://acbr.sourceforge.io/ACBrLib/NFE_Inicializar.html o metodo que uso para pegar as configurações da dll e gerar o ini é NFE_ConfigGravar
  15. Não encontrei na documentação a lista de funções da dll do acbrNfe Caso exista alguma pagina ou manual que mostre esta lista por favor postem aqui Caso não exista segue a lista Agora preciso saber os argumentos de cada função onde poderia encontrar essa lista? [nodeJs] NFE Assinar NFE_Cancelar NFE_CarregarEventolNl NFE_CarregarEventoXML NFE_CarregarlNl NFE_CarregarXML NFE_ConfigExpottar NFE_ConfigGravar NFE_ConfigGravarValor NFE_Configlmportar NFE_ConfigLer NFE_ConfigLerValor NFE_ConsultaCadastro NFE_Consultar NFE_ConsultarRecibo NFE_DistribuicaoDFe NFE_DistribuicaoDFePorChave NFE__DistribuicaoDFePorNSU NFE_DistribuicaoDFePorUltNSU NFE_Enviar NFE_EnviarEmail NFE_EnviarEmailEvento NFE_EnviarEvento NFE_Finalizar NFE_GerarChave NFE_GetPath NFE_GetPathEvento NFE_Gravarlni NFE_GravarXml NFE_lmprimir NFE_lmprimirEvento NFE_lmprimirEventoPDF NFE_lmprimirlnutilizacao NFE_lmprimirlnutilizacaoPDF NFE_lmprimirPDF NFE_lnicializar NFE Inutilizar NFE_LimparLista NFE_LimparListaEventos NFE_Nome NFE ObterCertificados NFE_Obterlni NFE ObterXml NFE_SalvarEventoPDF NFE SalvarlnutilizacaoPDF NFE_SalvarPDF NFE StatusServico NFE_UltimoRetorno NFE Validar NFE_ValidarRegrasdeNegocios NFE VerificarAssinatura NFE_Versao Exemplo de uso const ffi = require('ffi-napi') export const libNfe = async (): Promise<any> => { const libm = await ffi.Library(pathDllACBrLibNFe, { NFE_Inicializar: ['int', ['pointer', 'string', 'string']], NFE_Finalizar: ['int', ['pointer']], NFE_UltimoRetorno: ['int', ['pointer', 'string', 'string']], NFE_Nome: ['int', ['pointer', 'string', 'string']], NFE_Versao: ['int', ['pointer', 'string', 'string']], NFE_ConfigLer: ['int', ['pointer', 'string']], NFE_ConfigGravar: ['int', ['pointer', 'string']], NFE_ConfigLerValor: ['int', ['pointer', 'string', 'string', 'string', 'string']], NFE_ConfigGravarValor: ['int', ['pointer', 'string', 'string', 'string']], NFE_ConfigImportar: ['int', ['pointer', 'string']], NFE_ConfigExportar: ['int', ['pointer', 'string', 'string']], NFE_ObterCertificados: ['int', ['pointer', 'string', 'string']], NFE_CarregarXML: ['int', ['pointer', 'string']], NFE_SalvarPDF: ['int', ['pointer', 'string', 'string']] }) return libm }
×
×
  • 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.