Ir para conteúdo
  • Cadastre-se

dev botao

ACBrBancoInter - Código de Barras


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

Recommended Posts

Postado (editado)

Fiz uma alteração no arquivo ACBrBancoInter.pas para adequá-lo ao layout, conforme manual fornecido pelo Banco Inter.

Conforme manual anexo, testado e com cliente em produção, a parte livre do codigo de barras não contem o Codigo do Cedente, mas um número da operação com 7 digitos (ver página 22, item 6.1.3 do manual anexo)

Com esta alteração, a impressão ficou correta...

Para isto, passei a usar a propriedade "CodigoOperacao" que deverá ser informada e poderá ser obtida pelo Internet Banking do Banco Inter em 
Conta Digital > Emisão via CNAB > Retorno

Este código é também utilizado por boletos emitidos pelo Webservice...

ACBrBancoInter.pas Manual_CNAB_400_Inter.pdf

Editado por Nelson Santos
Anexar arquivos
  • Curtir 1

nelconsult 3d.png

Desenvolvedor e Consultor

[email protected]

 

  • Administradores
Postado

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

TK-2796

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

  • Consultores
  • Solution
Postado
Em 10/06/2022 at 19:55, Nelson Santos disse:

Fiz uma alteração no arquivo ACBrBancoInter.pas para adequá-lo ao layout, conforme manual fornecido pelo Banco Inter.

Conforme manual anexo, testado e com cliente em produção, a parte livre do codigo de barras não contem o Codigo do Cedente, mas um número da operação com 7 digitos (ver página 22, item 6.1.3 do manual anexo)

Com esta alteração, a impressão ficou correta...

Para isto, passei a usar a propriedade "CodigoOperacao" que deverá ser informada e poderá ser obtida pelo Internet Banking do Banco Inter em 
Conta Digital > Emisão via CNAB > Retorno

Este código é também utilizado por boletos emitidos pelo Webservice...

ACBrBancoInter.pas 51 kB · 3 downloads Manual_CNAB_400_Inter.pdf 857 kB · 0 downloads

Boa tarde,

Primeiramente obrigado pela contribuição

conforme o item 3.14 de particularidades do ACBrBoleto, essa propriedade está mapeada.

Citar

3.14 Banco Inter

Para o calculo do campo livre necessário para a construção do código de barras e linha digitavel, é necessário na propriedade ACBrBoleto.Cedente.CodigoCedente informar o Número da Operação informado pelo banco Inter (Conta Digital > Emissão via CNAB > Retorno).

Necessário registrar primeiro a remessa para obter o nosso número de posse do nosso número é possível realizar a impressão da ficha de compensação

disponível em : https://acbr.sourceforge.io/ACBrMonitor/Particularidades.html

No caso cada banco pode ter uma variação de nomenclatura, ainda há uma previsão de várias dessas nomenclaturas do componente serem extintas.

Portanto, solicito que faça o revert no seu arquivo e utilize o do SVN, onde não existe problema na linha digitavel como informado no inicio do tópico, basta informar na propriedade mapeada conforme o componente aguarda.

Obrigado.

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Postado

@Victor H. Gonzales - Panda Se vc ver novamente, o CodigoCedente é impresso no Boleto em campo próprio também., mas na Linha Digitável e no Codigo de Barras não é...

Assim, se for alimentado o Componente com este Código de Operação na propriedade  CodigoCedente, sairá impresso no campo Codigo do Cedente este codigo de Operação...o que está errado...Neste campo, como dito, é impresso realmente o Codigo do Cedente, mas na Linha Digitável e Codigo de Barras é este código de operação...

Assim, não vejo motivos para reversão da atualização...

Para confirmação, basta gerar o PDF do Boleto direto pelo Internet Banking do Banco Inter.

nelconsult 3d.png

Desenvolvedor e Consultor

[email protected]

 

Postado

Estou anexando um exemplo de boleto gerado direto pelo Internet Banking...

Veja que a Linha Digitável não consta o Código de Beneficiário (que é o Código de Cedente), mas é impresso no campo abaixo do Vencimento..

Na Linha Digitável consta este código de operação, conforme manual...

 

bancointer.png

  • Curtir 1

nelconsult 3d.png

Desenvolvedor e Consultor

[email protected]

 

  • Consultores
Postado
Em 15/06/2022 at 21:41, Nelson Santos disse:

