Pesquisar na Comunidade
Showing results for tags 'hsbc'.
Encontrado 4 registros
-
Bom dia! Estou no processo de homologação da carteira Com Registro do HSBC em um cliente, e encontrei um problema ao ler o arquivo de retorno no padrão CNAB400. A mensagem original era "Cedente do arquivo inválido. Informado = '11251477284' Esperado = '' ". Trecho do código da leitura do cedente: rCodigoCedente := Copy(ARetorno[0], 109, 11); Mas, no manual do banco da cobrança registrada, este campo é reservado ao banco. Fiz uma alteração no código, de acordo com o manual do site do banco, prevendo ainda o caso da carteira sem registro: if Trim(Copy(ARetorno[0], 12, 15)) = 'COBRANCA' Then rCodigoCedente := Copy(ARetorno[0], 34, 11) else rCodigoCedente := Copy(ARetorno[0], 109, 11); Além disso, precisei alterar o código onde os campos são comparados, pois era realizada uma conversão de string para inteiro estourando o valor máximo permitido para este tipo de dado: DE: if not(LeCedenteRetorno) and (StrToIntDef(rCodigoCedente, -1) <> StrToIntDef(OnlyNumber(Cedente.CodigoCedente), 0)) then raise Exception.Create(ACBrStr('Cedente do arquivo inválido' + #13 + #13 + 'Informado = ' + OnlyNumber(Cedente.CodigoCedente) + #13 + 'Esperado = '+ rCodigoCedente)); PARA: if Trim(Copy(ARetorno[0], 12, 15)) = 'COBRANCA CNR' Then if not(LeCedenteRetorno) and (StrToIntDef(rCodigoCedente, -1) <> StrToIntDef(OnlyNumber(Cedente.CodigoCedente), 0)) then raise Exception.Create(ACBrStr('Cedente do arquivo inválido' + #13 + #13 + 'Informado = ' + OnlyNumber(Cedente.CodigoCedente) + #13 + 'Esperado = '+ rCodigoCedente)) else if not(LeCedenteRetorno) and (rCodigoCedente <> OnlyNumber(Cedente.CodigoCedente)) then raise Exception.Create(ACBrStr('Cedente do arquivo inválido' + #13 + #13 + 'Informado = ' + OnlyNumber(Cedente.CodigoCedente) + #13 + 'Esperado = '+ rCodigoCedente)); Em anexo a unit alterada para análise e aprovação. Abaixo o link com o manual do banco. https://www.hsbc.com.br/1/PA_esf-ca-app-content/content/hbbr-pws-gip16/portugues/business/comum/pdf/cob400_jan.pdf Obrigada! ACBrBancoHSBC.pas
-
Olá pessoas. Há alguma implementação disponivel do CNAB 240 do Banco HSBC disponivel para o componente? Atualmente só exite a implementação da CNAB400 (Remessa e Retorno); Grato.
-
Olá a todos. Para a cobrança não registrada (CNR) do banco HSBC, está havendo um pequeno problema quanto à posição do campo Nosso Número dentro da linha digitável. Onde segundo o modelo da ficha de cobrança o Nosso Número deveria estar entre as posições (13-20) e (22-26), totalizando assim 13 posições. Mas na Unit do HSBC o tamanho máximo do Nosso Número está como 16, assim sendo o campo acaba sendo preenchido com "zeros" a esquerda até completar as 16 posições e no momento de monta o código de barras ele copia as 13 primeiras posições. Dessa forma quando o cliente visualiza a francesinha(Demonstrativo Analítico) no site praticamente todos os boletos estarão com o mesmo valor para a coluna "Código do documento" que corresponde ao Nosso Número, visto que ao copiar as 13 primeiras posições foi perdido a unidade, a dezena e a centena do campo Nosso Número. O que fiz em minha base foi limitar o tamanho máximo do nosso número para 13, assim sendo não perco mais as 3 ultimas posições no momento de montar a linha digitável. Gostaria de solicitar a correção no projeto principal. Anexo segue a francesinha com o problema e um modelo do CNR.
- 8 replies
-
- ACBRBoleto
- HSBC
-
(e 3 mais)
Tags:
-
O componente acho que esta gerando errado o registro Header o campo Conta Corrente Número da conta Corrente do Cliente Posicao 034 a 044. De acordo com o layout que o banco me enviou esta assim LAYOUT PADRÃO CNAB 400 TABELA DE NOTAS EXPLICATIVAS É composto pelo código da agência onde o Cliente mantém conta corrente, e pelo respectivo número da conta utilizada para a Cobrança. Exemplo: Agência 4321; Conta 56789-00 Campo Conta Corrente então será: 43215678900 E no fonte do componente esta (ACBrBancoHSBC.pas ) linha 257 padR(OnlyNumber(Conta)+ContaDigito, 11, '0') + // Conta Corrente //Removi agencia repetido //ALFEU MOTA // Esta pegando a conta + a conta digito , e acho que o correto seria Agencia+Conta