Ir para conteúdo
  • Cadastre-se

dev botao

Boleto Banco do Brasil


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

Recommended Posts

Pessoal, bom dia.... Sou novo por aqui... e tenho uma dúvida...

no boleto do BB, o nosso numero é de 11 digitos, ou 10? pois estou tentando passar 11 digitos e dá uma mensagem que o nosso numero é de apenas 10... mas na impressao do boleto o nosso numero sai com vários zeros a esquerda... alguem sabe como eu devo passar o nosso numero? sei que minha duvida é algo primario mas estou com dificuldades... agredeço e muito a quem puder me ajudar... ate mais...

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde.

O tamanho do nosso número vai varias de acordo com o tamanho do convênio utilizado.

Qual é o tamanho do número do convenio que você esta testando?

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

legal... consegui imprimir o nosso numero, mas o numero do documento sai zerado...

fica assim: XXXXXX0000-5... alguem pode me falar como resolve?

agradecimentos antecipados.

cara, eu consegui homologar o layout em pdf (o boleto propriamente dito está ok) a unica coisa que nao consegui homologar ate agora é o arquivo remessa, o seu arquivo remessa está dando certo ?

Link para o comentário
Compartilhar em outros sites

ainda nem cheguei nessa parte...

to preso na impressao dele ainda...

tem algum tipo de jogada que tem que fazer para imprimir o nosso numero corretamente?

o que eu fiz, eu criei um campo na base e incremento ele a cada titulo, ex:

dm.CDS_EMPRESA.Locate('IDEMPRESAEMISSORA',DBEdit2.Text,[]);

NossoNumero:= StrToInt(dm.CDS_EMPRESANOSSONUMERO.AsString);

inc(NossoNumero);

Titulo.NossoNumero := IntToStr(NossoNumero);

dm.cdsCliente.Locate('IDCLIENTE',DM.cdsAReceberIDCLIENTE.AsInteger,[]);

dm.CDS_EMPRESA.Edit;

dm.CDS_EMPRESANOSSONUMERO.AsInteger := NossoNumero;

dm.CDS_EMPRESA.Post;

dm.CDS_EMPRESA.ApplyUpdates(0);

assim funcionou...

Link para o comentário
Compartilhar em outros sites

engraçado.... comigo nao está funcionando... saí o numero do convenio, mas o numero do documento sai zerado... acho que estou cometendo algum erro primario... mas nao estou encontrando...


  bltPrincipal.ListadeBoletos.Clear;


  Titulo          := bltPrincipal.CriarTituloNaLista;

  strNossoNumero  := IntToStr(StrToInt(tabdados.FieldbyName('DOCUMENTO').AsString) + 1);


  with Titulo do begin

    Aceite                  := atNao;

    Vencimento              := tabdados.FieldbyName('DT.VENCIMENTO').AsDateTime;

    DataDocumento           := tabdados.FieldbyName('DT.EMISSAO').AsDateTime;

    NumeroDocumento         := tabdados.FieldbyName('DOCUMENTO').AsString + ' - ' + tabdados.FieldbyName('ORDEM').AsString;

    EspecieDoc              := tabdados.FieldbyName('ESPECIE').AsString;

    DataProcessamento       := Now;

    Carteira                := Copy(qryContaCorrenteInstituicao.FieldByName('CARTEIRA').AsString, 01, 02) +

                                  Copy(qryContaCorrenteInstituicao.FieldByName('CARTEIRA').AsString, 03, 03);

    NossoNumero             := strNossoNumero;

    Sacado.NomeSacado       := adoqcliente.FieldByName('NOME').AsString;

    Sacado.CNPJCPF          := adoqcliente.FieldByName('CNPJ_CPF').AsString;

    Sacado.Logradouro       := adoqcliente.FieldByName('ENDERECO').AsString;

    Sacado.Numero           := adoqcliente.FieldByName('IDCLIENTE').AsString;

    Sacado.Bairro           := adoqcliente.FieldByName('BAIRRO').AsString;

    Sacado.Cidade           := adoqcliente.FieldByName('DESCRICAO').AsString;

    Sacado.UF               := adoqcliente.FieldByName('UF').AsString;

    Sacado.CEP              := adoqcliente.FieldByName('CEP').AsString;

    ValorDocumento          := tabdados.FieldbyName('VLR.FACE').AsFloat;

    ValorDocumento          := tabdados.FieldbyName('VLR.FACE').AsFloat;

    Instrucao1              := frmMensagem.edMensagem1.Text + ' ' + frmMensagem.edMensagem2.Text;

    Instrucao2              := frmMensagem.edMensagem3.Text;

  end;

