Ir para conteúdo
  • Cadastre-se

dev botao

Banrisul


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

Recommended Posts

  • Administradores

Bom dia Dionatan.

O Banrisul já tem implementado a impressão de boletos e geração de remessa nopadrão CNAB400...não sei ainda se ele possui o padrão 240, caso sim, ainda é necessário adicionar esta função e a leitura de arquivos de retorno.

Caso vc queira contribuir com estes requisitos, pode postar aqui qualquer dúvida.

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

Pessoal, estou testando o boleto, porem existe algum problema na linha digitavel

Nao consegui descobrir, o que esta acontecendo,

Linha Digitavel: XXXX2.1XXXX XXXXX.XXXXXX XXXXX XXXXXX X XXXXXXXXXXXXXX

onde aparece o 2, indica uma constante, porem o componente muda eventualmente para 1

onde aparece o 1, indica uma constante, porem o componente muda e insere 10 movendo todo o conteudo da linha para a direita

manual do Boleto Banrisul encontrei em

http://www.boletophp.com.br/documentaca ... nrisul.zip

na pagina 28 tem uma explicaçao detalhada!

Jair Carlos Müller

Link para o comentário
Compartilhar em outros sites

  • Administradores

No endereço abaixo é possivel obter os manuais de todos os bancos que possuem implementação no ACBrBoleto.

https://acbr.svn.sourceforge.net/svnroo ... ols/Bancos

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

Ola

Encontrei o problema; conforme o manual do Banrisul,

Do link que postei acima,

a agencia, deve ter 3 posicoes e nao 4, e a constante deve ser '041' e nao '40'.

segue abaixo fonte corrigido!

function TACBrBanrisul.MontarCodigoBarras(const ACBrTitulo: TACBrTitulo): string;

var

CodigoBarras, FatorVencimento, DigitoCodBarras, CampoLivre, Modalidade: string;

DigitoNum: Integer;

begin

with ACBrTitulo do

begin

if StrToIntDef(Carteira, 8)=8 then

Modalidade:='21'

else

Modalidade:='11';

FatorVencimento:=CalcularFatorVencimento(ACBrTitulo.Vencimento);

CampoLivre:=Modalidade+

padR(ACBrBoleto.Cedente.Agencia, 3, '0')+{ Código agência (cooperativa) } // <---- o tamanho do campo estava 4

padR(ACBrBoleto.Cedente.Conta, 7, '0')+{ Código cedente = Número da conta }

padR(NossoNumero, 8, '0')+{ Nosso número }

'041'; // <---- constante esta '40'

{Calculando Módulo 10}

Modulo.MultiplicadorInicial:= 1;

Modulo.MultiplicadorFinal:= 2;

Modulo.MultiplicadorAtual:= 2;

Modulo.FormulaDigito := frModulo10;

Modulo.Documento := CampoLivre;

Modulo.Calcular;

CampoLivre := CampoLivre+ IntToStr(Modulo.DigitoFinal);

{Calculando Módulo 11}

Modulo.CalculoPadrao;

Modulo.MultiplicadorFinal:= 7;

Modulo.Documento:= CampoLivre;

Modulo.Calcular;

if (Modulo.ModuloFinal >= 10) or (Modulo.ModuloFinal < 1) then

CampoLivre := CampoLivre +'1'

else

CampoLivre := CampoLivre + IntToStr(Modulo.DigitoFinal);

CodigoBarras:=PadR(IntToStr(Numero), 3, '0')+'9'+

FatorVencimento+{ Fator de vencimento, não obrigatório }

IntToStrZero(Round(ACBrTitulo.ValorDocumento*100), 10)+{ valor do documento }

CampoLivre; { Campo Livre }

DigitoCodBarras:=CalcularDigitoCodigoBarras(CodigoBarras);

DigitoNum:=StrToIntDef(DigitoCodBarras, 0);

if (DigitoNum=0)or(DigitoNum>9) then

DigitoCodBarras:='1';

end;

Result:=PadR(IntToStr(Numero), 3, '0')+'9'+DigitoCodBarras+Copy(CodigoBarras, 5, 39);

end;

Fiz o teste da linha digitavel, deu certo, e o codigo de barras tambem esta certo

Alguem pode subir esta alteração?

Estou tendo problemas com as margens, do boleto, deveriam ser um pouco maiores, ou configuraveis?!??

Abraços

Jair Carlos Müller

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

Vc poderia anexar aqui seu fonte alterado e também dizer qual o seu nome , para que eu possa colocar no log do componente que vc fez esta correção?

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

  • Administradores

Ok...estou implementando o banco Santander, assim que estiver concluido, postarei junto com suas alterações.

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

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