Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2572 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Oi pessoal estou com problemas na hora de gerar remessa de boleto do Sicoob. o número da conta está saindo zerado e o digito da conta sai corretamente.

Alguém pode ter uma ideia do pq está saindo assim?

Capturar.PNG

Postado

Antes de gerar o arquivo, algumas variaveis devem ser preenchidas. Segue exemplo:

 

class procedure TFuncBoleto.ConfigurarTipoCobranca(
  ADataSetConfigServicoBanco: TDataSet;
  ACedenteEndereco, ACedenteNumeroEnd, ACedenteBairro, ACedenteCidade, ACedenteUF, ACedenteCEP, ACedenteTelefone: string;
  var AACBrBoleto: TACBrBoleto);

var
  AResponsavelPelaEmissao: TACBrResponEmissao;
  ATipoCarteira          : TACBrTipoCarteira;
  ATipoDocumento         : TACBrTipoDocumento;
  ATipoInscricaoPessoa   : TACBrPessoaCedente;
begin
  Case ADataSetConfigServicoBanco.FieldByName('TIPOEMISSAOBOLETO_SER').AsInteger of
    2: AResponsavelPelaEmissao := tbCliEmite;
    1: AResponsavelPelaEmissao := tbBancoEmite;
    3: AResponsavelPelaEmissao := tbBancoReemite;
    4: AResponsavelPelaEmissao := tbBancoNaoReemite;
  else
    AResponsavelPelaEmissao := tbCliEmite;
  end;

  case ADataSetConfigServicoBanco.FieldByName('TIPO_CARTEIRA_SER').AsInteger of
    1: ATipoCarteira := tctSimples;
    2: ATipoCarteira := tctRegistrada;
    3: ATipoCarteira := tctEletronica;
  else
    ATipoCarteira := tctSimples;
  end;

  if ADataSetConfigServicoBanco.FieldByName('ESCRITURAL_TRADICIONAL_SER').AsString = 'E' then
    ATipoDocumento := Escritural
  else
    ATipoDocumento := Tradicional;

  if Length(ADataSetConfigServicoBanco.FieldByName('CNPJ_CPF_CCR').AsString) > 11 then
    ATipoInscricaoPessoa := pJuridica // pFisica..pJuridica
  else
    ATipoInscricaoPessoa := pFisica;

  with AACBrBoleto do
  begin
    Banco.TipoCobranca := cobNenhum;

    case ADataSetConfigServicoBanco.FieldByName('CAMARA_COMPENSACAO_BAN').AsInteger of
      1: Banco.TipoCobranca          := cobBancoDoBrasil; { 001 }
      4: Banco.TipoCobranca          := cobBancoDoNordeste; { 004 }
      21: Banco.TipoCobranca         := cobBanestes; { 021 }
      33, 353, 8: Banco.TipoCobranca := cobSantander; { 033,353,008 }
      41: Banco.TipoCobranca         := cobBanrisul; { 041 }
      70: Banco.TipoCobranca         := cobBRB; { 070 }
      85: Banco.TipoCobranca         := cobBancoCECRED; { 085 }
      104:
        begin
          if ADataSetConfigServicoBanco.FieldByName('CAMARA_COMPENSACAO_SER').AsInteger = 1 then
            Banco.TipoCobranca := cobCaixaSicob { 104 }
          else
            Banco.TipoCobranca := cobCaixaEconomica; { 104 }
        end;
      237:
        begin
          case ADataSetConfigServicoBanco.FieldByName('CAMARA_COMPENSACAO_SER').AsInteger of
            2: Banco.TipoCobranca := cobBradescoSICOOB; { 237 }
            3: Banco.TipoCobranca := cobBicBanco; { 237 }
            4: Banco.TipoCobranca := cobSafraBradesco; { 422 + 237 }
          else
            Banco.TipoCobranca := cobBradesco; { 237 }
          end;
        end;
      341: Banco.TipoCobranca := cobItau; { 341 }
      389: Banco.TipoCobranca := cobBancoMercantil; { 389 }
      748: Banco.TipoCobranca := cobSicred; { 748 }
      756: Banco.TipoCobranca := cobBancoob; { 756 }
      399: Banco.TipoCobranca := cobHSBC; { 399 }
      422:
        begin
          if ADataSetConfigServicoBanco.FieldByName('CAMARA_COMPENSACAO_SER').AsInteger = 4 then
            Banco.TipoCobranca := cobSafraBradesco { 422 + 237 }
          else
            Banco.TipoCobranca := cobBancoSafra; { 422 }
        end;
    else
      raise Exception.Create('Código de banco não suportado: ' + ADataSetConfigServicoBanco.FieldByName('CAMARA_COMPENSACAO_BAN').AsString);
    end;

    Cedente.ResponEmissao := AResponsavelPelaEmissao; // tbCliEmite; // tbCliEmite,tbBancoEmite,tbBancoReemite,tbBancoNaoReemite
    Cedente.TipoCarteira  := ATipoCarteira; // tctRegistrada; // , tctEletronica //tctSimples, tctRegistrada, tctEletronica
    Cedente.TipoDocumento := ATipoDocumento; // Tradicional; //
    Cedente.TipoInscricao := ATipoInscricaoPessoa; // pJuridica; // pFisica ou pJuridica

    Cedente.Nome       := ADataSetConfigServicoBanco.FieldByName('CEDENTE_NOME_CCR').AsString;
    Cedente.Logradouro := ACedenteEndereco;
    Cedente.NumeroRes  := ACedenteNumeroEnd;
    Cedente.CNPJCPF    := ADataSetConfigServicoBanco.FieldByName('CNPJ_CPF_CCR').AsString;
    Cedente.Cidade     := ACedenteCidade;
    Cedente.Bairro     := ACedenteBairro;
    Cedente.CEP        := ACedenteCEP;
    Cedente.UF         := ACedenteUF;
    Cedente.Telefone   := ACedenteTelefone;

    Cedente.Conta         := ADataSetConfigServicoBanco.FieldByName('CONTA_CCR').AsString;
    Cedente.ContaDigito   := ADataSetConfigServicoBanco.FieldByName('DV_CONTA_CCR').AsString;
    Cedente.Agencia       := ADataSetConfigServicoBanco.FieldByName('AGENCIA_CCR').AsString;
    Cedente.AgenciaDigito := ADataSetConfigServicoBanco.FieldByName('DV_AGENCIA_CCR').AsString;
    Cedente.Modalidade    := Trim(ADataSetConfigServicoBanco.FieldByName('MODALIDADE_SER').AsString);

    if ADataSetConfigServicoBanco.FieldByName('LEIAUTE_SER').AsInteger = 1 then
      LayoutRemessa := c240
    else
      LayoutRemessa := c400;

    Cedente.CodigoCedente := Trim(ADataSetConfigServicoBanco.FieldByName('CODIGO_CEDENTE_SER').AsString) +
      Trim(ADataSetConfigServicoBanco.FieldByName('DV_CEDENTE_SER').AsString);

    Cedente.Convenio := ADataSetConfigServicoBanco.FieldByName('NUM_CONTRATO_SER').AsString;
  end;
