Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Olá pessoal

Estou fazendo testes com boletos e remessa HSBC com  a versão trunk2, mas está dando essa mensagem de erro: Tamanho máximo do nosso número é : 5.

Sendo que na versão antiga consigo gerar normalmente com 10 dígitos, e o máximo permitido é 13.

Alguém pode ajudar com isso? Agradeço desde já

att

  • Administradores
Postado

Boa tarde.

Verifique se a carteira que está utilizando permite mais que 5 dígitos.

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

  • Administradores
Postado

Boa tarde.

Qual carteira está utilizando? Pelo que observei nos fontes se for utilizada a carteira CSB ou 1 são permitidos somente  5 dígitos.

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

  • Membros Pro
Postado

Tambem estou passando pelo mesmo problema.

No meu caso preciso de utilizar o nosso numero com 10 dígitos.

Acredito que a validação esta errada, pois tem um lugar da classe que tem o seguinte codigo:

 

  if (ACBrTitulo.Carteira = 'CSB') or (ACBrTitulo.Carteira = '1') then
   begin
     if Length(ACBrTitulo.NossoNumero) < 6 then
        wNossoNumero:= PadLeft(trim(ACBrTitulo.ACBrBoleto.Cedente.Convenio),5,'0') +
                       RightStr(ACBrTitulo.NossoNumero,5)
     else
        wNossoNumero:= RightStr(ACBrTitulo.NossoNumero,10);

     Modulo.CalculoPadrao;
     Modulo.MultiplicadorFinal := 7;
     Modulo.Documento := wNossoNumero;
     Modulo.Calcular;


     Result := RightStr(wNossoNumero,10) + AnsiString(IntToStr(Modulo.DigitoFinal));
   end
  else
     Result :=ACBrTitulo.NossoNumero + '-' +
              CalcularDigitoVerificador(ACBrTitulo);

 

 

 

Como não posso ter um nosso numero com 10 dígitos????

Para funcionar precise alterar a função CalcularTamMaximoNossoNumero

 

function TACBrBancoHSBC.CalcularTamMaximoNossoNumero(
  const Carteira: String; NossoNumero : String = ''): Integer;
begin
   Result := fpTamanhoMaximoNossoNum;

   if (trim(Carteira) = '') then
      raise Exception.Create(ACBrStr('Banco HSBC requer que a carteira seja '+
                                     'informada antes do Nosso Número.'));

   if (trim(Carteira) = 'CSB') or (trim(Carteira) = '1') then
   begin
    Result := 10;
    fpTamanhoMaximoNossoNum := 10;
   end;
end;
 

 

Se for possível fazer o commit dessa alteração.

 

 

  • Administradores
Postado

Bom dia.

Você chegou a realizar a analise do manual fornecido pelo banco para basear sua alteração? Se sim, favor anexar ao tópico.

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

  • Membros Pro
Postado

Bom dia.

1 – ESTRUTURA DO NÚMERO BANCÁRIO (NOSSO NÚMERO) E E E E E N N N N N D Onde: EEEEE = Código do Cliente no Banco (Nº. do Range) Código numérico a ser fornecido pelo Banco por ocasião do início dos testes. Este código tem amarração cadastral com a conta de cobrança, portanto deverão ser obtidos tantos códigos quantos forem às contas de cobrança a serem utilizadas para a Cobrança Diretiva ou após utilizar todos os números sequenciais do documento. NNNNN = Número sequencial do documento / título. Uso a critério do cliente e quando utilizar todos, deve solicitar um novo número Range. D = Dígito verificador de segurança. É calculado pelo Módulo 11, com pesos de 2 a 7 da direita para a esquerda.

 

Pagina 13.

Olhei no manual mais fui na logica. Se tem uma verificação se o nosso numero e maior que 6 então não tem logica limitar um nosso numero com 5 dígitos.

 

Aguardo o retorno.

cobbarra.pdf

  • Administradores
Postado

Boa noite.

Na pelo que pude analisar com base no manual anexado no post anterior, a implementação do componente está correta, uma vez que conforme o manual para cobrança registrada o Nosso Número possui 5 dígitos livres + 5 para o número do convênio.

1 – ESTRUTURA DO NÚMERO BANCÁRIO (NOSSO NÚMERO)

E E E E E N N N N N D

Onde: EEEEE = Código do Cliente no Banco (Nº. do Range) Código numérico a ser fornecido pelo Banco por ocasião do início dos testes. Este código tem amarração cadastral com a conta de cobrança, portanto deverão ser obtidos tantos códigos quantos forem às contas de cobrança a serem utilizadas para a Cobrança Diretiva ou após utilizar todos os números sequenciais do documento.

NNNNN = Número sequencial do documento / título. Uso a critério do cliente e quando utilizar todos, deve solicitar um novo número Range.

D = Dígito verificador de segurança. É calculado pelo Módulo 11, com pesos de 2 a 7 da direita para a esquerda.

Vale lembrar que a unit suporta tanto carteiras registradas quanto sem registro, por isso faz sentido as demais validaçõ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 !!

  • 2 meses depois ...
Postado (editado)

Olá bom dia a todos.

Estou fazendo o processo de homologação de boletos junto ao banco HSBC, e foi gerado alguns boletos em pdf para o banco analisar e o banco retornou que o campo nosso numero deveria seguir um range estabelecido pelo banco o qual tem 11 caracteres sendo que no acbrboleto aceita no máximo 10 e outro problema é que na ficha de compensação está cortando o cnpj do beneficiário, eu poderia resolver diminuindo a fonte e alterar a função que valida o campo nosso numero, mas isso iria sair do padrão do acbrboleto, por isto estou reportando aqui.E o tipo de cobrança/carteira é PD - Produtor direto. talvez tenha que preencher algum campo no acbr boleto. Obs. a carteira eu informo como PD.

 

Editado por Programador
Postado
Em 30/03/2016 at 19:27, Juliana Tamizou disse:

Boa noite.

Na pelo que pude analisar com base no manual anexado no post anterior, a implementação do componente está correta, uma vez que conforme o manual para cobrança registrada o Nosso Número possui 5 dígitos livres + 5 para o número do convênio.

1 – ESTRUTURA DO NÚMERO BANCÁRIO (NOSSO NÚMERO)

E E E E E N N N N N D

Onde: EEEEE = Código do Cliente no Banco (Nº. do Range) Código numérico a ser fornecido pelo Banco por ocasião do início dos testes. Este código tem amarração cadastral com a conta de cobrança, portanto deverão ser obtidos tantos códigos quantos forem às contas de cobrança a serem utilizadas para a Cobrança Diretiva ou após utilizar todos os números sequenciais do documento.

NNNNN = Número sequencial do documento / título. Uso a critério do cliente e quando utilizar todos, deve solicitar um novo número Range.

D = Dígito verificador de segurança. É calculado pelo Módulo 11, com pesos de 2 a 7 da direita para a esquerda.

Vale lembrar que a unit suporta tanto carteiras registradas quanto sem registro, por isso faz sentido as demais validações.

Att,

Marcelo conseguiu resolver o seu problema, o meu é caso é igual ao teu.

Bom analisando o manual e sabendo também que sei que o acbrboleto dificilmente poderia ter erro, então me atentei pelo tamanho máximo de 11 posições que diz no manual, mas tem um detalhe que é o dígito verificador que o próprio acbrcalcula e retorna então informei o range sem o D que o banco deu, ai deu certo. e quanto cortar o cnpj do beneficiário atualizei e compilei e não está cortando..

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