Ir para conteúdo
  • Cadastre-se

leoprates

Membros Pro
  • Total de ítens

    47
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que leoprates postou

  1. Bom dia! Estou tento o mesmo problema ao tentar executar o método "NFE_DistribuicaoDFePorChave".
  2. Estou anexando também meu dockerfile para eventuais consultas: Dockerfile
  3. Agora estou conseguindo capturar o log e ele termina exatamente assim: 06/10/23 14:00:24:585 - TLibNFeConfig.AplicarConfiguracoes: ./tmp/acbrlib.ini 06/10/23 14:00:24:585 - Travar 06/10/23 14:00:24:585 - TLibNFeConfig.AplicarConfiguracoes - Feito 06/10/23 14:00:24:585 - Destravar 06/10/23 14:00:24:585 - TLibNFeConfig.Ler - Feito 06/10/23 14:00:24:585 - Destravar 06/10/23 14:00:24:585 - TACBrLibNFe.Inicializar - Feito 06/10/23 14:00:24:585 - LIB_Inicializar( ./tmp/acbrlib.ini, ) 06/10/23 14:00:24:585 - ACBrLibNFE - 0.4.6.251 06/10/23 14:00:24:585 - TACBrLibNFe.PrecisaCriptografar(DFe,Senha) 06/10/23 14:00:24:586 - TACBrLibNFe.PrecisaCriptografar - Feito Result: True 06/10/23 14:00:24:586 - LIB_ConfigGravarValor(DFe, Senha, *********) 06/10/23 14:00:24:586 - TACBrLibNFe.PrecisaCriptografar(DFe,Senha) 06/10/23 14:00:24:586 - TACBrLibNFe.PrecisaCriptografar - Feito Result: True 06/10/23 14:00:24:586 - TLibNFeConfig.AjustarValor(tfGravar,DFe,Senha,*********) 06/10/23 14:00:24:586 - TLibNFeConfig.AjustarValor - Feito 06/10/23 14:00:24:586 - TLibNFeConfig.AplicarConfiguracoes: ./tmp/acbrlib.ini 06/10/23 14:00:24:586 - Travar 06/10/23 14:00:24:586 - TLibNFeConfig.AplicarConfiguracoes - Feito 06/10/23 14:00:24:586 - Destravar 06/10/23 14:00:24:586 - SetRetorno(0, ) 06/10/23 14:00:24:675 - NFe_DistribuicaoDFePorUltNSU(35,06319316000127,000000000001135) 06/10/23 14:00:24:675 - Travar 06/10/23 14:00:24:676 - NFe_DistribuicaoDFePorUltNSU, Executar
  4. Boa tarde! Isso mesmo, o processo ocorreu sem erros localmente dando a permissão na raiz do projeto. O diretório "tmp" está configurando com caminho absoluto sim. Infelizmente na lambda da aws, por padrão, só posso dar permissão de escrita ao diretório tmp. att,
  5. Diego, bom dia! Configurei esse parâmetro, mas o erro persiste. No entanto, sua sugestão me levou a uma epifania em relação às permissões de escrita dos arquivos. Estou direcionando todas as gravações de arquivos para uma pasta "tmp" que está na raiz do projeto, atribuindo permissões de escrita e leitura a essa pasta. Apesar disso, o erro continua. No entanto, se eu conceder permissão de escrita à raiz do projeto, o sistema funciona. Você saberia me dizer se a biblioteca poderia estar criando arquivos temporários na raiz e se existe alguma maneira de apontar a criação deles para outra pasta?
  6. Estou usando ST. Sim, até o momento o problema ocorre apenas com o método DistribuicaoDFePorUltNSU. Sobre o método gravar os multiplos arquivos, consigo configurar onde serão salvos? Grato pelo retorno!
  7. Efetuando alguns testes consegui utilizar a lib "segfault-handler" para rastrear o problema e ela para na libacbrnfe64.so. NFE_DistribuicaoDFePorUltNSU PID 22001 received SIGSEGV for address: 0x18 /home/node/erp-cloud-recepcao-xml-automatica/.esbuild/.build/node_modules/segfault-handler/build/Release/segfault-handler.node(+0x37a5)[0x7f4b0c0747a5] /lib/x86_64-linux-gnu/libpthread.so.0(+0x14420)[0x7f4b1088b420] /lib/x86_64-linux-gnu/libpthread.so.0(pthread_rwlock_wrlock+0x16)[0x7f4b10884d46] node(CRYPTO_THREAD_write_lock+0x9)[0x196f0a9] node(ossl_x509v3_cache_extensions+0x3e)[0x19e435e] node(X509_get_extension_flags+0x11)[0x19e5201] /usr/local/lib/libssl.so(+0x6c4a5)[0x7f4ae299c4a5] /usr/local/lib/libssl.so(SSL_CTX_use_certificate+0x2a)[0x7f4ae297421a] /home/node/erp-cloud-recepcao-xml-automatica/assets/acbr/dllacbrnfe/bin/Linux/libacbrnfe64.so(+0x50a452)[0x7f4af49c2452] Segmentation fault
  8. Boa tarde Diego! Estou utilizando o ref e ffi
  9. Boa tarde! Conforme solicitado pelo Daniel Infocotidiano, criei esse tópico para que possa ser depurado o erro Segmentation fault apresentado no ubuntu ao executar o método NFE_DistribuicaoDFePorUltNSU. Quando ocorre o erro "segmentation fault (core dumped)" o log só chega até o método anterior ao NFE_DistribuicaoDFePorUltNSU. O método de inicialização está ok. A configuração do OpenSSL está assim: [DFe] SSLCryptLib=1 -> cryOpenSSL | SSLHttpLib=3 -> httpOpenSSL | SSLXmlSignLib=4 -> xsLibXml2 A versão do OpenSSL é 1.1.1 Foram testados diversos valores para o buffer (até 4096) Método em que o erro ocorre: const BUFF_LENGTH = 1024; getDFesPorUltNSU = async (num_ult_nsu_recebido: string) => { const aloc_sResposta = Buffer.alloc(BUFF_LENGTH); const aloc_esTamanho = ref.alloc(ref.types.int, BUFF_LENGTH); try { return new Promise<ResponseDFes>(async (resolve, reject) => { const ufAutor = 35; const cnpjcpf = "06319316000127"; console.log('NFE_DistribuicaoDFePorUltNSU') acbrDLL.NFE_DistribuicaoDFePorUltNSU.async( ufAutor, cnpjcpf, num_ult_nsu_recebido, aloc_sResposta, aloc_esTamanho, async (err: any, result: number) => { console.log("result", result); console.log("err", err); try { if (err) { console.log('err') throw new Error(err); } console.log('checkResult') let response: IResponse = await this.checkResult( result, aloc_sResposta, aloc_esTamanho ); if (!response.success) { console.log('throw new Error') throw new Error(response.message); } console.log('resToJSON') const resToJSON = JSON.parse(response.data); const { DistribuicaoDFe } = resToJSON; if (!response.success) { console.log('resolve false') resolve({ success: false, DistribuicaoDFe, message: response.message, }); } console.log('resolve true') resolve({ success: true, DistribuicaoDFe, }); } catch (e) { console.log('reject error') console.log({ error: e }) reject({ success: false, message: (e as Error).message, }); } } ); }); } catch (error) { console.log("NFE_DistribuicaoDFePorUltNSU Error: ", error) } };
  10. Pessoal, o meu também acontece hora sim hora não, na verdade é até raro quando acontece mas acho que com essa já é a 4ª vez. Uso ACBr com Fortes Report. Já foi encontrada alguma solução? PDF_587.pdf
  11. Boa tarde. Estávamos com esse mesmo problema na minha rotina de envio de BOLETOS, para tanto adquirimos o pacote de envio da locaweb para podermos enviar e-mails ilimitados. A locaweb nos passou os dado de parametrização do servidor SMTP, Um usuário e senha e porta. Onde informo esses dados no ACBrMail? Pois lá só tem um campo Password que é o do usuário da conta, não tenho onde informar a senha do servidor de saída SMTP. No outlook tem o campo específico para essa parametrização, conforme podem ver abaixo:
  12. Nesse link você verifica as versões disponíveis bem como a quais versões do Delphi são compatíveis... http://fortesreport.com.br/?page_id=25
  13. Resolvi essa parada. É o seguinte: 1º) Desisntalei todo o ACBr 2º)Desisntalei o FortesReport 3º)Instalei o Fortes Report atualizado (v. 3.72B) 4º)Instalei o ACBr do seguinte modo: Abri e apenas Compilei o synapse.dpk Abri o BuldWithNFe2.dpk e compilei (botão direito > compile) na seguinte sequência: ACBrComum.bpl ACBrDiversos.bpl ACBrSerial.bpl ACBrTCP.bpl ACBr_TEFD.bpl ACBr_Boleto.bpl ACBr_Sintegra.bpl ACBr_SPED.bpl ACBr_PAF.bpl ACBrOpenSSL.bpl ACBrCapicom.bpl PCN2.bpl ACBr_Nfe2.bpl Depois abri e compilei: ACBrNFeDanfeRLpkg.dpk ACBr_BoletoFC_Fortes.dpk Depois instalei os pacotes (Botão direito > Install) na mesma sequência. (exceto o synapse) Pronto! O que será instalado fica a critério de cada um, mas essa sequência foi a que me permitiu instalar o fortes atualizado sem que houvesse conflito de propriedades ou algo do tipo. Segui a sequência do ACBrInstall acrescentando as minhas particularidades.
  14. Up Alguém mais teve problemas de compatibilidade entre a versão do Fortes com o ACBr?
  15. Olá Pessoal, já procurei aqui no fórum e não achei nada que resolvesse definitivamente o meu problema. É o seguinte, para poder atualizar a propriedade foOneSheetOnly do TRLXLSFilter do FortesReport nós atualizamos a versão do Fortes para a 3.72B(Mais recente até então para o D7). Porém verifiquei que eles atualizaram também o componente TRLPDFFilter, o qual teve várias propriedades removidas, dentre elas as propriedades do grupo ViewerOptions. Conforme imagem abaixo: E acontece que essas propriedades ainda estão relacionadas ao projeto do ACBrBoleto e ACBrNFSeDANFSeRL. Com base nesse tópico resolvi abrir os formulários e recompilar o projeto para ver se o componente seria atualizado, porém sem sucesso. Resolvi remover as propriedades na unha diretamente no dfm, o que também não resolveu. Ao tentar instalar o ACBrBoletoFC_Fortes tendo o Fortes já instalado dá o erro abaixo: E se o ACBr estiver instalado e depois instalar o Fortes ao abrir o formulário dá estes outros erros: Como posso fazer para continuar com a emissão de boletos e também ter o componente Fortes atualizado? Desde já agradeço!
  16. Agora sim! Desculpe a desatenção! Att.
  17. Pessoal, certeza que foi alterado? Dei update e não houve alterações referente a isso no projeto...
  18. Olá a todos. Para a cobrança não registrada (CNR) do banco HSBC, está havendo um pequeno problema quanto à posição do campo Nosso Número dentro da linha digitável. Onde segundo o modelo da ficha de cobrança o Nosso Número deveria estar entre as posições (13-20) e (22-26), totalizando assim 13 posições. Mas na Unit do HSBC o tamanho máximo do Nosso Número está como 16, assim sendo o campo acaba sendo preenchido com "zeros" a esquerda até completar as 16 posições e no momento de monta o código de barras ele copia as 13 primeiras posições. Dessa forma quando o cliente visualiza a francesinha(Demonstrativo Analítico) no site praticamente todos os boletos estarão com o mesmo valor para a coluna "Código do documento" que corresponde ao Nosso Número, visto que ao copiar as 13 primeiras posições foi perdido a unidade, a dezena e a centena do campo Nosso Número. O que fiz em minha base foi limitar o tamanho máximo do nosso número para 13, assim sendo não perco mais as 3 ultimas posições no momento de montar a linha digitável. Gostaria de solicitar a correção no projeto principal. Anexo segue a francesinha com o problema e um modelo do CNR.
  19. Bom Dia. Usando o componente TACBrBoleto como que eu chego nesse método "LimparLista"? Ou que procedimento usar quando quero eliminar os títulos que adicionei na lista através do comando "ACBrBoleto.CriarTituloNaLista"? Desde já agradeço. Att.
  20. Amigos, a situação é a seguinte: Adicionei vários títulos na ListadeBoletos do ACBrBoletos e dentre eles alguns boletos serão enviados via e-mail ("para os clientes que tem email cadastrado") e os demais serão impressos em PDF mesmo. Só que após enviar os emails com os respectivos boletos eu preciso remover estes da ListadeBoletos para que não sejam impressos e corra o risco de além do cliente receber o boleto por email ele também receba por correios. Tentei usar o comando ACBrBoleto.ListadeBoletos.Delete(indice), o primeiro boleto ele remove... mas quando vou remover o segundo dá mensagem de Access Violation. Que Zica! Alguém tem alguma idéia que possa me ajudar? Att
  21. Pesquisando aqui no fórum, não achei nada que resolvesse meu problema. Depois de quebrar um pouco a cabeça segue abaixo o código e espero que possa ajudar a quem enfrente o mesmo problema. A questão era: Monto um lote de boletos de variados clientes com diversos títulos. Através dele consigo imprimir em um único PDF todos os boletos, só que após isso eu gostaria de enviar por e-mail os boletos individuais para o respectivos clientes. O problema é que a ListadeBoletos contém todos os títulos e a procedure EnviarEmail só me permite enviar um único e-mail, ela não é capaz de "quebrar" os e-mail por clientes. A solução foi: No formulário inseri dois componentes do tipo TACBrBoleto e dois do tipo TACBRBoletoFCFortes. Sendo que um conjunto fica para o "Lote" e o outro fica para "Auxiliar" no envio dos e-mails. ACBrBoletoLote - ACBRBoletoFCLote ACBrBoletoEMail - ACBRBoletoFCEMail Após inserir os títulos normalmente na lista de boletos do ACBrBoletoLote segue o código do procedimento. (*Imprime os boletos em PDF*) ACBrBoletoLote.Imprimir; (*Prepara o ACBrBoletoEmail com os mesmos parâmetros do ACBrBoletoLote*) ACBrBoletoEmail.Cedente := ACBrBoletoLote.Cedente; ACBrBoletoEmail.Banco := ACBrBoletoLote.Banco; (*Laço que percorrerá a lista de Boletos e através do ACBrBoletoEMail enviará boletos individuais para cada cliente*) for i := 0 to Pred(ACBrBoletoLote.ListadeBoletos.Count) do begin (*Limpa a lista de boletos auxiliar*) ACBrBoletoEmail.ListadeBoletos.Clear; (*Adiciona o título exclusivo na Lista de Boletos auxiliar*) ACBrBoletoEmail.ListadeBoletos.Add(ACBrBoletoLote.ListadeBoletos.Objects[i]); (*Enviar o e-mail através do componente auxiliar que contém o boleto exclusivo de determinado cliente*) ACBrBoletoEmail.EnviarEmail('smtp.aaa.com.br', '587', '[email protected]', 'SuaSenha', '[email protected]', ACBrBoletoLote.ListadeBoletos.Objects[i].Sacado.Email,//EMail do Cliente 'Boleto de Cobrança', vMsg,//StringList False, True, nil, nil, False, False, 'Leonardo', True); end; //for
×
×
  • 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.