Olá,
Testei o retorno do arquivo eletrônico de pagamento com o banco Bradesco e não funcionou. O retorno está sendo feito com 3 linhas de detalhes, sendo elas 3J, 3J (52) e 3Z. Sendo assim a leitura do TXT não ocorreu devido os erros abaixo:
1. Erro de conversão de datas ao ler o detalhe 3J (52) na linha:
FPagFor.Lote.Last.SegmentoJ.Last.DataVencimento := StringToDateTime(Copy(FArquivoTXT.Strings[i], 92, 2)+'/'+Copy(FArquivoTXT.Strings[i], 94, 2)+'/'+Copy(FArquivoTXT.Strings[i], 96, 4));
Isto porque a posição 92 é o nome do cedente.
2. Teve que ser adicionado o tipo pagBradesco junto dos campos pagItau, pagSantander, pagSicred para ler ValorTitulo, Desconto, ....
3. Adicionado o tipo pagBradesco junto do pagSicred para leitura do "NossoNumero" nas posições 203/20.
4. Para leitura dos segmentos J52, B, C e Z nas respectivas procedures LerSegmentoJ52, LerSegmentoB, LerSegmentoC e LerSegmentoZ entendo que não deve passar pela leitura do 3J normal.
Segue em anexo a unit ACBrPagForLerTxt com as alterações realizadas para homologação.
ACBrPagForLerTxt.pas