Estou tendo um problema na validação dos boletos reimpressos pelo meu sistema no que se refere ao código de barras.
Na função MontarCodigoBarras da unit AcbrBancoCaixa o campo referente ao Identificador da Emissão do Boleto está fixo o valor '4', quando na verdade, segundo consta no layout, esse valor se refere à 2ª posição do Nosso Número.
Abaixo o código atual:
{Montando Campo Livre}
CampoLivre := padR(ACBrTitulo.ACBrBoleto.Cedente.CodigoCedente,6,'0') +
CalcularDVCedente(ACBrTitulo) + Copy(ANossoNumero,3,3) +
Copy(ANossoNumero,1,1) + Copy(ANossoNumero,6,3) +
'4' + Copy(ANossoNumero,9,9);
A seguir o código com a correção:
{Montando Campo Livre}
CampoLivre := padR(ACBrTitulo.ACBrBoleto.Cedente.CodigoCedente,6,'0') +
CalcularDVCedente(ACBrTitulo) + Copy(ANossoNumero,3,3) +
Copy(ANossoNumero,1,1) + Copy(ANossoNumero,6,3) +
Copy(ANossoNumero,2,1) + Copy(ANossoNumero,9,9);
Com esta correção é possível reimprimir boletos gerados pelo banco, onde o valor da constante é 1.
Estou enviando em anexo o layout que consta esta informação.
Está na pag. 20, tópico 5.3 - Anexo III - Campo livre do código de Barras, Constante 2.
ESP_COD_BARRAS_SIGCB_COBRANCA_CAIXA.pdf