Ir para conteúdo
  • Cadastre-se

dev botao

Retorno Caixa Federal - Nosso Numero Em Branco


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

Recommended Posts

  • Membros Pro

Pessoal,  boa tarde!

Estou testando a leitura de Retorno da Caixa Federal pelo ACBRBoleto, mas estou com problema para ler alguns campos:

Os campos de valor recebeido e data crédito eu consigo ler, mas os campos nosso numero e número do documento eu não consigo ler....alguém pod eme ajudar?

Anexo está o arquivo que estou lendo se alguém puder dar uma olhada fico agradecido..

Alterei a extensão do arquivo para .txt para poder anexar...mas a extensão original é .retA01021301.txt

 

Att,

 

Nebrio

 

 

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde.

 

A caixa possui duas units diferentes, uma para a cobrança SIGCB  e outra para o SICOB, certifique-se de ter escolhido o tipo de cobrança correto...

 

SIGCB = cobCaixaEconomica,

SICOB = cobCaixaEconomicaSicob

 

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

  • Membros Pro

Juliana, bom dia!

Estou usando a cobCaixaEconomica mesmo.....

 

 

 

Dei uma olhada na Unit da CaixaEconomica e vi o seguinte no código de Leitura do Retorno....

 

with Titulo do
begin
{Segmento T}
if Copy(Linha,14,1)= 'T' then
begin
SeuNumero := copy(Linha,59,11);
NumeroDocumento := copy(Linha,59,11);
OcorrenciaOriginal.Tipo := CodOcorrenciaToTipo(StrToIntDef(
copy(Linha,16,2),0));
//05 = Liquidação Sem Registro
Vencimento := StringToDateTimeDef( Copy(Linha,74,2)+'/'+
Copy(Linha,76,2)+'/'+
Copy(Linha,78,2),0, 'DD/MM/YY' );

ValorDocumento := StrToFloatDef(Copy(Linha,82,15),0)/100;
ValorDespesaCobranca := StrToFloatDef(Copy(Linha,199,15),0)/100;
NossoNumero := Copy(Linha,40,11);
Carteira := Copy(Linha,40,2);

end

 

olhando o layout da Caixa http://downloads.cai...240__SIGCB.PDF�

notei que o campo NossoNumero está copiando 11 digitos a partir do 40, mas no layout são 15 digitos a partir do 42....

Não entendo muito disso pessoal é apenas o que estou vendo...se estiver falando besteira alguém me corrija....

E se tiver alguém que já utiliza o retorno da Caixa Federal e puder me auxiliar ficarei grato.....

 
Alterei a unit para Copiar o NossoNumero := Copy(linha,42,15); e me mostrou o número correto....
será que pode estar o layout de leitura com algum problema?

 

Att,

Editado por nebrio
Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

 

Realmente em comparação entre o fonte oque diz o manual, existe a necessidade de um ajuste, se desejar efetue a correção e tente ler novamente seu arquivo de retorno, de ser certo anexe a unit alterada aqui.

 

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

  • Administradores

Boa tarde.

 

Não entendi a questão do voltar em branco se o TamMaximo do nosso número não for especificado...

 

Quanto ao retorno, existem 2 manuais distintos para SICOB e SIGCB, por favor confirme com o banco a questão de um único retorno, pois  é estranho  existirem dois manuais distintos sendo que apenas um é válido.

 

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

  • Membros Pro

Juliana, quanto aos manuais, até onde sei o SICOB é uma entidade vinculada a Caixa, porém, seus layouts são diferentes mesmo.

Quanto a colocação do colega Maicon, que mesmo que façamos a remessa como SIGCB o retorno vem como SIGCOB não sei dizer....

Essa noite estarei analisando a unit CaixaEconomica a fundo e testarei com os arquivos de retorno que tenho, mas o manual realmente são dois...

Att,

Link para o comentário
Compartilhar em outros sites

Bom eu corrigi a unit do retorno caixa com mudado as posições do nosso numero e da data do vencimento... E quanto ao SICOB sim se não colocar o numero maximo do Nosso numero o nosso numero vem embranco devido a uma conta maulca que colocarão la no codigo. veja

 

Que na verdade até agora não descobri pra que esta conta ai!
 
Unit ACBrCaixaEconomicaSICOB
 
            NossoNumero := Copy(Copy(Linha,47,10), // sem o DV
                                Length(Copy(Linha,47,10))-TamanhoMaximoNossoNum ,
                                TamanhoMaximoNossoNum);
Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

 