Estou anexando um exemplo de boleto gerado direto pelo Internet Banking...

Veja que a Linha Digitável não consta o Código de Beneficiário (que é o Código de Cedente), mas é impresso no campo abaixo do Vencimento..

Na Linha Digitável consta este código de operação, conforme manual...

 

bancointer.png

Bom dia,

ok. a questão de remover da impressão do boleto o código interno que é do controle do campo livre esse não é o problema, só que a sua solicitação isso tem impacto negativos, e esse campo ele é mapeado, e esse campo informado não tem impactos como a linha digitável.

referente a esse novo código que está sendo solicitado, por favor anexe o manual da ficha de compensação para verificar, pois isso geralmente é enviado na remessa, se essas informações não estão na remessa, é estranho o banco enviar uma terceira informação no retorno, sendo uma informação da remessa é só ajustar a impressão.

lembrando que esse banco já está em produção a pelo menos 6 meses.

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • Consultores
Postado

a propriedade Conta foi impressa no valor e suprimido o código de integração

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • Consultores
Postado

Por favor atualize seus fontes, pelo SVN do ACBr... 

Já subimos para o nosso repositório de fontes, modificações que podem corrigir algum dos itens referentes a esse tópico...

Por favor atualize seus fontes, faça testes, e se possível comente em uma nova resposta, se o problema foi resolvido...

Dúvidas, sobre o uso do SVN ?  Clique aqui e veja um vídeo

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Postado

Não entendi "anexar manual" se o manual está anexo e claro....inclusive anexei exemplo de um boleto gerado diretamente pelo Internet Banking do Banco Inter..

Além disso, já citei que este problema foi detectado em um cliente em produção...se usar o Código de Operação na propriedade Cedente, vai gera sim a linha digitável corretamente...entretanto, a parte impressa abaixo do vencimento no boleto, ficha de compensação estará errada ..

nelconsult 3d.png

Desenvolvedor e Consultor

[email protected]

 

  • Consultores
Postado
Em 17/06/2022 at 17:56, Nelson Santos disse:

Não entendi "anexar manual" se o manual está anexo e claro....inclusive anexei exemplo de um boleto gerado diretamente pelo Internet Banking do Banco Inter..

Além disso, já citei que este problema foi detectado em um cliente em produção...se usar o Código de Operação na propriedade Cedente, vai gera sim a linha digitável corretamente...entretanto, a parte impressa abaixo do vencimento no boleto, ficha de compensação estará errada ..

Bom dia,

No manual que você anexou não existe nenhuma parte onde diz como deve ser montado a ficha de compensação, por isso eu disse para você anexar o manual de confecção da ficha de compensação, geralmente as instituição bancárias tem esse manual, dizendo o que cada campo da ficha de compensação, tamanhos mínimos, papeis, etc. Esse manual que você mandou basicamente é para gerar a remessa / retorno (cnab) não trata em si da ficha de pagamento/compensação.

Referente a essa propriedade que existe no manual que é referente ao campo livre, que no manual na página 21 refere-se a "Seu número da Operação", essa propriedade para composição do campo livre ela é mapeada no componente como lhe passei acima no item 3.14 das peculiaridades, isso não gerando problemas para compensação/pagamento da ficha.

Alterar essa propriedade que esta em produção isso irá gerar um impacto negativo, isso será declinado, pois isso irá impactar em todas as linhas digitáveis de quem já utiliza, e só resolver o seu caso e os próximos.

Como eu disse na sexta feira as 15horas, a propriedade foi removida da ficha de compensação, ficando apenas na linha digitavel, no lugar foi impresso o número da conta bancária, esse que é utilizado na geração da remessa.

  • Curtir 1
Consultor SAC ACBr

Victor H Gonzales - Pandaaa
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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Postado
Em 20/06/2022 at 08:44, Victor H. Gonzales - Panda disse:

Bom dia,

No manual que você anexou não existe nenhuma parte onde diz como deve ser montado a ficha de compensação, por isso eu disse para você anexar o manual de confecção da ficha de compensação, geralmente as instituição bancárias tem esse manual, dizendo o que cada campo da ficha de compensação, tamanhos mínimos, papeis, etc. Esse manual que você mandou basicamente é para gerar a remessa / retorno (cnab) não trata em si da ficha de pagamento/compensação.

