Olá Rogério, tudo bom?
Rogério, neste caso do SIGCB da CAIXA, não é que os campos "Nosso Numero" e "Ag/Cod. Cedente" estejam incorretos, pois esses campos são levados em conta na hora da geração de toda a informação do código de barras & linha digitável, inclusive do famoso campo livre. Como vocẽ mesmo pode avaliar, os dados estão corretos e estão batendo com os do software da CAIXA.
O que de fato acontece neste caso é que, NO MOMENTO DA EXIBIÇÃO, a regra deles exige que os campos "Nosso Numero" e "Ag/Cod. Cedente" sejam exibidos de maneira um pouco diferente, com informações a mais ou a menos, como você mesmo explicitou muito bem:
Nosso Numero- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
O Nosso Número no SIGCB é composto de 17 posições, sendo as 02 posições iniciais para identificar a Carteira e as 15 posições restantes são para livre utilização pelo Cedente: XYNNNNNNNNNNNNNNN-D, onde:
X -Modalidade Cobrança (1-Registrada/2-Sem Registro)
Y -Emissão do bloqueto (4-cedente)
NNNNNNNNNNNNNNN -Nosso Número (15 posições livres do Cedente)
D -Dígito verificador (pelo Módulo 11)
Ag/Cod. Cedente- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Já com relação a Ag/Cod. Cedente, o mesmo está
exibindo a Agência com o seu DV. Ex.: 0758-1/215376-9, quando na verdade
era para aparecer assim: 0758/215376-9
Esse exibição um pouco diferente dos campos "Nosso Numero" e "Ag/Cod. Cedente" pode ser facilmente contornado redefinindo o conteúdo exibido por cada campo desses do template do boleto. Neste caso você nem precisa criar um template próprio do boleto, pode usar o template padrão, bastando apenas conhecer o nome dos campos e sobrescrever seus conteúdos, como se estivesse definido o conteúdo de novos campos de um template personalizado.
Faça o seguinte teste aí:
boleto.addTextosExtras("txtRsNossoNumero", "XX XXXXXXXX");
boleto.addTextosExtras("txtFcNossoNumero", "XX XXXXXXXX");
boleto.addTextosExtras("txtRsAgenciaCodigoCedente", "0758/215376-9");
boleto.addTextosExtras("txtFcAgenciaCodigoCedente", "0758/215376-9");Você vai ver que apenas a exibição deste campos será afetada. A informação presente no código de barras & linha digitável permanecerá intacta, correta.
Espero ter ajudado,
Estamos à disposição.
Misael BarretoJRimum Developer