Prezados,
Tive a necessidades de realizar um ajuste na geração de remessa para Caixa Econômica, Layout SIGCB CNAB240. O ajuste se refere ao campo Código p/ Baixa/Devolução (página 21 do layout, campo 38.3P, registro Tipo 3, Segmento P do layout, coluna 224). Segundo o manual, observação C028 (página 61 do layout), esse campo só pode conter o valor 2 quando o campo de "código para protesto" (página 21 do layout, campo 36.3P, registro Tipo 3, Segmento P do layout, coluna 221) estiver preenchido com o código 1(Protestar Título). A rotina não estava tratando essa situação.
Alterei a linha 499 da unit ACBrBancoCaixa:
Código anterior - IfThen((DataBaixa <> 0) and (DataBaixa > Vencimento), '1', '2') +
Código Alterado - IfThen(((DataProtesto = 0) or (DataProtesto <= Vencimento)) or ((DataBaixa <> 0) and (DataBaixa > Vencimento)), '1', '2') +
Segue em anexo a unit ACBRBancoCaixa.pas. O layout não consegui anexar por causa da restrição de tamanho do arquivo, mas segue o link para download do arquivo que tomei como base para essa alteração -> https://www.caixa.gov.br/Downloads/cobranca-caixa/Manual_Leiaute_CNAB240_SIGCB.pdf
ACBrBancoCaixa.pas