Referente a essa propriedade que existe no manual que é referente ao campo livre, que no manual na página 21 refere-se a "Seu número da Operação", essa propriedade para composição do campo livre ela é mapeada no componente como lhe passei acima no item 3.14 das peculiaridades, isso não gerando problemas para compensação/pagamento da ficha.

Alterar essa propriedade que esta em produção isso irá gerar um impacto negativo, isso será declinado, pois isso irá impactar em todas as linhas digitáveis de quem já utiliza, e só resolver o seu caso e os próximos.

Como eu disse na sexta feira as 15horas, a propriedade foi removida da ficha de compensação, ficando apenas na linha digitavel, no lugar foi impresso o número da conta bancária, esse que é utilizado na geração da remessa.

@Victor H. Gonzales - Panda, bom dia.

Entendo o que você está descrevendo, porém, o que nosso amigo @Nelson Santos está dizendo é real.

Neste anexo do boleto dele acima, tem o exemplo que ele está dizendo. 

O Banco Inter tem a particularidade de impressão deste código do beneficiário (cód. Cedente) no campo que o Nelson marcou.

Se não podemos usar a opção "Operação", talvez não seria a necessidade de uma nova opção? O que você acha?

Na minha aplicação, quando observei isso e não tinha tempo de alterar o componente, fiz uma modificação no FastReport para imprimir conforme o Nelson comentou. Mas é temporário, um dia teria que voltar e rever o processo.

Vamos comentando aqui.  👍

Abração

  • Consultores
Postado
3 horas atrás, FGGLUIZ disse:

@Victor H. Gonzales - Panda, bom dia.

Entendo o que você está descrevendo, porém, o que nosso amigo @Nelson Santos está dizendo é real.

Neste anexo do boleto dele acima, tem o exemplo que ele está dizendo. 

O Banco Inter tem a particularidade de impressão deste código do beneficiário (cód. Cedente) no campo que o Nelson marcou.

Se não podemos usar a opção "Operação", talvez não seria a necessidade de uma nova opção? O que você acha?

Na minha aplicação, quando observei isso e não tinha tempo de alterar o componente, fiz uma modificação no FastReport para imprimir conforme o Nelson comentou. Mas é temporário, um dia teria que voltar e rever o processo.

Vamos comentando aqui.  👍

Abração

Boa tarde,

o que vocês estão dizendo, é que esse banco, tem um "código" que é impresso no boleto, mas esse código não está informado em nenhuma parte do manual, e vocês só estão confrontando isso pela a impressão via sistema dela e chegaram a essa conclusão?

Porque como eu já disse acima, o código de operação ela não é impressa mais no boleto, e sim o número da conta bancária, que é informação que é utilizada para envio da remessa, pelo o que vocês estão falando, existe agora uma terceira informação, essa que só é "vista" se a pessoa imprimir um boleto pelo sistema deles e que não consta nenhuma instrução desse campo no manual deles, é isso?

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Postado
3 horas atrás, Victor H. Gonzales - Panda disse:

Boa tarde,

o que vocês estão dizendo, é que esse banco, tem um "código" que é impresso no boleto, mas esse código não está informado em nenhuma parte do manual, e vocês só estão confrontando isso pela a impressão via sistema dela e chegaram a essa conclusão?

Porque como eu já disse acima, o código de operação ela não é impressa mais no boleto, e sim o número da conta bancária, que é informação que é utilizada para envio da remessa, pelo o que vocês estão falando, existe agora uma terceira informação, essa que só é "vista" se a pessoa imprimir um boleto pelo sistema deles e que não consta nenhuma instrução desse campo no manual deles, é isso?

Vou tentar lhe explicar com mais detalhes, pois eu tenho a conta no Banco Inter e utilizo os boletos deles.

No manual, tem a seguinte observação (inclusive no texto informativo que o ACBr deixou como instrução de preenchimento): Para a construção do código de barras e linha digitável dos boletos a partir do arquivo de retorno, utilize o Número da Operação 0618618 (números) no Campo Livre.

Este Número da Operação informamos ele para composição do código de barras (conforme instruções) na opção do componente Código Cedente. Desta forma a composição do código de barras e boleto fica correto.

Agora vem o porém, 😀, ele é impresso no boleto ACBr na opção Agência / Código do Beneficiário: 00019/0618618. --> O código 0618618 é o mesmo código do Número da Operação citado acima.

O correto seria ser impresso o número da Conta 00019/179357611 --> O código 179357611 é o número da Conta-Corrente do Beneficiário.

image.png.cce2893d05c899a243fc469e17adeb57.png

Não sei se ficou claro, caso tenha mais alguma dúvida, estou a disposição.

Fábio

  • Consultores
Postado
20 minutos atrás, FGGLUIZ disse:

Vou tentar lhe explicar com mais detalhes, pois eu tenho a conta no Banco Inter e utilizo os boletos deles.

No manual, tem a seguinte observação (inclusive no texto informativo que o ACBr deixou como instrução de preenchimento): Para a construção do código de barras e linha digitável dos boletos a partir do arquivo de retorno, utilize o Número da Operação 0618618 (números) no Campo Livre.

Este Número da Operação informamos ele para composição do código de barras (conforme instruções) na opção do componente Código Cedente. Desta forma a composição do código de barras e boleto fica correto.

Agora vem o porém, 😀, ele é impresso no boleto ACBr na opção Agência / Código do Beneficiário: 00019/0618618. --> O código 0618618 é o mesmo código do Número da Operação citado acima.

O correto seria ser impresso o número da Conta 00019/179357611 --> O código 179357611 é o número da Conta-Corrente do Beneficiário.

image.png.cce2893d05c899a243fc469e17adeb57.png

Não sei se ficou claro, caso tenha mais alguma dúvida, estou a disposição.

Fábio

Boa tarde Fábio

Obrigado pela a ajuda, eu não sou correntista, e a documentação deles é muito sucinta.

Como eu já disse algumas vezes no tópico, o componente ele não imprimi o código que é utilizado na geração do campo livre (Número da Operação 0618618), e sim o número da conta bancária que é utilizada na remessa.

Por favor, se possível me faça esse favor, faça o revert em todos os componentes e arquivos do ACBr, atualize o componente e instale o componente, depois faça o seu teste por favor.

o Numero que sairá impresso nesse campo, é o número que está informado na propriedade de conta.

Obrigado

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • Consultores
Postado

image.png

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • 1 mês depois ...
Postado

Prezados, boa tarde!

Analisei todas as postagens sobre essa questão do código de barras e linha digitavel da ficha de compensação do Banco Inter.  Acredito que toda discussão e sugestões propostas até momento pelos membros dessa thread, acabam divergindo em um ponto ou outro justamente pelo fato de que não possuímos uma manual fornecido pelo banco que contemple a confecção da ficha de compensação, e isso leva a um processo de interpretação pessoal de cada um, e é onde as ideias se divergem. Enfim, analisando minuciosamente cada detalhe do que foi postado até o momento, chego a conclusão de que seria mais coerente seguir a sugestão do nosso colega @Nelson Santos, e vou tentar esclarecer o porque:

  • No site do banco (Internet Banking), o próprio banco diz que para a montagem da linha digitavel deve-se utilizar um Número de Operação, que é fornecido na pagina de gerenciamento dos arquivos de retorno, conforme imagem anexada:image.thumb.png.ff7fc96d3c9c646cadf2dad102de188d.png 

Sendo assim, para que futuros usuários identifique facilmente o correto preenchimento deste dado no componente, seria interessante que se utilizasse da propriedade ACBrBoleto.Cedente.Operacao, pois qualquer um que olhe pra esta propriedade do componente vai interpretar que é ela que deve receber o Número da Operação conforme informado pelo banco. Entendo que se o componente possui esta propriedade é correto que ela seja utilizada, pois o nome da propriedade coincide com o dado fornecido pelo banco. 

  • Na função ACBrBancoInter.MontarCampoCodigoCedente proponho fazer a montagem da seguinte maneira:
function TACBrBancoInter.MontarCampoCodigoCedente(const ACBrTitulo: TACBrTitulo): string;
begin
  Result := ACBrTitulo.ACBrBoleto.Cedente.Agencia
            + ACBrTitulo.ACBrBoleto.Cedente.AgenciaDigito
            + '/'
            + ACBrTitulo.ACBrBoleto.Cedente.CodigoCedente;

end;

pois desta forma conseguimos imprimir o campo Agência / Código do Beneficiário da ficha de compensação igualmente ao que o próprio banco imprime, bastando apenas que no preenchimento do campo ACBrBoleto.Cedente.CodigoCedente se preencha com o mesmo dado que o banco utiliza, pois da forma que esta atualmente quando imprimimos pelo ACBr este campo fica diferente do que é impresso pelo banco. Aqui cabe uma observação: este dado que o banco imprime neste campo não consta em nenhum campo do arquivo de remessa, então não sei ao que se refere esta informação, parece que é algum código interno deles que identifica o cedente, o que é diferente do que esta sendo impresso atualmente utilizando o número da conta corrente. Enfim o que estou propondo é apenas igualar o que é impresso pelo banco na impressão da ficha de compensação pelo ACBr.

Espero ter sido claro na minha proposição e entendimento do que acho mais adequado e entendível pra futuros usuário do Banco Inter.

Abraço a todos, e vamos nos falando.

Em 21/06/2022 at 17:42, Victor H. Gonzales - Panda disse:

image.png

De acordo com minha postagem anterior da maneira que esta atualmente utilizando-se da propriedade ACBrBoleto.Cedente.Conta para montagem do campo impresso "Agência / Código do Beneficiário", a impressão fica divergente da ficha de compensação que o próprio gera pelo site.

  • Consultores
Postado
Em 12/08/2022 at 17:49, tiago.istuque disse:

Prezados, boa tarde!

Analisei todas as postagens sobre essa questão do código de barras e linha digitavel da ficha de compensação do Banco Inter.  Acredito que toda discussão e sugestões propostas até momento pelos membros dessa thread, acabam divergindo em um ponto ou outro justamente pelo fato de que não possuímos uma manual fornecido pelo banco que contemple a confecção da ficha de compensação, e isso leva a um processo de interpretação pessoal de cada um, e é onde as ideias se divergem. Enfim, analisando minuciosamente cada detalhe do que foi postado até o momento, chego a conclusão de que seria mais coerente seguir a sugestão do nosso colega @Nelson Santos, e vou tentar esclarecer o porque:

  • No site do banco (Internet Banking), o próprio banco diz que para a montagem da linha digitavel deve-se utilizar um Número de Operação, que é fornecido na pagina de gerenciamento dos arquivos de retorno, conforme imagem anexada:image.thumb.png.ff7fc96d3c9c646cadf2dad102de188d.png 

Sendo assim, para que futuros usuários identifique facilmente o correto preenchimento deste dado no componente, seria interessante que se utilizasse da propriedade ACBrBoleto.Cedente.Operacao, pois qualquer um que olhe pra esta propriedade do componente vai interpretar que é ela que deve receber o Número da Operação conforme informado pelo banco. Entendo que se o componente possui esta propriedade é correto que ela seja utilizada, pois o nome da propriedade coincide com o dado fornecido pelo banco. 

  • Na função ACBrBancoInter.MontarCampoCodigoCedente proponho fazer a montagem da seguinte maneira:
function TACBrBancoInter.MontarCampoCodigoCedente(const ACBrTitulo: TACBrTitulo): string;
begin
  Result := ACBrTitulo.ACBrBoleto.Cedente.Agencia
            + ACBrTitulo.ACBrBoleto.Cedente.AgenciaDigito
            + '/'
            + ACBrTitulo.ACBrBoleto.Cedente.CodigoCedente;

end;

pois desta forma conseguimos imprimir o campo Agência / Código do Beneficiário da ficha de compensação igualmente ao que o próprio banco imprime, bastando apenas que no preenchimento do campo ACBrBoleto.Cedente.CodigoCedente se preencha com o mesmo dado que o banco utiliza, pois da forma que esta atualmente quando imprimimos pelo ACBr este campo fica diferente do que é impresso pelo banco. Aqui cabe uma observação: este dado que o banco imprime neste campo não consta em nenhum campo do arquivo de remessa, então não sei ao que se refere esta informação, parece que é algum código interno deles que identifica o cedente, o que é diferente do que esta sendo impresso atualmente utilizando o número da conta corrente. Enfim o que estou propondo é apenas igualar o que é impresso pelo banco na impressão da ficha de compensação pelo ACBr.

Espero ter sido claro na minha proposição e entendimento do que acho mais adequado e entendível pra futuros usuário do Banco Inter.

Abraço a todos, e vamos nos falando.

De acordo com minha postagem anterior da maneira que esta atualmente utilizando-se da propriedade ACBrBoleto.Cedente.Conta para montagem do campo impresso "Agência / Código do Beneficiário", a impressão fica divergente da ficha de compensação que o próprio gera pelo site.

Bom dia,

Pelo o que eu vejo o grande problema é na falta de informação que o banco informa e a falta de suporte que eles passam, eu não tenho informações concretas e documentacional, complicando o procedimento de analise.

pelo o que você está informando existe um terceiro código ? Existe o número da conta bancária "123456", o código de integração "321654" e o número de beneficiário "987654" impresso na ficha bancária, esse ultimo código não é informado em lugar algum na remessa, somente é visto no boleto online deles, é isso, e diverge das outras 2 informações, que é o número da conta bancária, e o código "número da operação" ?

Referentes a mudança do código de operação para outra propriedade proposta precisa ser vista com muita parcimônia, para novas produções é fácil a implementação e correção, mas para quem já está em produção existe a quebra e pode não perceber que houve a troca de fluxo de campo, apesar que esse campo que vocês estão solicitando a mudança não influencia na linha digitavel ou no código de barras, então não tem inferência no recebimento da ficha de compensação, de qualquer forma a propriedade está mapeada na documentação do componente.

At.te

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • 3 semanas depois ...
Postado
Em 17/08/2022 at 08:24, Victor H. Gonzales - Panda disse:

Bom dia,

Pelo o que eu vejo o grande problema é na falta de informação que o banco informa e a falta de suporte que eles passam, eu não tenho informações concretas e documentacional, complicando o procedimento de analise.

pelo o que você está informando existe um terceiro código ? Existe o número da conta bancária "123456", o código de integração "321654" e o número de beneficiário "987654" impresso na ficha bancária, esse ultimo código não é informado em lugar algum na remessa, somente é visto no boleto online deles, é isso, e diverge das outras 2 informações, que é o número da conta bancária, e o código "número da operação" ?

Referentes a mudança do código de operação para outra propriedade proposta precisa ser vista com muita parcimônia, para novas produções é fácil a implementação e correção, mas para quem já está em produção existe a quebra e pode não perceber que houve a troca de fluxo de campo, apesar que esse campo que vocês estão solicitando a mudança não influencia na linha digitavel ou no código de barras, então não tem inferência no recebimento da ficha de compensação, de qualquer forma a propriedade está mapeada na documentação do componente.

At.te

Bom dia,

é isso mesmo, de acordo com o seu entendimento passado no segundo paragrafo da sua resposta acima. Pra funcionar tudo corretamente com a mudança proposta e ficar claro como preencher o componente de boleto, devemos preencher da seguinte maneira:

 

  ACBrBoleto.Cedente.Agencia := '0001'; // Fixo
  ACBrBoleto.Cedente.AgenciaDigito := '9'; // Fixo
  ACBrBoleto.Cedente.Conta := 'Número da conta'; // Preencher com o número da conta corrente sem o DV
  ACBrBoleto.Cedente.ContaDigito := 'DV da conta'; // Preencher o DV da conta corrente
  ACBrBoleto.Cedente.DigitoVerificadorAgenciaConta := ''; // Não informar nada - Não utilizado na geração do arquivo remessa
  ACBrBoleto.Cedente.Convenio := ''; // Não informar nada - Não utilizado na geração do arquivo remessa
  ACBrBoleto.Cedente.Modalidade := ''; // Não informar nada - Não utilizado na geração do arquivo remessa
  ACBrBoleto.Cedente.Operacao := 'Número da operacao'; // Este é fornecido pelo Internet Bankink, na página de retorno.
  ACBrBoleto.Cedente.CodigoTransmissao := ''; // Não informar nada - Não utilizado na geração do arquivo remessa
  ACBrBoleto.Cedente.CodigoCedente := 'Código do beneficiário'; // Este campo não esta documentado pelo campo. Na geração do boleto pelo internet banking o banco informa um código específico deles que é sempre o mesmo. Nesse caso o que fiz foi seguir a ficha de compensação deles gerada pelo internet bankink, e preecho este código aqui neste campo.

De acordo com as mudanças propostas no código do componente, seria preciso preencher os dados do cedente conforme demonstrado acima.

As mudanças são poucas e simples e o impacto pra quem já esta em produção não chega a ser tão negativo, basta apenas preencher conforme acima. Praticamente são os dois campos envolvidos:

Cedente.Operacao : Novo campo a ser preenchido, com código obtido na página de retorno no internet banking.

Cedente.CodigoCedente: Preencher com o código do beneficiário de acordo com o boleto impresso diretamente pelo internet banking. Observe que o valor que deverá ser preenchido é o código logo após o carácter barra "/".

Vale lembrar que essa mudança não vai impactar na geração do arquivo de remessa para o Banco Inter e consequentemente não traria danos ao registro de boletos. A mudança é para que apenas a ficha de compensação seja impressa corretamente, igualando o campo Código do Beneficiário ao que o próprio banco gera e também gerando corretamente o código de barras, usando no preenchimento do campo livre o Código de Operação conforme solicitado pelo banco.

Em anexo estou enviando a unit alterada na data de hoje, que inclusive utilizei para gerar os meus boletos e processar o arquivo de retorno.

Qualquer dúvida sinta-se a vontade para comentar.

Abraços a todos.

ACBrBancoInter.pas

  • Consultores
Postado
Em 01/09/2022 at 13:10, tiago.istuque disse:

Bom dia,

é isso mesmo, de acordo com o seu entendimento passado no segundo paragrafo da sua resposta acima. Pra funcionar tudo corretamente com a mudança proposta e ficar claro como preencher o componente de boleto, devemos preencher da seguinte maneira:

 

  ACBrBoleto.Cedente.Agencia := '0001'; // Fixo
  ACBrBoleto.Cedente.AgenciaDigito := '9'; // Fixo
  ACBrBoleto.Cedente.Conta := 'Número da conta'; // Preencher com o número da conta corrente sem o DV
  ACBrBoleto.Cedente.ContaDigito := 'DV da conta'; // Preencher o DV da conta corrente
  ACBrBoleto.Cedente.DigitoVerificadorAgenciaConta := ''; // Não informar nada - Não utilizado na geração do arquivo remessa
  ACBrBoleto.Cedente.Convenio := ''; // Não informar nada - Não utilizado na geração do arquivo remessa
  ACBrBoleto.Cedente.Modalidade := ''; // Não informar nada - Não utilizado na geração do arquivo remessa
  ACBrBoleto.Cedente.Operacao := 'Número da operacao'; // Este é fornecido pelo Internet Bankink, na página de retorno.
  ACBrBoleto.Cedente.CodigoTransmissao := ''; // Não informar nada - Não utilizado na geração do arquivo remessa
  ACBrBoleto.Cedente.CodigoCedente := 'Código do beneficiário'; // Este campo não esta documentado pelo campo. Na geração do boleto pelo internet banking o banco informa um código específico deles que é sempre o mesmo. Nesse caso o que fiz foi seguir a ficha de compensação deles gerada pelo internet bankink, e preecho este código aqui neste campo.

De acordo com as mudanças propostas no código do componente, seria preciso preencher os dados do cedente conforme demonstrado acima.

As mudanças são poucas e simples e o impacto pra quem já esta em produção não chega a ser tão negativo, basta apenas preencher conforme acima. Praticamente são os dois campos envolvidos:

Cedente.Operacao : Novo campo a ser preenchido, com código obtido na página de retorno no internet banking.

Cedente.CodigoCedente: Preencher com o código do beneficiário de acordo com o boleto impresso diretamente pelo internet banking. Observe que o valor que deverá ser preenchido é o código logo após o carácter barra "/".

Vale lembrar que essa mudança não vai impactar na geração do arquivo de remessa para o Banco Inter e consequentemente não traria danos ao registro de boletos. A mudança é para que apenas a ficha de compensação seja impressa corretamente, igualando o campo Código do Beneficiário ao que o próprio banco gera e também gerando corretamente o código de barras, usando no preenchimento do campo livre o Código de Operação conforme solicitado pelo banco.

Em anexo estou enviando a unit alterada na data de hoje, que inclusive utilizei para gerar os meus boletos e processar o arquivo de retorno.

Qualquer dúvida sinta-se a vontade para comentar.

Abraços a todos.

ACBrBancoInter.pas 51 kB · 0 downloads

Boa tarde,

só um adendo a sua resposta, o código de barras e a linha digitavel não está saindo errada, esta está coerente até o momento não temos nenhum incidente em aberto.