end;
 

Postado
11 horas atrás, acgubamg disse:

Antes de gerar o arquivo, algumas variaveis devem ser preenchidas. Segue exemplo:

 

class procedure TFuncBoleto.ConfigurarTipoCobranca(
  ADataSetConfigServicoBanco: TDataSet;
  ACedenteEndereco, ACedenteNumeroEnd, ACedenteBairro, ACedenteCidade, ACedenteUF, ACedenteCEP, ACedenteTelefone: string;
  var AACBrBoleto: TACBrBoleto);

var
  AResponsavelPelaEmissao: TACBrResponEmissao;
  ATipoCarteira          : TACBrTipoCarteira;
  ATipoDocumento         : TACBrTipoDocumento;
  ATipoInscricaoPessoa   : TACBrPessoaCedente;
begin
  Case ADataSetConfigServicoBanco.FieldByName('TIPOEMISSAOBOLETO_SER').AsInteger of
    2: AResponsavelPelaEmissao := tbCliEmite;
    1: AResponsavelPelaEmissao := tbBancoEmite;
    3: AResponsavelPelaEmissao := tbBancoReemite;
    4: AResponsavelPelaEmissao := tbBancoNaoReemite;
  else
    AResponsavelPelaEmissao := tbCliEmite;
  end;

  case ADataSetConfigServicoBanco.FieldByName('TIPO_CARTEIRA_SER').AsInteger of
    1: ATipoCarteira := tctSimples;
    2: ATipoCarteira := tctRegistrada;
    3: ATipoCarteira := tctEletronica;
  else
    ATipoCarteira := tctSimples;
  end;

  if ADataSetConfigServicoBanco.FieldByName('ESCRITURAL_TRADICIONAL_SER').AsString = 'E' then
    ATipoDocumento := Escritural
  else
    ATipoDocumento := Tradicional;

  if Length(ADataSetConfigServicoBanco.FieldByName('CNPJ_CPF_CCR').AsString) > 11 then
    ATipoInscricaoPessoa := pJuridica // pFisica..pJuridica
  else
    ATipoInscricaoPessoa := pFisica;

  with AACBrBoleto do
  begin
    Banco.TipoCobranca := cobNenhum;

    case ADataSetConfigServicoBanco.FieldByName('CAMARA_COMPENSACAO_BAN').AsInteger of
      1: Banco.TipoCobranca          := cobBancoDoBrasil; { 001 }
      4: Banco.TipoCobranca          := cobBancoDoNordeste; { 004 }
      21: Banco.TipoCobranca         := cobBanestes; { 021 }
      33, 353, 8: Banco.TipoCobranca := cobSantander; { 033,353,008 }
      41: Banco.TipoCobranca         := cobBanrisul; { 041 }
      70: Banco.TipoCobranca         := cobBRB; { 070 }
      85: Banco.TipoCobranca         := cobBancoCECRED; { 085 }
      104:
        begin
          if ADataSetConfigServicoBanco.FieldByName('CAMARA_COMPENSACAO_SER').AsInteger = 1 then
            Banco.TipoCobranca := cobCaixaSicob { 104 }
          else
            Banco.TipoCobranca := cobCaixaEconomica; { 104 }
        end;
      237:
        begin
          case ADataSetConfigServicoBanco.FieldByName('CAMARA_COMPENSACAO_SER').AsInteger of
            2: Banco.TipoCobranca := cobBradescoSICOOB; { 237 }
            3: Banco.TipoCobranca := cobBicBanco; { 237 }
            4: Banco.TipoCobranca := cobSafraBradesco; { 422 + 237 }
          else
            Banco.TipoCobranca := cobBradesco; { 237 }
          end;
        end;
      341: Banco.TipoCobranca := cobItau; { 341 }
      389: Banco.TipoCobranca := cobBancoMercantil; { 389 }
      748: Banco.TipoCobranca := cobSicred; { 748 }
      756: Banco.TipoCobranca := cobBancoob; { 756 }
      399: Banco.TipoCobranca := cobHSBC; { 399 }
      422:
        begin
          if ADataSetConfigServicoBanco.FieldByName('CAMARA_COMPENSACAO_SER').AsInteger = 4 then
            Banco.TipoCobranca := cobSafraBradesco { 422 + 237 }
          else
            Banco.TipoCobranca := cobBancoSafra; { 422 }
        end;
    else
      raise Exception.Create('Código de banco não suportado: ' + ADataSetConfigServicoBanco.FieldByName('CAMARA_COMPENSACAO_BAN').AsString);
    end;

    Cedente.ResponEmissao := AResponsavelPelaEmissao; // tbCliEmite; // tbCliEmite,tbBancoEmite,tbBancoReemite,tbBancoNaoReemite
    Cedente.TipoCarteira  := ATipoCarteira; // tctRegistrada; // , tctEletronica //tctSimples, tctRegistrada, tctEletronica
    Cedente.TipoDocumento := ATipoDocumento; // Tradicional; //
    Cedente.TipoInscricao := ATipoInscricaoPessoa; // pJuridica; // pFisica ou pJuridica

    Cedente.Nome       := ADataSetConfigServicoBanco.FieldByName('CEDENTE_NOME_CCR').AsString;
    Cedente.Logradouro := ACedenteEndereco;
    Cedente.NumeroRes  := ACedenteNumeroEnd;
    Cedente.CNPJCPF    := ADataSetConfigServicoBanco.FieldByName('CNPJ_CPF_CCR').AsString;
    Cedente.Cidade     := ACedenteCidade;
    Cedente.Bairro     := ACedenteBairro;
    Cedente.CEP        := ACedenteCEP;
    Cedente.UF         := ACedenteUF;
    Cedente.Telefone   := ACedenteTelefone;

    Cedente.Conta         := ADataSetConfigServicoBanco.FieldByName('CONTA_CCR').AsString;
    Cedente.ContaDigito   := ADataSetConfigServicoBanco.FieldByName('DV_CONTA_CCR').AsString;
    Cedente.Agencia       := ADataSetConfigServicoBanco.FieldByName('AGENCIA_CCR').AsString;
    Cedente.AgenciaDigito := ADataSetConfigServicoBanco.FieldByName('DV_AGENCIA_CCR').AsString;
    Cedente.Modalidade    := Trim(ADataSetConfigServicoBanco.FieldByName('MODALIDADE_SER').AsString);

    if ADataSetConfigServicoBanco.FieldByName('LEIAUTE_SER').AsInteger = 1 then
      LayoutRemessa := c240
    else
      LayoutRemessa := c400;

    Cedente.CodigoCedente := Trim(ADataSetConfigServicoBanco.FieldByName('CODIGO_CEDENTE_SER').AsString) +
      Trim(ADataSetConfigServicoBanco.FieldByName('DV_CEDENTE_SER').AsString);

    Cedente.Convenio := ADataSetConfigServicoBanco.FieldByName('NUM_CONTRATO_SER').AsString;
  end;
