Ir para conteúdo
  • Cadastre-se

dev botao

Informar NossoNumero apenas com espaços ou Zeros (Banco do Brasil).


Ver Solução Respondido por BigWings,
  • Este tópico foi criado há 1129 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa Tarde, Tudo Bem !

Estou tendo um problema na hora de registrar o NossoNumero no arquivo Remessa (Banco do Brasil). Eu preciso passar para o arquivo apenas Zeros, no caso ficaria assim '00000000000000000000' o NossoNumero.

PadRight(ANossoNumero+aDV, 20, ' ')  + // 38 a 57 - Nosso número - identificação do título no banco

-> Linha do código aonde registra a informação no arquivo (ACBrBancoBrasil).

 

Mesmo eu passando a tag  NossoNumero = ' ', existe uma função que passa o numero do convenio para o NossoNumero .

Função -> TACBrBancoBrasil.FormataNossoNumero.

    if ((ACBrTitulo.Carteira = '16') or (ACBrTitulo.Carteira = '18')) and
        (Length(AConvenio) = 6) and (wTamNossoNum = 17) then
      ANossoNumero := PadLeft(ANossoNumero, 17, '0')
    else if Length(AConvenio) <= 4 then
      ANossoNumero := PadLeft(AConvenio, 4, '0') + PadLeft(ANossoNumero, 7, '0')
    else if (Length(AConvenio) > 4) and (Length(AConvenio) <= 6) then
      ANossoNumero := PadLeft(AConvenio, 6, '0') + PadLeft(ANossoNumero, 5, '0')
    else if (Length(AConvenio) = 7) then
      ANossoNumero := PadLeft(AConvenio, 7, '0') + RightStr(ANossoNumero, 10);

Nesse caso como eu poderia proceder, é possível passar em banco ou apenas zeros ?

 

Muito obrigado !

Atenciosamente um Desenvolvedor em desenvolvimento !.

  • 3 semanas depois ...
  • Moderadores
  • Solution
Postado
Em 01/10/2021 at 14:10, Vicente Malagoni disse:

Nesse caso como eu poderia proceder, é possível passar em banco ou apenas zeros ?

Vejo que leu os fontes, mas não deve ter percebido uma condição na rotina do CNAB240 que faz da forma que você quer:

Citar

     ANossoNumero := FormataNossoNumero(ACBrTitulo);
     wTamConvenio := Length(ACBrBanco.ACBrBoleto.Cedente.Convenio);
     wTamNossoNum := CalcularTamMaximoNossoNumero(ACBrTitulo.Carteira,
                                                  ACBrTitulo.NossoNumero);

     wCarteira:= StrToIntDef(Carteira, 0);
     if (((wCarteira = 11) or (wCarteira= 31) or (wCarteira = 51)) or
         ((wCarteira = 12) or (wCarteira = 15) or (wCarteira = 17))) and
        ((ACBrBoleto.Cedente.ResponEmissao <> tbCliEmite) and
         (StrToIntDef(NossoNumero,0) = 0)) then
     begin
       ANossoNumero := StringOfChar('0', 20);
       aDV          := ' ';
     end

 

No caso basta informar a propriedade ResponEmissao para esse caso onde o banco emite o boleto.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

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