Ir para conteúdo
  • Cadastre-se

dev botao

ACBrBoleto - Remessa CNAB 240 - TipoOcorrencia


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

Recommended Posts

Boa Tarde!

Realizei a extração de dois métodos que acho importantes para o tratamento do TipoOcorrencia para todos os bancos. Por enquanto implementei estes métodos apenas no "ACBrBoleto.pas" e "ACBrBancoCaixa.pas".

Poderiam verificar se estão corretas essas alterações e se poderiam ser incluídas no projeto ACBrBoleto?

Segue em anexo as alterações.

Att.

ACBrBancoCaixa.pas

ACBrBoleto.pas

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

  • 4 meses depois ...
  • Administradores

Bom dia

Seus fontes não estão atualizados com as mudanças mais recentes no componente, por favor realize a compatibilização e anexe novamente.

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

Segue abaixo as alterações realizadas nos arquivos ACBrBoleto.pas e ACBrBancoCaixa.pas citadas no primeiro post.

Atualizei os arquivos e descrevi abaixo minhas alterações. 

 

{Arquivo ACBrBoleto.pas}
==========================================================================================

{Metodo Antigo - No arquivo ACBrBancoCaixa.pas o metodo "CodOcorrenciaToTipo" retorna apenas "TipoRetorno" e não "TipoRemessa"}
function TACBrBanco.CodOcorrenciaToTipoRemessa(const CodOcorrencia: Integer ) : TACBrTipoOcorrencia;
begin
   Result:= fBancoClass.CodOcorrenciaToTipo(CodOcorrencia);  <<<< antigo
end;

{Metodo Alterado - Criei um metodo que retorna apenas os "TipoRemessa"}
function TACBrBanco.CodOcorrenciaToTipoRemessa(const CodOcorrencia: Integer ) : TACBrTipoOcorrencia;
begin
   Result:= fBancoClass.CodOcorrenciaToTipoRemessa(CodOcorrencia); <<<< novo
end;

{Metodo Adicionado}
function TACBrBanco.TipoOcorrenciaToCodRemessa(const TipoOcorrencia: TACBrTipoOcorrencia ) : String;
begin
   Result:= fBancoClass.TipoOcorrenciaToCodRemessa(TipoOcorrencia);
end;

{Metodo Adicionado}
function TACBrBancoClass.TipoOcorrenciaToCodRemessa(const TipoOcorrencia : TACBrTipoOcorrencia
  ) : String ;
begin
  Result := '01';
end ;


{Arquivo ACBrBancoCaixa.pas}
==========================================================================================

{Metodo Adicionado}
function TACBrCaixaEconomica.CodOcorrenciaToTipoRemessa(
  const CodOcorrencia: Integer): TACBrTipoOcorrencia;
begin
  case CodOcorrencia of
    02: Result :=     toRemessaBaixar;
    04: Result :=     toRemessaConcederAbatimento;
    05: Result :=     toRemessaCancelarAbatimento;
    06: Result :=     toRemessaAlterarVencimento;
    07: Result :=     toRemessaConcederDesconto;
    08: Result :=     toRemessaCancelarDesconto;
    09: Result :=     toRemessaProtestar;
    10: Result :=     toRemessaCancelarInstrucaoProtestoBaixa;
    11: Result :=     toRemessaCancelarInstrucaoProtesto;
    13: Result :=     toRemessaDispensarJuros;
    31: Result :=     toRemessaAlterarNomeEnderecoSacado;
  else
    Result := toRemessaRegistrar;
  end;
end;

{Metodo Adicionado}
function TACBrCaixaEconomica.TipoOcorrenciaToCodRemessa(const TipoOcorrencia: TACBrTipoOcorrencia): string;
begin
  case TipoOcorrencia of
    toRemessaBaixar                        : Result := '02';
    toRemessaConcederAbatimento            : Result := '04';
    toRemessaCancelarAbatimento            : Result := '05';
    toRemessaAlterarVencimento             : Result := '06';
    toRemessaConcederDesconto              : Result := '07';
    toRemessaCancelarDesconto              : Result := '08';
    toRemessaProtestar                     : Result := '09';
    toRemessaCancelarInstrucaoProtestoBaixa: Result := '10';
    toRemessaCancelarInstrucaoProtesto     : Result := '11';
    toRemessaDispensarJuros                : Result := '13';
    toRemessaAlterarNomeEnderecoSacado     : Result := '31';
  else
    Result := '01';
  end;
end;

 

{Criei o metodo "TipoOcorrenciaToCodRemessa" com o conteudo do case}

{Metodo Antigo}
function TACBrCaixaEconomica.GerarRegistroTransacao240(ACBrTitulo : TACBrTitulo): String;
begin
    ...
      case OcorrenciaOriginal.Tipo of
        toRemessaBaixar                        : ATipoOcorrencia := '02';
        toRemessaConcederAbatimento            : ATipoOcorrencia := '04';
        toRemessaCancelarAbatimento            : ATipoOcorrencia := '05';
        toRemessaAlterarVencimento             : ATipoOcorrencia := '06';
        toRemessaConcederDesconto              : ATipoOcorrencia := '07';
        toRemessaCancelarDesconto              : ATipoOcorrencia := '08';
        toRemessaProtestar                     : ATipoOcorrencia := '09';
        toRemessaCancelarInstrucaoProtestoBaixa: ATipoOcorrencia := '10';
        toRemessaCancelarInstrucaoProtesto     : ATipoOcorrencia := '11';
        toRemessaDispensarJuros                : ATipoOcorrencia := '13';
        toRemessaAlterarNomeEnderecoSacado     : ATipoOcorrencia := '31';
      else
        ATipoOcorrencia := '01';
      end;
      ...
