Bom dia.
A Caixa Econômica tem várias regras para a montagem do Nosso Número, por isso a quantidade de caracteres que você informa neste campo irá influenciar como o mesmo será montado...
Observe abaixo o código utilizado para formatar o NossoNumero:
ANossoNumero := OnlyNumber(NossoNumero);
wTamNossoNum := CalcularTamMaximoNossoNumero(Carteira,ANossoNumero);
if (wTamNossoNum = 10) or (wTamNossoNum = 15) then
ANossoNumero:= ANossoNumero
else
begin
if Carteira = 'SR' then
begin
if wTamNossoNum = 14 then
ANossoNumero:= '8'+ padr(Copy(ANossoNumero,Length(ANossoNumero)-13,14),14)
else
ANossoNumero:= '82'+ padr(Copy(ANossoNumero,Length(ANossoNumero)-7,8),8);
end
else
ANossoNumero:= '9' + padR(Copy(ANossoNumero,Length(ANossoNumero)-8,9),9,'0');
end;