Ir para conteúdo
  • Cadastre-se

dev botao

Boleto Caixa Sigcb Adições E Uma Correção No Lerretorno240 !


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

Recommended Posts

Olá Pessoal do ACBR,
 
Fiz uma pequena adição no arquivo AcbrCaixaEconomica.pas e no AcbrBoleto.pas, segue as adições, o meu cliente precisava saber em que canal de pagamento foi processado boleto, se foi em lotérica, caixa automático e outros, e tinha que mostrar isso no relatório, no arquivo retorno eu não tinha isso e fiz para gravar no banco de dados. Também uma pequena correção no nosso número, estava pegando na posição do padrão SICOB, no SIGCB é diferente na rotina lerRetorno240, bom, aqui está funcionando ok e dando resultados ao cliente, não sei se poderia mandar o arquivo via svn, vou colocar aqui os dois anexos, se for aprovado, fico agradecido por aceitar as adições.
 
Index: C:/dlib/acbr/Fontes/ACBrBoleto/ACBrBoleto.pas
===================================================================
--- C:/dlib/acbr/Fontes/ACBrBoleto/ACBrBoleto.pas (revision 4670)
+++ C:/dlib/acbr/Fontes/ACBrBoleto/ACBrBoleto.pas (working copy)
@@ -531,6 +531,8 @@
     fVersao               : String;
     fACBrBoleto           : TACBrBoleto;
     fTextoLivre           : String;
+    fCodigoLiquidacao     : String;
+    fCodigoLiquidacaoDescricao: String;
 
     procedure SetCarteira(const AValue: String);
     procedure SetNossoNumero ( const AValue: String ) ;
@@ -559,6 +561,8 @@
      property Sacado            : TACBrSacado read fSacado            write fSacado;
      property Parcela           :Integer      read fParcela           write SetParcela default 1;
      property TotalParcelas     :Integer      read fTotalParcelas     write SetTotalParcelas default 1;
+     property CodigoLiquidacao  : String      read fCodigoLiquidacao  write fCodigoLiquidacao;
+     property CodigoLiquidacaoDescricao : String read fCodigoLiquidacaoDescricao write fCodigoLiquidacaoDescricao;
 
      property OcorrenciaOriginal : TACBrOcorrencia read  fOcorrenciaOriginal write fOcorrenciaOriginal;
 
@@ -585,7 +589,6 @@
      property Versao               : String   read fVersao                write fVersao;
      property SeuNumero            : String   read fSeuNumero             write fSeuNumero;
      property PercentualMulta      : Double   read fPercentualMulta       write fPercentualMulta;
-
      property TextoLivre : String read fTextoLivre write fTextoLivre;
    end;
 
 
Index: C:/dlib/acbr/Fontes/ACBrBoleto/ACBrCaixaEconomica.pas
===================================================================
--- C:/dlib/acbr/Fontes/ACBrBoleto/ACBrCaixaEconomica.pas (revision 4670)
+++ C:/dlib/acbr/Fontes/ACBrBoleto/ACBrCaixaEconomica.pas (working copy)
@@ -64,8 +64,8 @@
     function GerarRegistroTrailler240(ARemessa : TStringList): String;  override;
     procedure LerRetorno240(ARetorno: TStringList); override;
     function CodMotivoRejeicaoToDescricao(const TipoOcorrencia: TACBrTipoOcorrencia; CodMotivo: Integer): string; override;
-
     function CodOcorrenciaToTipo(const CodOcorrencia: Integer): TACBrTipoOcorrencia; override;
+    function CodigoLiquidacao_Descricao( CodLiquidacao : Integer) : String;
    end;
 
 implementation
@@ -78,7 +78,7 @@
    fpDigito := 0;
    fpNome   := 'Caixa Economica Federal';
    fpNumero:= 104;
-   fpTamanhoAgencia :=  5;
+   fpTamanhoAgencia := 5;
    fpTamanhoMaximoNossoNum := 15;
 
    fValorTotalDocs:= 0;
@@ -541,15 +541,20 @@
             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,78,4),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);
+            CodigoLiquidacao     := Copy(Linha,214,02);
+            CodigoLiquidacaoDescricao := CodigoLiquidacao_Descricao( StrToIntDef(CodigoLiquidacao,0) );
 
           end
          {Ssegmento U}
@@ -586,8 +591,8 @@
          end;
       end;
    end;
+end;
 
-end;
 function TACBrCaixaEconomica.CodOcorrenciaToTipo(
   const CodOcorrencia: Integer): TACBrTipoOcorrencia;
 begin
@@ -726,4 +731,19 @@
   end;
 end;
 
+
+function TACBrCaixaEconomica.CodigoLiquidacao_Descricao(
+  CodLiquidacao: Integer): String;
+begin
+  case CodLiquidacao of
+    02 : result := 'Casa Lotérica';
+    03 : result := 'Agências CAIXA';
+    04 : result := 'Compensação Eletrônica';
+    05 : result := 'Compensação Convencional';
+    06 : result := 'Internet Banking';
+    07 : result := 'Correspondente Bancário';
+    08 : result := 'Em Cartório'
+  end;
+end;
+
 end.
 

ACBrCaixaEconomica.pas

ACBrBoleto.pas

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde Toninho.

 

Suas alterações serão analisadas assim que possível.

 

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

  • 4 semanas depois ...
  • 2 meses depois ...

Olá,

 

Analisei hoje o repo do AcbrBoleto e não vi as correções do arquivo retorno do SIGCB da caixa e também adicionei no retorno a captura do canal de pagamento como, lotérica, internet bank, agência, em fim, para cada banco pode-se identificar o canal, se não for possível, já fico sabendo que não poderei atualizar do repo por conta destas correções e features, obrigado pela atenção, enviei em agosto/2013.

 

Toninho Nunes

Link para o comentário
Compartilhar em outros sites

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