Ir para conteúdo
  • Cadastre-se

dev botao

Erro na leitura do retorno da CAIXA


OlavoJr
  • Este tópico foi criado há 2979 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Ao executar a função de "LerRetorno" para a CAIXA, a propriedade CARTEIRA não esta sendo preenchida devido na criação do objeto não ter sido definido a propriedade fpTamanhoCarteira, que fica com zero e perde o conteudo lido da linha do texto de retorno.

 

Para correção é necessário na unit ACBrBancoCaixa no construtor do objeto atribuir o valor 2 a propriedade fpTamanhoCarteira, segue abaixo correção e em anexo unit com a implementação.

 

constructor TACBrCaixaEconomica.create(AOwner: TACBrBanco);
begin
   inherited create(AOwner);
   fpDigito := 0;
   fpNome   := 'Caixa Economica Federal';
   fpNumero:= 104;
   fpTamanhoAgencia :=  5;
   fpTamanhoMaximoNossoNum := 15;
   fpTamanhoCarteira := 2;

   fValorTotalDocs:= 0;

   fpOrientacoesBanco.Clear;
   fpOrientacoesBanco.Add(ACBrStr(
                          'SAC CAIXA: 0800 726 0101 (informações, reclamações, sugestões e elogios) ' + sLineBreak +
                          'Para pessoas com deficiência auditiva ou de fala: 0800 726 2492 ' + sLineBreak +
                          'Ouvidoria: 0800 725 7474 (reclamações não solucionadas e denúncias) ') + sLineBreak +
                          'caixa.gov.br ');
end;
 

ACBrBancoCaixa.pas

Link para o comentário
Compartilhar em outros sites

21 horas atrás, OlavoJr disse:

Ao executar a função de "LerRetorno" para a CAIXA, a propriedade CARTEIRA não esta sendo preenchida devido na criação do objeto não ter sido definido a propriedade fpTamanhoCarteira, que fica com zero e perde o conteudo lido da linha do texto de retorno.

 

Para correção é necessário na unit ACBrBancoCaixa no construtor do objeto atribuir o valor 2 a propriedade fpTamanhoCarteira, segue abaixo correção e em anexo unit com a implementação.

 

constructor TACBrCaixaEconomica.create(AOwner: TACBrBanco);
begin
   inherited create(AOwner);
   fpDigito := 0;
   fpNome   := 'Caixa Economica Federal';
   fpNumero:= 104;
   fpTamanhoAgencia :=  5;
   fpTamanhoMaximoNossoNum := 15;
   fpTamanhoCarteira := 2;

   fValorTotalDocs:= 0;

   fpOrientacoesBanco.Clear;
   fpOrientacoesBanco.Add(ACBrStr(
                          'SAC CAIXA: 0800 726 0101 (informações, reclamações, sugestões e elogios) ' + sLineBreak +
                          'Para pessoas com deficiência auditiva ou de fala: 0800 726 2492 ' + sLineBreak +
                          'Ouvidoria: 0800 725 7474 (reclamações não solucionadas e denúncias) ') + sLineBreak +
                          'caixa.gov.br ');
end;
 

ACBrBancoCaixa.pas

Estranho, ja uso a tempos e nao precisei usar isso.

Link para o comentário
Compartilhar em outros sites

Sem a alteração acima proposta, como não é atribuido valor na "criação do objeto" a propriedade fpTamanhoCarteira fica 0 (zero).

Na verdade o problema ocorre devido a classe base ACBRBoleto, para a propriedade Carteira ter o metodo de escrita chamando SetCarteira e o problema acontece dentro deste metodo exatamente na linha:

      fCarteira:= IntToStrZero(aCarteira,TamanhoCarteira);

 

Chamando esta função como o parametro TamanhoCarteira = 0 o retorno vem vazio.

 

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...
  • Administradores

Boa noite.

Alterações no svn.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
Em 05/01/2016 at 22:09, Juliana Tamizou disse:

Boa noite.

Alterações no svn.

Att.

Boa tarde, 

Junto com esta alteração, foi feito também uma alteração do sacador avalista na linha 526, arquivo de remessa, campo 17.3Q, Sac. / Aval.

Segundo o manual, ele só deve ser preenchido quando não for o cedente original do título, neste caso deveríamos mandar 0 e com a alteração, esta preenchendo sempre com 1.

Texto retirado da página 16 do manual:

Sacador Avalista - Dados sobre o cedente original do título
Observações:
17.3Q à 19.3Q Estes campos deverão estar preenchidos quando não for o Cedente original do título.

Fizemos uma alteração no fonte para poder homologar a cobrança com a caixa, segue alteração:

               {Dados do sacador/avalista}
               IfThen(EstaVazio(Sacado.SacadoAvalista.NomeAValista),
                      '0',
                      IfThen(Sacado.SacadoAvalista.Pessoa = pJuridica,
                             '2',
                             '1'
                      )
               )                                                                       + // 154 a 157 - Tipo de Inscrição

Mandei também em anexo a unit alterada.

Obrigado,

ACBrBancoCaixa.pas

Renato Pavan

Desenvolvedor Delphi / PHP  – Campinas (SP)

 

RWA Sistemas

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Administradores

Boa tarde.

Alteração disponível no svn.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...
  • Membros Pro

Neste commit voltou a ocorrer um erro que eu já tinha relatado e tinha sido corrigido.

Na leitura do arquivo de retorno ao pegar o campo "SeuNumero" deve ser lido a posição de 106 a 130 (25 dígitos) conforme enviado no arquivo de remessa e não a posição 59.

 

Gilson do Carmo
WindSoft Sistemas

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa noite.

Por favor anexe o arquivo com a correção.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

Bom dia pessoal.

Também fiz a correção no métido "LerRetorno240" para que a leitura do SeuNumero seja realizada na posição correta, a saber:

            // DONE -oJacinto Junior: Ajustar a leitura do SeuNumero utilizando o campo "Identificação do Título na Empresa".
//            SeuNumero                   := Trim(copy(Linha,59,11));
            SeuNumero                   := Trim(copy(Linha,106,25));

Segue anexo unit alterada.

ACBrBancoCaixa.pas

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa noite.

Alteração no svn.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2979 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

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 conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.