Boa tarde
Estou implementando a integração com o SisPag do Itaú utilizando o componente ACBrPagFor, e encontrei alguns erros no processo de leitura do arquivo de retorno para esse banco.
Um desses erros está na função LerRegistro5 , onde o componente está caindo em uma condição que não deveria, tratando incorretamente o tipo de pagamento. No caso ele está entendendo que deve tratar pagamento de salários, sendo que no arquivo não existe nenhum registro desse tipo de pagamento, o que acaba ocasionando o erro.
O outro erro encontrado está na função LerSegmentoO, onde é gerada uma exceção na leitura do campo DataPagamento , caso esse campo venha vazio no arquivo de retorno. Esse é um cenário que pode ocorrer para os registros que foram rejeitadas ou cancelados, que no caso não tem data de pagamento a ser informada.
Eu já fiz as correções nesses dois pontos mencionados, estou anexando o fonte que foi alterado para validação dos moderadores, de maneira a analisar se as soluções aplicadas são adequadas. Anexei também o arquivo que utilizei no teste do retorno.
Desde já, agradeço!
ACBrPagForLerTxt.pas
PG090600009a.seq