Luiz Carlos Rodrigues Postado 24 Outubro Postado 24 Outubro Quando tento ler o retorno do banco Sofisa está dando um na função GetTipoCobranca em StrToInt(Carteira) no bloco abaixo Devido a Carteira nesse momento estar em branco, ou seja a Carteira que está nos registros Detalhe nem foi lida ainda. Provisoriamente eu fiz uma alteração no fonte ACBrBoleto.pas assumindo cobBancoSofisaSantander só para não dar erro (Isso porque o meu cliente está usando Sofisa Santander). 637: begin if StrToInt(Carteira) = 109 then Result := cobBancoSofisaItau else Result := cobBancoSofisaSantander; end; Não sei se vale a pena colocar o que eu fiz nos fontes do ACBrBoleto já que não é 100% Ficou assim: 637: begin if Carteira = '' then Result := cobBancoSofisaSantander else if StrToInt(Carteira) = 109 then Result := cobBancoSofisaItau else Result := cobBancoSofisaSantander; end;
Moderadores Juliomar Marchetti Postado 24 Outubro Moderadores Postado 24 Outubro Anexa e se possível repassa como fazer o teste para ocorrer Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Luiz Carlos Rodrigues Postado 25 Outubro Autor Postado 25 Outubro Bom dia O teste é simples (Arquivo anexo): ACBrBoleto.NomeArqRetorno := edArquivo.Text; ACBrBoleto.LeCedenteRetorno:= True; ACBrBoleto.LerRetorno; PV820358_812_SEC_101_SOFISA.18O
Moderadores Juliomar Marchetti Postado 25 Outubro Moderadores Postado 25 Outubro 16 minutos atrás, Luiz Carlos Rodrigues disse: Bom dia O teste é simples (Arquivo anexo): ACBrBoleto.NomeArqRetorno := edArquivo.Text; ACBrBoleto.LeCedenteRetorno:= True; ACBrBoleto.LerRetorno; PV820358_812_SEC_101_SOFISA.18O 2.36 kB · 0 downloads desmarca a opção lecedente e veja se resolve Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Luiz Carlos Rodrigues Postado 25 Outubro Autor Postado 25 Outubro Bom dia. Eu já havia feito isso mais ocorre uma exceção conforme o código abaixo no ACBrBoleto if ( IntToStrZero(Banco.Numero, 3) <> BancoRetorno ) and ( IntToStrZero(Banco.NumeroCorrespondente, 3) <> BancoRetorno ) then if LeCedenteRetorno then Banco.TipoCobranca := GetTipoCobranca( StrToIntDef(BancoRetorno, 0)) else raise Exception.Create( ACBrStr( 'Arquivo de retorno de banco diferente do Cedente'));
Moderadores Juliomar Marchetti Postado 25 Outubro Moderadores Postado 25 Outubro Hum. sugere alguma correção baseado no manual enos erros? Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Luiz Carlos Rodrigues Postado 25 Outubro Autor Postado 25 Outubro Não é nem pelo manual, Quando vem no Retorno o Código do Banco 637 (Sofisa) o Componente ACBrBoleto está Verificando se a Carteira é 109, Executa Banco Itaú, caso Contrário Executa Santander, só que nesse momento a carteira ainda não foi alimentada pois a mesma fica nos Registros Detalhe e não no Header, ou seja teria que depois de achar o código do banco, achar a carteira no Detalhe para depois fazer a verificação se executa Itaú ou Santander. Provavelmente isso vai acontecer também com o Banco 643 (Pine) pois a condição é a mesma do Sofisa só que nesse caso executa BancoPineBradesco ou BancoPine
Luiz Carlos Rodrigues Postado 25 Outubro Autor Postado 25 Outubro O manual que eu tenho aqui já tem uns quatro anos e por ele não dá para identificar nada no header se é Itaú ou Santander
Moderadores Juliomar Marchetti Postado 25 Outubro Moderadores Postado 25 Outubro 36 minutos atrás, Luiz Carlos Rodrigues disse: Não é nem pelo manual, Quando vem no Retorno o Código do Banco 637 (Sofisa) o Componente ACBrBoleto está Verificando se a Carteira é 109, Executa Banco Itaú, caso Contrário Executa Santander, só que nesse momento a carteira ainda não foi alimentada pois a mesma fica nos Registros Detalhe e não no Header, ou seja teria que depois de achar o código do banco, achar a carteira no Detalhe para depois fazer a verificação se executa Itaú ou Santander. Provavelmente isso vai acontecer também com o Banco 643 (Pine) pois a condição é a mesma do Sofisa só que nesse caso executa BancoPineBradesco ou BancoPine sugira então uma possível correção anexando a unit modificada e validaremos Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Luiz Carlos Rodrigues Postado 25 Outubro Autor Postado 25 Outubro Até poderia fazer a mudança o problema é pelo que estou vendo tanto Sofisa Itaú quanto Sofisa Santander a posição da carteira é a mesma e pode vir os mesmos códigos, ou seja pode vir o número 112 por exemplo que tem no Sofisa Itaú quanto no Sofisa Santander, como saber qual executar ? Também não dá para pegar pelo Número do Banco na Câmara de Compensação porque vem vários códigos diferentes.
Recommended Posts
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora