Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado
Estou com um problema no retorno da Caixa Econômica:
 
Verifiquei no layout os campos 214, 216 e 218. Por exemplo o 214 diz:
Códigos de liquidação / baixa de ‘01’ a ‘15’ associados aos códigos de movimento ‘06’, ‘09’ e ‘17’ (Descrição C044) posição 214
02 Casa Lotérica
03 Agências CAIXA
04 Compensação Eletrônica
05 Compensação Convencional
06 Internet Banking
07 Correspondente Bancário
08 Em Cartório
 
No arquivo consta o valor "04", mas de acordo com o código abaixo, ele está sendo adicionado como motivo de rejeição.
 
ACBrCaixaEconomica
 
            MotivoLinha := 214;
 
            for I := 0 to 4 do
            begin
              CodMotivo := StrToIntDef(IfThen(Copy(Linha, MotivoLinha, 2) = '00', '00', Copy(Linha, MotivoLinha, 2)), 0);
 
              if CodMotivo <> 0 then
              begin
                MotivoRejeicaoComando.Add(IfThen(Copy(Linha, MotivoLinha, 2) = '00', '00', Copy(Linha, MotivoLinha, 2)));
                DescricaoMotivoRejeicaoComando.Add(CodMotivoRejeicaoToDescricao(OcorrenciaOriginal.Tipo, CodMotivo));
              end;
 
              MotivoLinha := MotivoLinha + 2; // Incrementa a coluna dos motivos.
            end;
 
 
 
Alguém poderia me ajudar?
Postado (editado)

Bom dia.

Sua pergunta está um tanto quanto confusa.

Qual é realmente o problema que está ocorrendo?

Na leitura do arquivo está trazendo "04", compensação eletrônica, até ai está correto.

Pelo que entendi, durante a leitura, este código da compensação está sendo informado na rejeição, é isso?

 

A rejeição está no segmento W e não no segmento T. vide layout em: http://downloads.caixa.gov.br/_arquivos/cobranca_caixa/manuaissicob/LEIAUTE_CNAB_240_SIGCB_COBRANCA_CAIXA.pdf

 

Seria importante postar este retorno para que pudéssemos dar uma olhada com mais tempo para que possamos saber mais detalhes.

 

Att.

Editado por agnaldoprates

_____________

Prates, Agnaldo

Postado
Exatamente,
 
 o código "04", compensação eletrônica, está sendo adicionado como rejeição.
Está sendo feita uma verificação nos campos: 214, 216 e 218 e como mostra o código descrito, se algum desses campos for diferente de 0, será adicionado como Motivo de Rejeição.
 
Retorno em anexo..
 

ret000459.rar

Postado

Bom dia.

Ao que parece é exatamente isso que está ocorrendo, linha 783 unit ACBrCaixaEconomica.pas.

              if CodMotivo <> 0 then
              begin
 
Creio que deva ficar como descrito abaixo.
           
                CodigoLiquidacao                 := IntToStrZero(CodMotivo,2);
                CodigoLiquidacaoDescricao := CodigoLiquidacao_Descricao(CodMotivo);
 
 
                MotivoRejeicaoComando.Add(IfThen(Copy(Linha, MotivoLinha, 2) = '00', '00', Copy(Linha, MotivoLinha, 2)));
                Ao que parece neste local deveria estar o código da Liquidação, e não motivo da rejeição.
                 CodigoLiquidacao := IntToStrZero(CodMotivo,2);
 
                DescricaoMotivoRejeicaoComando.Add(CodMotivoRejeicaoToDescricao(OcorrenciaOriginal.Tipo, CodMotivo));
                Consequentemente a descrição deverá ser a descrição da liquidação.
 
              end;
 
Possivelmente a Juliana vai dar uma olhada e se estiver correta a nossa linha de pensamento com certeza ela irá disponibilizar a devida correção.
 
Att.

_____________

Prates, Agnaldo

  • Administradores
Postado

Bom dia.

 

Qual o tipo de cobrança está sendo utilizado, SIGCB ou SICOB?

 

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 !!

  • 2 anos depois...
Postado (editado)

Desculpem ressuscitar o tópico, mas como a questão envolve exatamente esses campos, achei melhor postar aqui.

 

Encontrei uma inconsistência na leitura do campo 28.3T, nas posições 216-217 e 218-219, de acordo com o layout cnab240, essas posições tem tratamento diferente da posição 214-215, e a função LerRetorno240 está fazendo o mesmo tratamento para todas as posições. Isso tudo referente à liquidação. Reproduzo abaixo parte da nota explicativa C047 que trata dessas posições, página 67 do manual da Caixa:

C - Códigos de liquidação / baixa de ‘01’ a ‘15’ associados aos códigos de movimento ‘06’, ‘09’ e ‘17’ (Descrição C044) posição 214
Liquidação
02 Casa Lotérica
03 Agências CAIXA
04 Compensação Eletrônica
05 Compensação Convencional
06 Internet Banking
07 Correspondente Bancário
08 Em Cartório

D - Para as liquidações associadas aos códigos 02, 03 e 08 (posição 216)
01 Dinheiro
02 Cheque

E - Para todos os canais de liquidação (posição 218)
Será informado em quantidade de dias o float cadastrado para cada tipo de liquidação

 

Pegando um exemplo real: 020102   sendo as posições 214 à 219, hoje o componente está retornando dessa forma:

02 - Casa Lotérica

01 - Outros Motivos

02 - Casa Lotérica

 

Deveria ser exibido como:

02 - Casa Lotérica

01 - Dinheiro

02  (como é qtde de dias do float não precisa de descrição)

 

Estou utilizando somente o código e tratando a descrição no meu software, mas seria bom ter isso corrigido.

 

Abraço,

Andrei

 

 

Editado por andreiluis
  • 4 semanas depois ...
  • Este tópico foi criado há 2620 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.