Ir para conteúdo
  • Cadastre-se

thribeiro

Membros
  • Total de ítens

    8
  • Registro em

  • Última visita

Posts postados por thribeiro

  1. Bom dia! 

    O retorno esta vindo certo, acho que o erro esta no fonte do acbr, o correto seria ter a validação para que a variável pegue o CPF com os 11 digitos. Teria que ter este case para verificar se é pessoa fisica ou juridica. 

    Eu tento alterar o fonte do AcbrBancoSantander.pas, porém o compilador não considera a alteração. E também caso eu consiga alterar, todas as vezes que eu for atualizar o acbr, vou ter que fazer esta alteração no fonte. 

     

    Procedure TACBrBancoSantander.LerRetorno400 ( ARetorno: TStringList );
    var
      Titulo : TACBrTitulo;
      ContLinha, CodOcorrencia, CodMotivo : Integer;
      Linha, rCedente, rAgencia, rConta, rDigitoConta, rCNPJCPF : String;
      wCodBanco: Integer;
    begin
       wCodBanco := StrToIntDef(copy(ARetorno.Strings[0],77,3),-1);
       if (wCodBanco <> Numero) and (wCodBanco <> 353) then
          raise Exception.Create(ACBrStr(ACBrBanco.ACBrBoleto.NomeArqRetorno +
                                 'não é um arquivo de retorno do '+ Nome));

       rCedente := trim(Copy(ARetorno[0],47,30));
       rAgencia := trim(Copy(ARetorno[1],18,4));
       rConta   := trim(Copy(ARetorno[1],22,8))+ Copy(ARetorno[1],384,1);
       rConta   := PadLeft( OnlyNumber(rConta),fpTamanhoConta,'0');
       rDigitoConta := Copy(ARetorno[1],385,1);

       case StrToIntDef(Copy(ARetorno[1],2,2),0) of
          01: rCNPJCPF := Copy(ARetorno[1],7,11);
          02: rCNPJCPF := Copy(ARetorno[1],4,14);
       end;

       ACBrBanco.ACBrBoleto.DataCreditoLanc :=
         StringToDateTimeDef(Copy(ARetorno[0], 95, 2) + '/' +
                             Copy(ARetorno[0], 97, 2) + '/' +
                             Copy(ARetorno[0], 99, 2), 0, 'dd/mm/yy');

       with ACBrBanco.ACBrBoleto do
       begin
          if (not LeCedenteRetorno) and (rCNPJCPF <> OnlyNumber(Cedente.CNPJCPF)) then
             raise Exception.Create(ACBrStr('CNPJ\CPF do arquivo inválido'));

          if (not LeCedenteRetorno) and ((rAgencia <> OnlyNumber(Cedente.Agencia)) or
              (rConta <> OnlyNumber(Cedente.Conta))) then
             raise Exception.Create(ACBrStr('Agencia\Conta do arquivo inválido'));

          Cedente.Nome    := rCedente;
          Cedente.CNPJCPF := rCNPJCPF;
          Cedente.Agencia := rAgencia;
          Cedente.AgenciaDigito:= '0';
          Cedente.Conta   := rConta;
          Cedente.ContaDigito:= rDigitoConta;

  2. Conta Santader Pessoa Fisica

    Boa tarde! Estou com problema ao carregar o retorno, a variável rCNPJCPF recebe o CPF com 14 digitos e quando o campo Cedente.CNPJCPF vai recebe-lo, ao validar da o seguinte erro: CPF deve ter 11 dígitos. (Apenas Números).

    Estou passando: // frmDM.ACBrBoleto1.Cedente.TipoInscricao :=pFisica; 

    // frmDM.ACBrBoleto1.Cedente.CNPJCPF := (CPF 11 Digitos);

     

    Procedure TACBrBancoSantander.LerRetorno400 ( ARetorno: TStringList );

    rCNPJCPF := OnlyNumber( Copy(ARetorno[1],04,14) ); // recebe 000 + CPF 11 Digitos.

       ACBrBanco.ACBrBoleto.DataCreditoLanc :=
         StringToDateTimeDef(Copy(ARetorno[0], 95, 2) + '/' +
                             Copy(ARetorno[0], 97, 2) + '/' +
                             Copy(ARetorno[0], 99, 2), 0, 'dd/mm/yy');

       with ACBrBanco.ACBrBoleto do
       begin
          if (not LeCedenteRetorno) and (rCNPJCPF <> OnlyNumber(Cedente.CNPJCPF)) then
             raise Exception.Create(ACBrStr('CNPJ\CPF do arquivo inválido'));

          if (not LeCedenteRetorno) and ((rAgencia <> OnlyNumber(Cedente.Agencia)) or
              (rConta <> OnlyNumber(Cedente.Conta))) then
             raise Exception.Create(ACBrStr('Agencia\Conta do arquivo inválido'));

          Cedente.Nome    := rCedente;
          Cedente.CNPJCPF := rCNPJCPF; // Erro ao validar.
          Cedente.Agencia := rAgencia;
          Cedente.AgenciaDigito:= '0';
          Cedente.Conta   := rConta;
          Cedente.ContaDigito:= rDigitoConta;

  3.  

    Conta Santader Pessoa Fisica

    Boa tarde! Estou com problema ao carregar o retorno, a variável rCNPJCPF recebe o CPF com 14 digitos e quando o campo Cedente.CNPJCPF vai recebe-lo, ao validar da o seguinte erro: CPF deve ter 11 dígitos. (Apenas Números).

    Estou passando: // frmDM.ACBrBoleto1.Cedente.TipoInscricao :=pFisica; 

    // frmDM.ACBrBoleto1.Cedente.CNPJCPF := (CPF 11 Digitos);

     

    Procedure TACBrBancoSantander.LerRetorno400 ( ARetorno: TStringList );

    rCNPJCPF := OnlyNumber( Copy(ARetorno[1],04,14) ); // recebe 000 + CPF 11 Digitos.

       ACBrBanco.ACBrBoleto.DataCreditoLanc :=
         StringToDateTimeDef(Copy(ARetorno[0], 95, 2) + '/' +
                             Copy(ARetorno[0], 97, 2) + '/' +
                             Copy(ARetorno[0], 99, 2), 0, 'dd/mm/yy');

       with ACBrBanco.ACBrBoleto do
       begin
          if (not LeCedenteRetorno) and (rCNPJCPF <> OnlyNumber(Cedente.CNPJCPF)) then
             raise Exception.Create(ACBrStr('CNPJ\CPF do arquivo inválido'));

          if (not LeCedenteRetorno) and ((rAgencia <> OnlyNumber(Cedente.Agencia)) or
              (rConta <> OnlyNumber(Cedente.Conta))) then
             raise Exception.Create(ACBrStr('Agencia\Conta do arquivo inválido'));

          Cedente.Nome    := rCedente;
          Cedente.CNPJCPF := rCNPJCPF; // Erro ao validar.
          Cedente.Agencia := rAgencia;
          Cedente.AgenciaDigito:= '0';
          Cedente.Conta   := rConta;
          Cedente.ContaDigito:= rDigitoConta;

     

×
×
  • 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...