Membros Pro Desenvolvimento Eagle Postado 23 Dezembro, 2024 Membros Pro Postado 23 Dezembro, 2024 Novo tópico aberto em solicitação ao que foi pedido no fórum:Alterações boleto híbrido PenseBank e Sicoob Alterações geração de boletos (implementado na revisão - 36438) ACBrBoleto.pas: Método GerarMensagemPadraoDataLimitePagamento: complementadas (e pontuadas) as mensagens padrões do campo Data Limite de Pagamento: De “Não Receber após <<dias limite>> dias.” para “Não Receber após <<dias limite>> dias do vencimento.“. De “Não Receber após o Vencimento” para “Não Receber após o Vencimento.“ (acrescentado o ponto final). Método CalcularPercentualValor: Corrigido o cálculo do valor de desconto (conforme o tópico Dúvida sobre cálculo de desconto no ACBrBoleto). Está correção já está no SVN. ACBrBancoPenseBank.pas: Removido o método FormataNossoNumero. No caso do Pense Bank, o cliente não envia o nosso número no momento da geração do boleto, ele apenas o recebe já formatado, no retorno da geração ou no retorno da consulta. Assim, o número não pode ser formatado novamente, caso contrário o código de barras ficará incorreto. Sobrescritos os métodos EhObrigatorioNomeBeneficiario, EhObrigatorioAgencia, EhObrigatorioAgenciaDV, EhObrigatorioConta e EhObrigatorioContaDV, apenas para tirar a obrigatoriedade desses campos, pois eles não são obrigatórios para a geração do boleto, apenas necessários para a impressão. Sobrescrito o método MontarCampoCarteira, que serve para definir como o campo carteira é exibido na impressão do boleto. No BB, era exibido no formato <<número carteira>> / <<modalidade carteira>>, mas como esse dado não existe para o Pense Bank, era exibido o valor "1" para a modalidade (17/1, por exemplo). Como na impressão do próprio Pense Bank é exibido apenas o número da carteira, o método foi sobrescrito para fazer o mesmo. Alterado o método MontarCampoCodigoCedente para retornar no formato <<número agência>>/<<número conta>>, removendo zeros à esquerda da agência (mesmo padrão do Pense Bank). Alterado o método CalcularTamMaximoNossoNumero para retornar o próprio tamanho do nosso número (pois como dito anteriormente, o nosso número já é retornado formatado e no tamanho correto pelo Pense Bank). No método MontarCodigoBarras: Removida a formatação no Nosso Número. Removidos os zeros à esquerda do nosso número antes de realizar o cálculo do tamanho máximo. Isso foi feito por que, por padrão, o Pense Bank retorna o nosso número com 20 caracteres, sendo que os três primeiros dígitos são zeros. Contudo, o valor 20 não é uma das opções válidas de tamanho máximo do nosso número para o BB (10, 17, 7, 5 e 11); por isso, é feita a remoção dos zeros a esquerda. ACBrBoletoW_PenseBank_API.pas: Alterado para configurar Timeout da requisição. Removido campos que não existem em requisições Pense Bank. Corrigido envio da data da multa. Implementadas novas URLs: Rota de consulta detalhada por IdExterno. Rotas de Negativação. ACBrBoletoRet_PenseBank_API.pas: Ajustados e adicionados novos tratamentos para retornos de erros. Incluído retorno de consulta detalhada. Alterações na impressão padrão e carnê (implementado na revisão - 36438) Alterada a fonte das instruções da impressão carnê para ficar igual à fonte das instruções da impressão padrão. Impressão boleto padrão: Impressão Carnê (antes): Impressão Carnê (depois): Na impressão padrão, nos campos do Pagador e do Beneficiário Final: Alinhados os campos nome e endereço. Adicionado ":" a frente da palavra "Pagador". Padronizado o tamanho das fontes (alguns campos tinham fontes maiores que os outros). Antes: Depois: Também na impressão padrão, alinhado o label "Valor" com os demais da mesma linha. Antes: Depois: Na impressão carnê, nos campos do Pagador e do Beneficiário Final: Alinhados os campos nome e endereço. Adicionado ":" a frente da palavra "Pagador". Padronizado o tamanho das fontes (alguns campos tinham fontes maiores que os outros). Separado o label "Beneficiário Final" em dois, para simular quebra de linha. Antes: Depois: Também no carnê, removido um "x" que aparecia acima do QRCode (era um label separado que aparentemente não era usado). Antes: Depois: Um outro problema que identifiquei na impressão do carnê (e também em alguns campos da impressão padrão) é que em alguns campos o texto está “saindo fora” do espaço devido. Eu tentei inicialmente verificar se é possível configurar o componente para não crescer mais que o tamanho dele, mas não consegui. A propriedade AutoSize, que deveria servir justamente para isso, já estava desabilitada então isto nem deveria estar acontecendo. Dessa forma, a forma que encontrei para tratar esse problema foi implementar o evento OnBeforePrint dos campos com problema, e implementar para ser adicionado reticências (“…”) caso o texto exceda um tamanho específico. Antes (campos txtLocal e SwHouseCarne): Antes (apenas campo beneficiário): Depois: O campo beneficiário do boleto comum também tem o mesmo problema: Quanto a este problema, se vocês puderem analisar outra forma de corrigi-lo, pois talvez vocês conheçam uma correção mais simples para situação. 1
Consultores antonio.carlos Postado 23 Dezembro, 2024 Consultores Postado 23 Dezembro, 2024 Tópico movido para a área do ACBr Pro, para que o SLA de respostas seja considerado Criada uma #TK-6424 para analise.
Membros Pro Desenvolvimento Eagle Postado 26 Dezembro, 2024 Autor Membros Pro Postado 26 Dezembro, 2024 (editado) Bom dia! Havia esquecido de subir os arquivos, seguem em anexo. ACBrBancoPenseBank.pas ACBrBoleto.pas ACBrBoletoRet_PenseBank_API.pas ACBrBoletoW_PenseBank_API.pas ACBrBoletoFCFortesFr.dfm ACBrBoletoFCFortesFr.pas todas-alteracoes.zip Editado 26 Dezembro, 2024 por Desenvolvimento Eagle Adicionar arquivos em pasta compactada 1
Recommended Posts