-
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
-
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
-
Renan Kemp started following Lista de Funcoes e Propriedades da DLL , NFE_CarregarXML "0 NFe(s) Carregada(s)" , DadosPFX tipo de string e 2 outros
-
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
-
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
-
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?
-
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?
-
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
-
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
-
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)
-
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 ?
-
[resolvido] Obrigado pela Ajuda Funcionou !
-
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]
-
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
-
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
-
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
-
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 }