referente a mudança da propriedade de nomenclatura, onde tu diz "não chega ver tão negativo", isso irá impactar onde todas as fichas de pagamento de quem não efetuar a mudança irá quebrar a linha digitavel e o código de barras, isso é uma propriedade mapeada, então por mais que o nome dela no banco chama João e no componente chama Maria, nesse caso não vejo um impacto tão grande assim em utilizar ela, visto que a informação que ela está gerando está no local certo e fazendo os cálculos corretos.

O grande problema, ou todo o problema, é a total falta de documentação, e o "achismo", não se tem informações na documentação, dai pega uma coisa no WebServices, uma coisa no CNAB, uma coisa na ficha de impressão, o banco parece que não está padronizado.

Nesse caso do terceiro código, terá que ser usado, se for mesmo outro campo, como por exemplo convenio ou outro.

mas fazer quebra de produção isso irá causar problemas para as pessoas, podendo até causar para você se você esquecer de corrigir após o commit no trunk

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Postado
26 minutos atrás, Victor H. Gonzales - Panda disse:

Boa tarde,

só um adendo a sua resposta, o código de barras e a linha digitavel não está saindo errada, esta está coerente até o momento não temos nenhum incidente em aberto.

referente a mudança da propriedade de nomenclatura, onde tu diz "não chega ver tão negativo", isso irá impactar onde todas as fichas de pagamento de quem não efetuar a mudança irá quebrar a linha digitavel e o código de barras, isso é uma propriedade mapeada, então por mais que o nome dela no banco chama João e no componente chama Maria, nesse caso não vejo um impacto tão grande assim em utilizar ela, visto que a informação que ela está gerando está no local certo e fazendo os cálculos corretos.

O grande problema, ou todo o problema, é a total falta de documentação, e o "achismo", não se tem informações na documentação, dai pega uma coisa no WebServices, uma coisa no CNAB, uma coisa na ficha de impressão, o banco parece que não está padronizado.

Nesse caso do terceiro código, terá que ser usado, se for mesmo outro campo, como por exemplo convenio ou outro.

mas fazer quebra de produção isso irá causar problemas para as pessoas, podendo até causar para você se você esquecer de corrigir após o commit no trunk

Boa tarde, 

Sim, realmente a linha digitavel e código de barras estão corretos atualmente. A única coisa que atualmente não esta correta é o bendito campo Código do Beneficiário impresso na ficha de compensação do ACBr, que fica diferente do que o banco gerar, por isso propus essas mudanças. Mas acho que o melhor a se fazer no momento é aguardar que o banco disponibilize uma documentação para compor a ficha de compensação, e eu compreendo o entendimento de vocês em não fazerem nada de mudança se não for com base em documentação. Vamos dar uma pausa nessa thread, e seguir como esta atualmente até que uma documentação oficial pra compor a ficha de compensação seja disponibilizada. Vou reverter minhas mudanças aqui e alterar no meu sistema pra que o código da operação volte a ser preenchido no campo Código cedente, e bola pra frente. Vou fazer contato com o atendimento do banco e tentar obter uma documentação e voltamos a nos falar depois.

Obrigado por enquanto. 

Abraços 

  • Curtir 1
  • Consultores
Postado
2 horas atrás, tiago.istuque disse:

Boa tarde, 

Sim, realmente a linha digitavel e código de barras estão corretos atualmente. A única coisa que atualmente não esta correta é o bendito campo Código do Beneficiário impresso na ficha de compensação do ACBr, que fica diferente do que o banco gerar, por isso propus essas mudanças. Mas acho que o melhor a se fazer no momento é aguardar que o banco disponibilize uma documentação para compor a ficha de compensação, e eu compreendo o entendimento de vocês em não fazerem nada de mudança se não for com base em documentação. Vamos dar uma pausa nessa thread, e seguir como esta atualmente até que uma documentação oficial pra compor a ficha de compensação seja disponibilizada. Vou reverter minhas mudanças aqui e alterar no meu sistema pra que o código da operação volte a ser preenchido no campo Código cedente, e bola pra frente. Vou fazer contato com o atendimento do banco e tentar obter uma documentação e voltamos a nos falar depois.

Obrigado por enquanto. 

Abraços 

Boa tarde,

Seria importante conseguir essa documentação, seria de grande valia, pois teríamos a palavra deles, baseado em fatos, se eles tiverem essas documentações do CNAB e da Ficha de Compensação, isso se resolve.

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

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