end;

{Metodo Alterado}
function TACBrCaixaEconomica.GerarRegistroTransacao240(ACBrTitulo : TACBrTitulo): String;
begin
    ...

    ATipoOcorrencia := TipoOcorrenciaToCodRemessa(OcorrenciaOriginal.Tipo);
    ...
end;

 

 

Tá aí minha contribuição. Espero ter ajudado!

Desde já agradeço a oportunidade!

ACBrBoleto.pas

ACBrBancoCaixa.pas

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

  • Administradores

Boa tarde.

Qual a necessidade destas alterações?

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!

No arquivo ACBrBoleto.pas, o método fBancoClass.CodOcorrenciaToTipo(CodOcorrencia) deveria se chamar fBancoClass.CodOcorrenciaToTipoRetorno(CodOcorrencia), pois não retorna os tipos de ocorrência de remessa. Como não existe nenhum método que retorne o tipo de remessa criei este outro método fBancoClass.CodOcorrenciaToTipoRemessa(CodOcorrencia) para suprir a necessidade que tenho na minha aplicação de saber o TipoRemessa a partir do CodOcorrencia. 

Já que eu criei o método fBancoClass.CodOcorrenciaToTipoRemessa(CodOcorrencia) no arquivo ACBRBoleto.pas, o adicionei no lugar do case do arquivo ACBrBancoCaixa.pas, pois o método criado retorna o mesmo resultado do case.

Espero ter respondido sua pergunta.

Att.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa Tarde, estamos analisando para subir as alterações para o SVN, mas não ficou claro a necessidade de implementar a função (CodOcorrenciaToTipoRemessa) para o Banco Caixa visto que não existe chamada para essa função na classe... 

  • Curtir 1
Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Consultores
Em 21/07/2017 at 11:00, Wagner Freitas disse:

Tá aí minha contribuição. Espero ter ajudado!

Desde já agradeço a oportunidade!

Enviei outras alterações hoje. Queira testar, por favor.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • 8 meses depois ...
Em 28/07/2017 at 12:04, EMBarbosa disse:

Enviei outras alterações hoje. Queira testar, por favor.

Boa tarde,

seguindo o mesmo raciocínio, efetuei a revisão e implementação nos outros bancos não fiz em todos mas na grande maioria pois são os usado pelos nossos clientes e que tenho a possibilidade de testar, gostaria de disponibilizar estas alterações. 

Seque a lista:

**ACBrBancoBrasil
**ACBrBancoBanrisul
**ACBrBancoBancoob
**ACBrBancoBic
**ACBrBancoBradescoSICOOB
**ACBrBancoBrasilSicoob
ACBrBancoCaixa
**ACBrBancoCaixaSICOB
**ACBrBancoCecred
**ACBrBancoHSBC
ACBrBancoItau
**ACBrBancoMercantil
**ACBrBancoNordeste
**ACBrBancoSafra
**ACBrBancoSafraBradesco
**ACBrBancoSantander
**ACBrBancoSicredi
ACBrBancoUnicredRS
ACBrUniprime

Unit Implementadas (**) as demais sem (**) já estavam com a implementação.

 

ACBrBoleto.rar

Davi Souza
Analista/Desenvolvedor de Aplicação Desktop
Teste 48 9 9643-8854
Link para o comentário
Compartilhar em outros sites

Em 27/07/2017 at 15:34, José M. S. Junior disse:

Boa Tarde, o método (TipoOcorrenciaToCodRemessa) foi incluso está disponível no SVN... 

boa tarde seria possível analisar as alterações que disponibilizei para os outros bancos?

Em 10/04/2018 at 16:48, Davi disse:

ACBrBoleto.rar

Esta nos mesmos padrões das outras alteradas.

Davi Souza
Analista/Desenvolvedor de Aplicação Desktop
Teste 48 9 9643-8854
Link para o comentário
Compartilhar em outros sites

3 minutos atrás, Juliomar Marchetti disse:

Aguarde. todos aqui trabalham em alguma empresa e tem seus deveres com ela.

aos poucos é feito as analises de código.

Boa tarde,

Eu postei uma segunda mensagem referenciando um outro membro pois não sabia que ai fazer uma postagem todos os moderadores são notificados achei que somente quem estava seguindo tópico, como vi que foi ele que havia revisado marquei para notificar, desculpa qualquer transtorno.

Davi Souza
Analista/Desenvolvedor de Aplicação Desktop
Teste 48 9 9643-8854
Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...
  • Moderadores
Em 10/04/2018 at 16:48, Davi disse:

Boa tarde,

seguindo o mesmo raciocínio, efetuei a revisão e implementação nos outros bancos não fiz em todos mas na grande maioria pois são os usado pelos nossos clientes e que tenho a possibilidade de testar, gostaria de disponibilizar estas alterações. 

Bom dia, favor atualizar os fontes com as alterações.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2114 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.