Ir para conteúdo
  • Cadastre-se

dev botao

ACBrPagFor - Banco Banrisul


Ver Solução Respondido por Diego Foliene,
  • Este tópico foi criado há 591 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Por necessidade tivemos que desenvolver o arquivo de Pagamentos para o Banrisul

Conseguimos a ultima versão do Manual 10.7 cujo já contempla os Pagamentos por PIX.

em Anexo os arquivos 

Manul do Banco Versao 10.7

PagFor.Banrisul.GravarTxtRemessa.pas; PagFor.Banrisul.LerTxtRetorno.pas; PagFor.Banrisul.Provider.pas

uACBrPagForProviderManager.pas 

na Unit ACBrPagForProviderManager
Adicionado a Uses   PagFor.Banrisul.Provider

Adicionado na Function o Provider do Banrisul
class function TACBrPagForProviderManager.GetProvider(ACBrPagFor: TComponent): IACBrPagForProvider;

 

uACBrPagForConversao.pas

na Unit uACBrPagForConvesçao foram Adicionados o novo tipo de PIX, de acordo com o Manual do Banco ( tcpDadosBancarios )
TTipoChavePix = (tcpNenhum, tcpTelefone, tcpEmail, tcpCPFCNPJ, tcpAleatoria, tcpDadosBancarios);

Adicionado o Tipo tcpDadosBancario nas functions 
TipoChavePixToStr 
StrToTipoChavePIX
 

PagFor.Banrisul.GravarTxtRemessa.pas PagFor.Banrisul.LerTxtRetorno.pas PagFor.Banrisul.Provider.pas Pagamento_Banrisul.pdf ACBrPagForProviderManager.pas ACBrPagForConversao.pas

  • Obrigado 1
  • Consultores
Postado

Obrigado pela contribuição, em breve será validada para possível inclusão ao svn #TK-3767

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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 semanas depois ...
  • Consultores
  • Solution
Postado

Boa tarde.

Primeiro de tudo, mais uma vez, muito obrigado pela contribuição!

Toda colaboração sempre será mais do que bem vinda.

No geral, me pareceu tudo certo, eu apenas fiz algumas pequenas alterações.

Na PagFor.Banrisul.GravarTxt.pas, você fez override nas funções que geram o registro N.

Comparando o conteúdo dessas funções com as da classe base usando plugin compare do Notepad ++, a única diferença em comum apontada nelas é que nas funções de override era usada uma função InscricaoToStr que foi adicionada, enquanto que nas funções da classe base é usado InscricaoToStr_SegN.

Comparando o conteúdo, ambas a funções eram semelhantes.

function TArquivoW_Banrisul.InscricaoToStr(const t: TTipoInscricao): String;
begin
 result := EnumeradoToStr(t, ['1', '2', '3', '9'],
                             [tiCNPJ, tiCPF, tiPISPASEP, tiOutros]);
end;

function InscricaoToStr_SegN(const t: TTipoInscricao): String;
begin
 result := EnumeradoToStr(t, ['1', '2', '3', '9'],
                             [tiCNPJ, tiCPF, tiPISPASEP, tiOutros]);
end;

Por isso, optei por remover esses overrides e usar as funções da classe base.

Também removi a function InscricaoToStr, pois ela era usada somente nessas funções que faziam override.

Na PagFor.Banrisul.LerTxt.pas, você fez um override das funções que fazem a leitura dos segmentos N. Comparando elas com as da classe base no compare, a diferença apontada é que você usou Receita := StrToIntDef mudando o tipo do LerCampo para tcStr.

Mas se conferirmos no LerCampo, quando o tipo é tcInt como na classe base, já é usado o StrToIntDef.

Outra alteração foi a leitura do campo NomeFavorecido que estava lendo com tamanho 20 e alterei para 30 e no segmento B estava lendo o campo PixMensagem nas posições correspondentes a Chave do PIX.

Contribuição enviada na Rev-29024 e Packages atualizados na Rev-29081

Por favor, peço que atualize seus fontes, reinstale o ACBr para realizar novos testes e reporte qualquer problema.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

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