-
Total de ítens
354 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Rodrigo - Digibyte postou
-
ACBrLibBoleto + demo C#: lerRetornoStream com erro
Rodrigo - Digibyte replied to Rodrigo - Digibyte's tópico in ACBrLIB
Bom dia, creio o método LerRetornoStream teria que ser modificado para ter o mesmo comportamento de LerRetorno na lib, semelhante ao método TACBrBoleto.LerRetorno que pode ler um arquivo ou stream e produz o mesmo resultado. -
ACBrLibBoleto + demo C#: lerRetornoStream com erro
Rodrigo - Digibyte replied to Rodrigo - Digibyte's tópico in ACBrLIB
Certo, então eu teria que decodificar o retorno. E depois como popular a classe, existe algum método do ACBR pra isso? Entendi que não é assim mas LerRetorno e LerRetornoStream não deveriam teoricamente dar o mesmo resultado (abstrair) visto que apenas estou mudando a forma de ler o CNAB? -
ACBrLibBoleto + demo C#: lerRetornoStream com erro
um tópico no fórum postou Rodrigo - Digibyte ACBrLIB
Estava tentando começar a usar a leitura de retorno em stream, usando a demo, e não consegui fazer funcionar. O método boleto.LerRetornoStream apenas retorna uma string codificada, sem preencher as propriedades do boleto. Abaixo como é chamado na demonstração C#: using (FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read)) { using (StreamReader reader = new StreamReader(fileStream)) { string retString = reader.ReadToEnd(); byte[] retByte = Encoding.UTF8.GetBytes(retString); var retBase64 = System.Convert.ToBase64String(retByte); var ret = boleto.LerRetornoStream(retBase64); rtbRespostas.AppendLine(ret); } } Olhando o código da LIB, pelo que pude ententer, foi criado o método TACBrLibBoleto.LerRetornoStream que parece substituir dois métodos usados para ler o arquivo diretamente: TACBrLibBoleto.LerRetorno e TACBrLibBoleto.ObterRetorno. Porém note que o retorno de LerRetornoStream é diferente, por exemplo não está implementado o código abaixo que existe em ObterRetorno: RespRetorno := TRetornoBoleto.Create(Config.TipoResposta, Config.CodResposta); try RespRetorno.Processar(BoletoDM.ACBrBoleto1); Resposta := RespRetorno.Gerar; Finally RespRetorno.Free; end; MoverStringParaPChar(Resposta, sResposta, esTamanho); Result := SetRetorno(ErrOK, Resposta); Enfim, não entendi muito bem o LerRetornoStream, me parece estar errado se comparar com LerRetorno. -
Bom dia, vamos lá: Utilizo o ACBRLib para gerar o arquivo de remessa 240. Ele gera as mensagens no segmento S. Me refiro as mensagens livres do usuário, ex. "referente mês 08/2024". Não uso o PDF do Boleto gerado pelo ACBR. Quando consulto o boleto pra ver se o mesmo foi registrado corretamente (na consulta uso WS) ele retorna um link pra acesso direto ao boleto na caixa, e é nesse boleto que não aparecem as mensagens. Não tenho dúvida que na impressão pelo próprio ACBR apareceria. Olhando o manual existem algumas configurações referente a impressão das mensagens (ex: frente, verso, ficha de compensação, recibo..). Fiz alterações manuais no TXT, enviei pro banco e nada de aparecer. Então a questão é, se alguém passou por essa situação de usar o boleto disponibilizado pelo banco e conseguir fazer aparecer a mensagem. Talvez se registrar o boleto via API funcione ... Uso o boleto pelo site da caixa porque fica mais fácil de distribuir (só mando o link) e fica bem bonito, no padrão deles. O suporte da caixa pra ser uma piada tem que melhorar muito.
-
Não consigo fazer aparecer mensagem no boleto da CAIXA , CNAB 240
um tópico no fórum postou Rodrigo - Digibyte ACBrLIB
Boa tarde. Estou enviando o CNAB240 caixa e quando o cliente consulta o boleto no site da caixa ou aplicação eCobrança não sai nenhuma mensagem. Segundo o manual existem algumas possibilidades de enviar (frente, verso, ambos, registro R, registro S). Já usei a forma original do ACBR, já alterei manualmente o arquivo e enviei mas sem sucesso, não sai nada impresso. Alguém que imprima o boleto pela CAIXA está conseguindo enviar mensagem no corpo do boleto? -
CheckResult com erro -2 ao enviar Boleto via ws
Rodrigo - Digibyte replied to Rodrigo - Digibyte's tópico in ACBrLIB
A biblioteca até inicializava, o erro era ao executar a consulta, inclusive derrubava o server. Bom, depois de "alguma" luta (não respondi antes pq não conseguia gerar), para conseguir gerar o log no linux pela lib, enfim conseguimos e finalmente pudemos verificar o erro. Basicamente era: 31/07/24 12:19:28:172 - Comando Enviar: TBoletoW_Caixa 31/07/24 12:19:28:195 - Envelope Enviar: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><consultacobrancabancaria:SERVICO_ENTRADA xmlns:consultacobrancabancaria="http://caixa.gov.br/sibar/consulta_cobranca_bancaria/boleto" xmlns:sib="http://caixa.gov.br/sibar"><sib:HEADER>...> 31/07/24 12:19:28:272 - Retorno Envio: TBoletoW_Caixa 31/07/24 12:19:28:281 - C�digo do Envio: 0 31/07/24 12:19:28:283 - Retorno Envio: Result= 31/07/24 12:19:28:292 - Falha Envio: Erro Interno: -2 Erro HTTP: 500 URL: https://barramento.caixa.gov.br/sibar/ConsultaCobrancaBancaria/Boleto error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small O que seria o "dh key too small"? Basicamente o OPENSSL do azure só aceita uma determinada configuração de segurança superior ao que a CAIXA trabalha. https://updown.io/faq/what-does-the-dh-key-too-small-ssl-error-means Como resolver? Alterando o script de inicialização do App Service para mudar o openssl.cnf em /etc/ssl para compatibilizar tudo, trocando SECLEVEL de 2 para 1. https://stackoverflow.com/questions/61518238/azure-linux-web-app-change-openssl-default-security-level https://stackoverflow.com/questions/65912915/node-docker-routinestls-process-ske-dhedh-key-too-small Finalmente resolvido, agradeço a todos. -
CheckResult com erro -2 ao enviar Boleto via ws
um tópico no fórum postou Rodrigo - Digibyte ACBrLIB
Olá. Podem me dizer o que poderia ser o erro CheckResult = -2 na libBoleto, ao tentar fazer uma consulta de boleto via ws ? -
ACBrLibBoleto leitura do retorno em stream
Rodrigo - Digibyte replied to Rodrigo - Digibyte's tópico in ACBrLIB
Exato. Imagine o processo em um aplicativo web: o front envia o arquivo (stream) para o back, via API, e poderia carregar ele diretamente no ACBR. Da forma como está hoje eu teria que salvar, ler o arquivo e depois apagar. Além disso, como eu iria indicar o diretório, pois na verdade seria um endereço web. A alguns meses foi exposto na LIB, a meu pedido, esse método para gerar a remessa em stream e está funcionando perfeito. Agora falta pegar o retorno. -
Boa tarde. Pelo que vi, apesar de ter no componente, não está implementada na Lib a leitura do retorno em stream. Seria possível essa implementação? Também fiquei na dúvida da diferença entre lerRetorno e obterRetorno https://acbr.sourceforge.io/ACBrLib/Boleto_LerRetorno.html
-
Linha digitável muito grande, cortando no final
Rodrigo - Digibyte replied to Rodrigo - Digibyte's tópico in ACBrLIB
Linhas adicionadas no script personalizado do azure pra resolver o problema da impressão: -
Linha digitável muito grande, cortando no final
Rodrigo - Digibyte replied to Rodrigo - Digibyte's tópico in ACBrLIB
Apenas pra avisar que funcionou, ainda não sei o que foi exatamente mas assim que isolar e decobrir posto aqui. -
Linha digitável muito grande, cortando no final
Rodrigo - Digibyte replied to Rodrigo - Digibyte's tópico in ACBrLIB
Então, essa de instalar as fontes foi também algumas das sugestões que encontrei na web. Depois de várias questões e estudo consegui instalar, alterei também questões relativas a resolução e DPi da parte gráfica virtual. E o resultado foi que NÃO resolveu, continua cortando. Em muitos fóruns, stackoverflow, etc fala que mesmo sendo a mesma fonte o linux renderiza um pouco diferente. Inclusive mac <> windows <> linux. Quando eu comparo o PDF gerado no linux e no windows a fonte é praticamente idêntica, o que observei é uma mudança no espaçamento entre letras, em todos os textos. E a linha digitável, por ser grande, estoura o espaço. No acrobat reader dá pra ver as fontes usadas no PDF e está sendo usado Arial, não houve substituição da fonte. Não vejo mais ou não sei como resolver usando apenas configurações no ambiente. Pra mim tem três possibilidades: O "ACBR" inserir uma compilação condicional na LIB, ajustando alinha digitável para Linux Alguma propriedade no relatório que ajuste o tamanho automaticamente do campo ? Eu alterar e compilar por aqui ,essa realmente não gostaria ... -
Linha digitável muito grande, cortando no final
um tópico no fórum postou Rodrigo - Digibyte ACBrLIB
Boa tarde, segue o modelo de como está saindo o boleto, com a linha digitada muito grande. Este erro acontece quando gero na nuvem Azure, ambiente Linux. Rodando localmente em uma máquina Windows o código sai perfeito. Alguma sugestão? 41812024741846.pdf -
Como configurar diretório da logo boleto no C#?
Rodrigo - Digibyte replied to Rodrigo - Digibyte's tópico in ACBrLIB
Pra registrar, funcionou, o problema era uma acentuação na pasta. Mudando o nome funcionou. -
Como configurar diretório da logo boleto no C#?
Rodrigo - Digibyte replied to Rodrigo - Digibyte's tópico in ACBrLIB
Bom dia. Estamos testando localmente, pra ficar mais fácil, porém não está saindo a logo. Existe algum outro detalhe a verificar? Algo que possa nos dizer se está realmente buscando a logo na pasta correta? -
Como configurar diretório da logo boleto no C#?
Rodrigo - Digibyte replied to Rodrigo - Digibyte's tópico in ACBrLIB
Não usamos o arquivo ini, é feito da forma abaixo: -
Como configurar diretório da logo boleto no C#?
um tópico no fórum postou Rodrigo - Digibyte ACBrLIB
Qual classe do C# informa o diretório da logo do banco para gerar boleto? Não estou conseguindo fazer aparecer a logo. Uso a LIB Boleto com C#. -
Eu acho que é um ambiente mais controlável mas tem a curva de aprendizado do Docker e sua distribuição. A parte de fazer a lib funcionar vai ser exatamente igual, vai precisar dos mesmos arquivos e dependências. O que me fez pensar no Docker foi a possibilidade ou não de instalar as dependências no Azure mas como isso foi resolvido não houve necessidade. De qualquer forma vou estudar e testar com o Docker, vai que uma hora precisa.
-
Com Linux especificamente faz muito tempo que não mexo, até porque o app service abstrai isso. Mas tive que relembrar algumas coisas do meu cursinho da conectiva... Com o Azure em si já faz uns 4 anos, estamos migrando os sistemas para Web.
-
Utilizando o ACBrLib no Azure App Service Linux - sem Docker
um tópico no fórum postou Rodrigo - Digibyte ACBrLib
Desafio: executar a lib ACBrBoleto diretamente em um APP SERVICE LINUX no Azure, sem uso do Docker Backend em C#/.NET 6 Os comandos são executas via SSH em Development Tools/SSH A execução do start do app service pode ser acompanhada em Log Stream Comandos úteis: Verifica se o arquivo existe e em qual pasta está. No caso eu fiz o deploy para a pasta raiz da aplicação (usando Azure Devops). find / -name libacbrboleto64.so 2>/dev/null Lista as dependências da biblioteca e confirma se a lib pode ser "lida" ldd libacbrboleto64.so O arquivo de inicialização padrão /startup.sh deverá ser copiado para a pasta /home a fim de ser personalizado Copia o arquivo de inicialização do app service para a pasta /home. Qualquer arquivo fora de /home é apagado quando o serviço é reiniciado. cp /opt/startup/startup.sh /home Uma vez copiado o arquivo deverá ser editado (usar o VIM) e antes da execução da aplicação acrescer as linhas abaixo: echo *** Atualiza a lista de pacotes apt-get update echo *** Instala as dependências faltantes da lib ACBrBoleto (listadas no comando ldd libacbrboleto64.so) apt-get install -y libgdk-pixbuf2.0-0 libgtk2.0-0 libpango1.0-0 libatk1.0-0 libcairo2 libpangocairo-1.0-0 echo *** Instala emulador de interface gráfica. A lib precisa pra funcionar. apt-get install -y xvfb echo *** Remove lista de pacotes (opcional) rm -rf /var/lib/apt/lists/* echo *** Cria uma screen virtual identificada pelo nº 1 Xvfb :1 -screen 0 1024x768x24 & No app service em Settings/Enviroments variables inserir name e value: DISPLAY :1 Por último, em Settings/Configuration/Startup Command inserir /home/startup.sh Alguma coisa deu errado? basta remover o comando no Startup Command que será usado o arquivo de inicialização padrão (/opt/startup/startup.sh) Depois de alguns dias de dor de cabeça tudo testado e funcionando !!!!!!!!!!