end;
 

Eu estou passando os passo os parâmetros só que apenas o numero da conta n sai no arquivo remessa

segue o código que passa os dados do cedente:

   ACBrBoleto1.Cedente.Nome := ListaCedente.Values['Cedente'];
   ACBrBoleto1.Cedente.Agencia := ListaCedente.Values['NumeroAgencia'];
   ACBrBoleto1.Cedente.AgenciaDigito := ListaCedente.Values['DigitoAgencia'];
   ACBrBoleto1.Cedente.Logradouro := ListaCedente.Values['LogradouroCedente'];
   ACBrBoleto1.Cedente.NumeroRes := ListaCedente.Values['NumeroCedente'];
   ACBrBoleto1.Cedente.CEP := ListaCedente.Values['CEPCedente'];
   ACBrBoleto1.Cedente.Bairro := ListaCedente.Values['BairroCedente'];
   ACBrBoleto1.Cedente.CNPJCPF := ListaCedente.Values['CNPJCedente'];
   ACBrBoleto1.Cedente.UF := ListaCedente.Values['EstadoEmitente'];
   ACBrBoleto1.Cedente.TipoInscricao := pJuridica;
   ACBrBoleto1.Cedente.Convenio := ListaCedente.Values['Convenio'];
   ACBrBoleto1.Cedente.TipoCarteira := tctRegistrada;
   ACBrBoleto1.Cedente.Modalidade := '01';
   ACBrBoleto1.Cedente.Conta := ListaCedente.Values['NumeroConta'];
   ACBrBoleto1.Cedente.ContaDigito := ListaCedente.Values['DigitoConta'];

   if ListaCedente.Values['NomeBanco'] = 'SICOOB' then begin
      ACBrBoleto1.Banco.TipoCobranca := cobBancoob;
      ACBrBoleto1.Cedente.CodigoCedente := ListaCedente.values['CodigoCedente'];
   end
   else if ListaCedente.Values['NomeBanco'] = 'Banco Brasil' then begin
      ACBrBoleto1.Banco.TipoCobranca := cobBancoDoBrasil;
   end;

 

  • 7 meses depois ...
  • Este tópico foi criado há 2572 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

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