Olhando rapidamente no manual realmente a conta é desnecessária, se desejar, efetue os ajustes e anexe aqui o fonte corrigido.

 

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

Aproveitando o tópico segue as correções que fiz para ajustar a leitura do arquivo de retorno SIGCB:

 

unit ACBrCaixaEconomica;

 

procedure TACBrCaixaEconomica.LerRetorno240(ARetorno: TStringList);

 

 

 
         {Segmento T}
         if Copy(Linha,14,1)= 'T' then
          begin
            SeuNumero                   := copy(Linha,59,11);
            NumeroDocumento             := copy(Linha,59,11);
            OcorrenciaOriginal.Tipo     := CodOcorrenciaToTipo(StrToIntDef(
                                        copy(Linha,16,2),0));
 
             //05 = Liquidação Sem Registro
             Vencimento := StringToDateTimeDef( Copy(Linha,74,2)+'/'+
                                                Copy(Linha,76,2)+'/'+
-                                               Copy(Linha,78,2),0, 'DD/MM/YY' );
+                                               Copy(Linha,80,2),0, 'DD/MM/YY' );
 
             ValorDocumento       := StrToFloatDef(Copy(Linha,82,15),0)/100;
             ValorDespesaCobranca := StrToFloatDef(Copy(Linha,199,15),0)/100;
-            NossoNumero          := Copy(Linha,40,11);
+            NossoNumero          := Copy(Linha,42,15);
             Carteira             := Copy(Linha,40,2);
 
           end
Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

 

Por favor anexe a unit alterada aqui.

 

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 ...
  • Administradores

Boa tarde.

 

Correçã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

  • 10 meses depois ...

Boas tarde.

 

Você postou num tópico que teve o último post em 24/03/2013.

 

Tem certeza de que era essa a sua pergunta? Link do SVN?

 

Mas, por via das dúvidas, segue: http://svn://svn.code.sf.net/p/acbr/code/trunk

 

Atenciosamente.

------------------------------------------------

Jéter Rabelo Ferreira
Campestre/MG

Link para o comentário
Compartilhar em outros sites

Obrigado!

Sou iniciante no Delphi. Nos meus estudos eu achei bem interessante trabalhar com arquivos de retorno.

 

Alguem poderia me ensinar como eu utilizo esse arquivo "ACBrCaixaEconomica.pas" em uma aplicação?

 

Eu irei utilizar somente como uma função?

 

Se sim... como irei fazer esses chamos para receber as informação dos arquivos de retorno?

 

 

Caso alguém possa tirar minha duvida, eu fico grato!!

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

No método alterado no tópico acima, você não tem acesso a ele e sim só o componente acbrboleto...

 

Baixe o projeto todo, e veja os exemplos que estão prontos la...

---------------------------------------------------------

Att. 

Oneide Luiz Schneider
Analista/Desenvolvedor de Software
Itapiranga/Maravilha - SC
(49) 99367442
Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...

Boa tarde Galera

Recentemente fui integrar o retorno da caixa padrão SICOB e tive que fazer alguns ajustes. Vou detalhar o que fiz para que ficasse correto o retorno.

Primeiramente eu comentei a linha: 1224 e 1225 poi o tamanho máximo do nosso número já vem preenchido quando se aponta o tipo de cobrança: "ACBrBanco.TamanhoMaximoNossoNum := CalcularTamMaximoNossoNumero(Carteira, '', ACBrBanco.ACBrBoleto.Cedente.Convenio);" o campo "Carteira" vinha com valor 0 e zerava o tamanho máximo (que na minha opinião já que esta vindo preenchido pelo fato de definirmos o banco não precisaria fazer novos cálculos).

Na linha 1230 (como nosso amigo Maicon Luis Ferreira mencionou) também não vi necessidade de se fazer cálculo para pegar o nosso número; então comentei e substituir por: NossoNumero      := Copy(Linha,46,12); // com o DV

E por fim o valor Recebido estava vindo com o mesmo valor do título. Ajustei para: ValorRecebido := StrToFloatDef(Copy(Linha,93,15),0)/100;  e agora está acrescentando o juros e descontando os custos do valor do boleto.

Vou anexar 2 arquivos de retorno e a unit alterada para sua validação Juliana.

Espero ter contribuído. 

cob2501000.ret

ret1585.ret

ACBrBancoCaixaSICOB.pas

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2726 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.