Ir para conteúdo
  • Cadastre-se

dev botao

ACBrBancoCaixaSicoob CalcularTamMaximoNossoNumero


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

Recommended Posts

Boa tarde.

Sempre que atualizo o ACBr tenho que fazer alterações manuais no arquivo ACBrBancoCaixaSICOB.pas, peço ajuda aos colegas.

Estou analisando o arquivo ACBrBancoCaixaSICOB.pas, e na procedure LerRetorno240 (linha1230), penso que a função CalcularTamMaximoNossoNumero (linha 1311) sempre vai retornar zero.

CalcularTamMaximoNossoNumero(Carteira, ' ', ACBrBanco.ACBrBoleto.Cedente.Convenio);

Na função CalcularTamMaximoNossoNumero a carteira está indo em branco, segundo o próprio arquivo do ACBr consta isso:

            // Carteira             := Copy(Linha,40,2); 
            // No SICOB não retorna o numero da carteira. Retorna o seguinte:
            // 1 = Cobrança Simples
            // 3 = Cobrança Caucionada
            // 4 = Cobrança Descontada

O copy que pega os dados da carteira está comentado, mesmo que não estivesse o retorno seria 1, 3 ou 4.

Na função CalcularTamMaximoNossoNumero o código é:

   if (wOperacao = 870) and (Carteira = 'SR') then
     Result := 15
   else if (Carteira = 'CR') then
     Result := 10;

Na função CalcularTamMaximoNossoNumero o nosso numero está passando em branco  ( ' ' ).

 

Segue código original:

      with Titulo do
      begin
         if Copy(Linha,14,1)= 'T' then //segmento T
          begin

            ACBrBanco.TamanhoMaximoNossoNum :=
             CalcularTamMaximoNossoNumero(Carteira, ' ', ACBrBanco.ACBrBoleto.Cedente.Convenio);

            SeuNumero        := copy(Linha,59,11);
            NumeroDocumento  := copy(Linha,106,25);

            NossoNumero := Copy(Copy(Linha,47,10), // sem o DV
                                Length(Copy(Linha,47,10))-TamanhoMaximoNossoNum ,
                                TamanhoMaximoNossoNum);

Comentei a linha que calcula CalcularTamMaximoNossoNumero e deixei o tamanho 10. E assim leu certo o Nosso Número.

Atenciosamente

Junior Dias

ACBrBancoCaixaSICOB.pas

Link para o comentário
Compartilhar em outros sites

19 horas atrás, Junior Dias disse:

Boa tarde.

Sempre que atualizo o ACBr tenho que fazer alterações manuais no arquivo ACBrBancoCaixaSICOB.pas, peço ajuda aos colegas.

Estou analisando o arquivo ACBrBancoCaixaSICOB.pas, e na procedure LerRetorno240 (linha1230), penso que a função CalcularTamMaximoNossoNumero (linha 1311) sempre vai retornar zero.

CalcularTamMaximoNossoNumero(Carteira, ' ', ACBrBanco.ACBrBoleto.Cedente.Convenio);

Na função CalcularTamMaximoNossoNumero a carteira está indo em branco, segundo o próprio arquivo do ACBr consta isso:

            // Carteira             := Copy(Linha,40,2); 
            // No SICOB não retorna o numero da carteira. Retorna o seguinte:
            // 1 = Cobrança Simples
            // 3 = Cobrança Caucionada
            // 4 = Cobrança Descontada

O copy que pega os dados da carteira está comentado, mesmo que não estivesse o retorno seria 1, 3 ou 4.

Na função CalcularTamMaximoNossoNumero o código é:

   if (wOperacao = 870) and (Carteira = 'SR') then
     Result := 15
   else if (Carteira = 'CR') then
     Result := 10;

Na função CalcularTamMaximoNossoNumero o nosso numero está passando em branco  ( ' ' ).

 

Segue código original:

      with Titulo do
      begin
         if Copy(Linha,14,1)= 'T' then //segmento T
          begin

            ACBrBanco.TamanhoMaximoNossoNum :=
             CalcularTamMaximoNossoNumero(Carteira, ' ', ACBrBanco.ACBrBoleto.Cedente.Convenio);

            SeuNumero        := copy(Linha,59,11);
            NumeroDocumento  := copy(Linha,106,25);

            NossoNumero := Copy(Copy(Linha,47,10), // sem o DV
                                Length(Copy(Linha,47,10))-TamanhoMaximoNossoNum ,
                                TamanhoMaximoNossoNum);

Comentei a linha que calcula CalcularTamMaximoNossoNumero e deixei o tamanho 10. E assim leu certo o Nosso Número.

Atenciosamente

Junior Dias

ACBrBancoCaixaSICOB.pas 79 kB · 0 downloads

é, se vc analisar, o campo nosso numero é carregado bem abaixo no codigo fonte : NossoNumero          := Copy(Linha,63,11);

Link para o comentário
Compartilhar em outros sites

19 horas atrás, Juliomar Marchetti disse:

Favor anexar o manual que foi seguido das alterações e também remessa gerada e boleto com as alterações.

Bom dia @Juliomar Marchetti

O problema está na leitura do arquivo de retorno CNAB240, por isso anexei aqui o arquivo que estou lendo,  o manual e o ACBrBancoCaixaSICOB.pas com as alterações. 
É necessário a remessa e o PDF do boleto?

Manual_de_Leiaute_de_Arquivo_Eletronico_CNAB_240.pdf RET202007070451470173.RET ACBrBancoCaixaSICOB.pas

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

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

The popup will be closed in 10 segundos...