Ir para conteúdo
  • Cadastre-se

dev botao

Refactoring no componente ACBrPagFor


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

Recommended Posts

  • Consultores

Olá pessoal,

O componente ACBrPagFor passou por um Refactoring.

A motivação para esse Refactoring é tornar o componente mais fácil e prático no que se refere a implementar novos bancos bem como realizar manutenção no código sem correr o risco de gerar um efeito colateral nos bancos já implementados.

Antes tínhamos apenas uma unit responsável por gerar o arquivo txt de remessa para todos os bancos. Isso gerava riscos na implementação e manutenção dos bancos existentes.

Agora temos uma unit que gera o arquivo segundo o layout estabelecido pela Febraban e units separadas para cada banco. Assim, podemos alterar a procedure do registro ou do segmento que não segue a risca o layout da Febraban de um banco específico sem afetar outros.

Desta forma dezenas de IF e CASE utilizados para identificar o banco em questão e gerar o txt corretamente, agora não existem mais. Desta forma temos um código muito mais limpo de ser lido e compreendido.

Além disso foram removidas as propriedades de configuração: CNPJ e VersaoLayout que se encontravam em Configuracoes.Geral, pois estavam sem nenhuma utilidade.

Agora no lugar delas temos as propriedades de configuração: Empresa e UsarDadosConfig.

 

Novas Propriedades de Configuração:

Propriedade Tipo Valor Padrão Descrição
Empresa Grupo   Dados da Empresa
  TipoInscricao TTipoInscricao tiIsento Determina o tipo de Inscrição da Empresa que pode ser: tiIsento, tiCPF, tiCNPJ, tiPISPASEP ou tiOutros.
  NumeroInscricao string   Numero da Inscrição da Empresa conforme o tipo.
  Convenio string   Numero do Convenio da Empresa estabelecido com o Banco.
  Nome string   Razão Social da Empresa.
  Conta Grupo   Dados da Conta
    AgenciaCodigo Integer 0 Numero da Agencia que a Empresa tem Conta.
    AgenciaDV string   Digito Verificador da Agencia.
    ContaNumero Int64 0 Numero da Conta.
    ContaDV string   Digito Verificado da Conta
    DV string   Digito Verificado geral utilizado por alguns bancos.
    TipoConta Integer 0 Tipo de Conta, utilizado por alguns bancos.
  Endereco Grupo   Dados do Endereço
    Logradouro string   Nome do Logradouro do Endereço da Empresa.
    Numero string   Numero ou código do Logradouro (veja a "obs." abaixo)
    Complemento string   Complemento do Endereço.
    Cidade string   Nome da Cidade.
    CEP Integer   CEP do Endereço da Empresa.
    Estado string   Sigla do Estado.
UsarDadosConfig Boolean False Se True o componente vai utilizar as informações de configuração para serem utilizadas ao gerar o arquivo de remessa, caso contrario o desenvolvedor terá que alimentar diretamente os campos do componente.

Observação: o tipo do campo Numero do logradouro do Endereço foi alterado de Integer para string pois a cidade de Bauru utiliza o formato xx-yy onde xx se refere ao numero da quadra em que a rua se encontra e o yy o numero do imóvel.

 

Pasta dos fontes:

Outro ponto importante é a localização das Units que compõe o componente:

Pasta Descrição
ACBrPagFor Pasta raiz dos fontes do componente.
  Bancos Pasta que contem as units dos bancos: (PagFor.NomeBanco.GravarTxtRemessa, PagFor.NomeBanco.LerTxtRetorno, PagFor.NomeBanco.Provider).
  Base Pasta que contem as units de classes, conversão e parâmetros. 
    Provider Pasta que contem as units bases de geração e leitura do arquivo txt bem como a interface com as units de cada banco.
  Modelos Pasta que contem as units que podemos utilizada como modelo para quando for implementar um novo banco: (PagFor.Modelo.GravarTxtRemessa, PagFor.Modelo.LerTxtRetorno, PagFor.Modelo.Provider).

 

Situação atual:

Hoje o componente já conta com os seguintes bancos implementados: BancoCECRED, Banco do Brasil, Bradesco, HSBC, Itaú, Safra, Santander e Sicredi.

 

Desafios a frente:

  • Implementar e testar novos bancos
  • melhorar a leitura do arquivo de retorno e extrair as ocorrências para que sejam apresentadas de forma clara e objetiva para que o desenvolvedor possa realizar os ajustes necessários

Para que isso ocorra, contamos com a colaboração de todos.

  • Curtir 9
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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