Link para o comentário
Compartilhar em outros sites

engraçado.... comigo nao está funcionando... saí o numero do convenio, mas o numero do documento sai zerado... acho que estou cometendo algum erro primario... mas nao estou encontrando...


  bltPrincipal.ListadeBoletos.Clear;


  Titulo          := bltPrincipal.CriarTituloNaLista;

  strNossoNumero  := IntToStr(StrToInt(tabdados.FieldbyName('DOCUMENTO').AsString) + 1);


  with Titulo do begin

    Aceite                  := atNao;

    Vencimento              := tabdados.FieldbyName('DT.VENCIMENTO').AsDateTime;

    DataDocumento           := tabdados.FieldbyName('DT.EMISSAO').AsDateTime;

    NumeroDocumento         := tabdados.FieldbyName('DOCUMENTO').AsString + ' - ' + tabdados.FieldbyName('ORDEM').AsString;

    EspecieDoc              := tabdados.FieldbyName('ESPECIE').AsString;

    DataProcessamento       := Now;

    Carteira                := Copy(qryContaCorrenteInstituicao.FieldByName('CARTEIRA').AsString, 01, 02) +

                                  Copy(qryContaCorrenteInstituicao.FieldByName('CARTEIRA').AsString, 03, 03);

    NossoNumero             := strNossoNumero;

    Sacado.NomeSacado       := adoqcliente.FieldByName('NOME').AsString;

    Sacado.CNPJCPF          := adoqcliente.FieldByName('CNPJ_CPF').AsString;

    Sacado.Logradouro       := adoqcliente.FieldByName('ENDERECO').AsString;

    Sacado.Numero           := adoqcliente.FieldByName('IDCLIENTE').AsString;

    Sacado.Bairro           := adoqcliente.FieldByName('BAIRRO').AsString;

    Sacado.Cidade           := adoqcliente.FieldByName('DESCRICAO').AsString;

    Sacado.UF               := adoqcliente.FieldByName('UF').AsString;

    Sacado.CEP              := adoqcliente.FieldByName('CEP').AsString;

    ValorDocumento          := tabdados.FieldbyName('VLR.FACE').AsFloat;

    ValorDocumento          := tabdados.FieldbyName('VLR.FACE').AsFloat;

    Instrucao1              := frmMensagem.edMensagem1.Text + ' ' + frmMensagem.edMensagem2.Text;

    Instrucao2              := frmMensagem.edMensagem3.Text;

  end;

bom dia,

o problema está aqui = strNossoNumero := IntToStr(StrToInt(tabdados.FieldbyName('DOCUMENTO').AsString) + 1);

ao inves disso eu uso variável, por isso o meu funcionou, testa depois vc posta o resultado.

Link para o comentário
Compartilhar em outros sites

Well testei da forma que voce disse e ainda nada...

para sair certo eu tenho que fazer desta forma...


 Titulo          := bltPrincipal.CriarTituloNaLista;

  intTeste        := StrToInt(tabdados.FieldbyName('DOCUMENTO').AsString);

  Inc(intTeste);

  strNossoNumero  := IntToStr(intTeste);


  with Titulo do begin

    Aceite                  := atNao;

    Vencimento              := tabdados.FieldbyName('DT.VENCIMENTO').AsDateTime;

    DataDocumento           := tabdados.FieldbyName('DT.EMISSAO').AsDateTime;

    NumeroDocumento         := tabdados.FieldbyName('DOCUMENTO').AsString + ' - ' + tabdados.FieldbyName('ORDEM').AsString;

    EspecieDoc              := tabdados.FieldbyName('ESPECIE').AsString;

    DataProcessamento       := Now;

    Carteira                := Copy(qryContaCorrenteInstituicao.FieldByName('CARTEIRA').AsString, 01, 02) +

                                  Copy(qryContaCorrenteInstituicao.FieldByName('CARTEIRA').AsString, 03, 03);

    NossoNumero             := strNossoNumero + '00000';

    Sacado.NomeSacado       := adoqcliente.FieldByName('NOME').AsString;

    Sacado.CNPJCPF          := adoqcliente.FieldByName('CNPJ_CPF').AsString;

    Sacado.Logradouro       := adoqcliente.FieldByName('ENDERECO').AsString;

    Sacado.Numero           := adoqcliente.FieldByName('IDCLIENTE').AsString;

    Sacado.Bairro           := adoqcliente.FieldByName('BAIRRO').AsString;

    Sacado.Cidade           := adoqcliente.FieldByName('DESCRICAO').AsString;

    Sacado.UF               := adoqcliente.FieldByName('UF').AsString;

    Sacado.CEP              := adoqcliente.FieldByName('CEP').AsString;

    ValorDocumento          := tabdados.FieldbyName('VLR.FACE').AsFloat;

    ValorDocumento          := tabdados.FieldbyName('VLR.FACE').AsFloat;

    Instrucao1              := frmMensagem.edMensagem1.Text + ' ' + frmMensagem.edMensagem2.Text;

    Instrucao2              := frmMensagem.edMensagem3.Text;

  end;

