O Nosso Número SICOOB CNAB240 segundo o manual é 10 Dígitos: 09 + 01 DV. Posição Inicial 38
Antes funcionava normal por que lia na posição (40~7) ou seja, os 7 dígitos finais do nosso número. embora
iniciasse na posição errada, finalizava na posição correta. então enquanto o nosso número fosse menor que
7 dígitos, tudo ok.
7560001300013T 0603059000000001603770000001750505014...
Copy(Linha,40,7) = 0001750
O problema surgiu quando, para pegar a posição inicial correta, mudou-se a leitura de 40~7 para 38~7, mas dessa forma o final do nosso número ficou fora.
7560001300013T 0603059000000001603770000001750505014...
Copy(Linha,38,7) = 0000017
Sugestões
1 ) Não alterar fpTamanhoMaximoNossoNum que está fixada em 7 pois o manual indica que nos cálculos de dígito
verificador apenas 07 dígitos do nosso numero são utilizados, da direita para a esquerda, inclusive na montagem do campo livre são 8 dígitos (7 do nosso número + 1 DV).
2) No método "LerRetorno240", linha 537 deixar como estava, lendo na posição 40~7, pois se continuar em 38~7, cortará dois dígitos do nosso número.
Obrigado.