Ir para conteúdo
  • Cadastre-se

Eduardo Silva Dos Santos

Membros
  • Total de ítens

    12
  • Registro em

  • Última visita

Posts postados por Eduardo Silva Dos Santos

  1. Pessoal, a unit do Banestes está com problema, liberei um atualização do sistema com a unit nova e os boletos que foram pagos o valor não foi creditado no cliente.

     

    Alguém tem o manual do banestes ?

     

    A mudança na rotina CalcularCampoASBACE  alterou a forma como o código de barra é gerado.....

  2. Boa noite pessoal, tudo bem?

     

    Recentemente atualizei todo o ACBr por conta da Nfe 3.0, depois dessa atualização é gerada uma exception na hora de visualizar o boleto do Banco Banestes,

    o problema está na function TACBrBanestes.CalcularCampoASBACE ...

     

    Antes era:

      { Banestes não usa digitos verificadores para agência e conta }   
      cLivreAsbace := copy(ACBrTitulo.NossoNumero,2,8)+
                      padR(trim(ACBrTitulo.ACBrBoleto.Cedente.Conta)+
                           trim(ACBrTitulo.ACBrBoleto.Cedente.ContaDigito),11,'0')+
                      '4'+
                      IntToStrZero(fpNumero,3);
      cIndice      := '21212121212121212121212';
      nResult      := 0;
    
    

    Na versão nova ficou:

      { Banestes não usa digitos verificadores para agência e conta }
      cLivreAsbace := copy(ACBrTitulo.NossoNumero,2,8)+
                      copy(trim(ACBrTitulo.ACBrBoleto.Cedente.Conta), 2, 10)+
                                ACBrtitulo.ACBrBoleto.Cedente.ContaDigito+
                      '4'+
                      IntToStrZero(fpNumero,3);
      cIndice      := '21212121212121212121212';
      nResult      := 0;
    
    

    O problema é que na versão nova, cLivreAsbace recebe uma string com 22 caracteres, e logo em seguida tem um for que começa da posição 23.

     

    A remoção do padR gerou o problema.

     

    Uma dúvida, no comentário diz que banestes não usa o dígito verificador, entretanto no código tem o dígito concatenado com a conta.

  3. Prezados, boa tarde,

     

    Seria interessante embutir as fontes ao gerar o PDF do boleto, muitas vezes o PDF quando enviado a um computador que não tem a fonte específica fica ilegível.

     

    Como consequência o arquivo fica maior, outra opção seria criar uma propriedade no ACBrBoletoFCFR para que se possa escolher embutir a fonte ou não.

     

    O que acham?

     

     

    frxPDFExport.EmbeddedFonts := True;

    ACBrBoletoFCFR.pas
    
    procedure TACBrBoletoFCFR.Imprimir;
    var
      DmBoleto: TdmACBrBoletoFCFR;
    begin
      inherited Imprimir; // Verifica se a lista de boletos está vazia
    
      DmBoleto := TdmACBrBoletoFCFR.Create(Self);
      try
        with DmBoleto do
        begin
           cdsBanco.EmptyDataSet;
           cdsCedente.EmptyDataSet;
           cdsTitulo.EmptyDataSet;
    
           if PrepareReport(DmBoleto) then
           begin
              frxReport.PrintOptions.ShowDialog := MostrarSetup;
    
              case Filtro of
                fiNenhum:
                begin
                   if MostrarPreview then
                      frxReport.ShowReport(False)
                   else
                      frxReport.Print;
                end;
                fiPDF:
                begin
                   frxPDFExport.EmbeddedFonts := True; //DRD SISTEMAS em 30/04/2014
                   frxPDFExport.Author := SoftwareHouse; //DRD SISTEMAS em 12/11/2012
                   frxPDFExport.ShowDialog := MostrarSetup; //DRD SISTEMAS em 12/11/2012
                   frxPDFExport.FileName := NomeArquivo;
                   frxReport.Export(DmBoleto.frxPDFExport);
                end;
                fiHTML:
                begin
                   frxHTMLExport.ShowDialog := MostrarSetup; //DRD SISTEMAS em 12/11/2012
                   frxHTMLExport.FileName := NomeArquivo;
                   frxReport.Export(DmBoleto.frxHTMLExport);
                end;
    
    
              else
                exit;
              end;
           end;
        end;
      finally
        DmBoleto.Free;
      end;
    end;
    
    
  4. Boa tarde pessoal,

     

    Utilizo o AcbrBoleto, para o Banco Banestes / ES, e ele não usa Dígito verificador da conta/agência, sugiro a alteração abaixo:

     

    Unit ACBrBoleto.pas, linha 1975

     

    procedure TACBrBoleto.ChecarDadosObrigatorios;
    begin
       if (Cedente.Nome= '') or (cedente.Conta = '') or {(Cedente.ContaDigito ='') or } //Banestes não usa Digito verificador
          (Cedente.Agencia = '') {or (Cedente.AgenciaDigito = '')} then
         raise Exception.Create(ACBrStr('Informações do Cedente incompletas'));
    end;
     
     
    Obrigado.
×
×
  • 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.

The popup will be closed in 10 segundos...