mas essa solução nao deve estar correta....

obrigado Well por toda a ajuda prestada até o presente momento...

Link para o comentário
Compartilhar em outros sites

pessoal, nao consigo validar o layout do boleto bancario...

segue o codigo aqui abaixo... falta passar alguma informação? ou estou passando alguma informação incorreta?


procedure Tfrmdocumentosreceber.InsereDocumento;

var

  Titulo : TACBrTitulo;

  strNossoNumero: String;

  intTeste: Integer;

begin

  Titulo          := bltPrincipal.CriarTituloNaLista;

  intTeste        := (qryContaCorrenteInstituicao.FieldbyName('SEQUENCIANROBOLETO').AsInteger);

  Inc(intTeste);

  strNossoNumero  := IntToStr(intTeste);


  with Titulo do begin

    if (adoqcliente.FieldByName('TIPOPESSOA').AsString = 'F') then begin

      Sacado.Pessoa         := pFisica;

    end else begin

      Sacado.Pessoa         := pJuridica;

    end;


    Aceite                  := atNao;

    Vencimento              := tabdados.FieldbyName('DT.VENCIMENTO').AsDateTime;

    DataDocumento           := tabdados.FieldbyName('DT.EMISSAO').AsDateTime;

    NumeroDocumento         := tabdados.FieldbyName('DOCUMENTO').AsString + ' - ' + tabdados.FieldbyName('ORDEM').AsString;

    EspecieDoc              := 'RC';

    DataProcessamento       := Now;

    Carteira                := qryContaCorrenteInstituicao.FieldByName('CARTEIRA').AsString;

    NossoNumero             := strNossoNumero;

    Sacado.NomeSacado       := adoqcliente.FieldByName('NOME').AsString;

    Sacado.CNPJCPF          := adoqcliente.FieldByName('CNPJ_CPF').AsString;

    Sacado.Logradouro       := adoqcliente.FieldByName('ENDERECO').AsString;

    Sacado.Numero           := adoqcliente.FieldByName('IDCLIENTE').AsString;

    Sacado.Bairro           := adoqcliente.FieldByName('BAIRRO').AsString;

    Sacado.Cidade           := adoqcliente.FieldByName('DESCRICAO').AsString;

    Sacado.UF               := adoqcliente.FieldByName('UF').AsString;

    Sacado.CEP              := adoqcliente.FieldByName('CEP').AsString;

    ValorDocumento          := tabdados.FieldbyName('VLR.FACE').AsFloat;

    ValorDocumento          := tabdados.FieldbyName('VLR.FACE').AsFloat;

    LocalPagamento          := 'PAGÁVEL EM QUALQUER BANCO ATÉ O VENCIMENTO.';

    OcorrenciaOriginal.Tipo := toRemessaBaixar;

  end;

end;

a informação que o pessoal do banco me retornou é que o nosso numero que vai no corpo do boleto não tem dígito verificador e que o codigo de barras está incorreto tambem, mas muita gente usa esse componente, ele é seguro e estavel, devo estar cometendo algum erro, alguem pode me ajudar?

obrigado pessoal..

Teste.PDF

Link para o comentário
Compartilhar em outros sites

consegui resolver a questao da carteira, para resolver meu problema momentaneamente fiz a seguinte alteração na função "MontarCampoNossoNumero"

por favor, vejam se está correta e se posso deixa-la dessa maneira...


function TACBrBancoBrasil.MontarCampoNossoNumero (const ACBrTitulo: TACBrTitulo ) : String;

var ANossoNumero : string;

begin

    ANossoNumero := FormataNossoNumero(ACBrTitulo);

    if (Length(ACBrBanco.ACBrBoleto.Cedente.Convenio) = 7) or (Length(ANossoNumero) = 17) then

       Result:= ANossoNumero

    else

       Result := ANossoNumero + '-' + CalcularDigitoVerificador(ACBrTitulo);

end;

a alteração feita foi adicionar or (Length(ANossoNumero) = 17).

esta alteração está correta?

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

A correção para este problema foi implementada e está no svn.

Att

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4702 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.