Ir para conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Showing results for tags 'hsbc'.

  • Search By Tags

    Digite tags separadas por vírgulas
  • Search By Author

Tipo de Conteúdo


Fóruns

  • Fórum Aberto - ACBr
    • Notícias do ACBr
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrDFe
    • Dúvidas sobre TEF
    • Dúvidas sobre PIX
    • ACBrMonitor PLUS
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrFramework
    • ACBrLIB
  • ACBr Pro
    • Dúvidas gerais
    • ACBrMonitorPLUS
    • NFe/NFCe - Nota Fiscal Eletrônica
    • DFe - Documentos Fiscais Eletrônicos
    • SAT / MFE
    • TEF
    • Boleto
    • ACBrSPED
    • ACBrTXT
    • Paf-ECF
    • Requisitos Fiscais por UF
    • ACBrLIB
  • Outros Assuntos
    • Boteco do ACBr
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Banco de Dados
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categorias

  • ACBr Pro
    • ACBrLib - PRO
    • ACBrMonitorPLUS - PRO
    • Utilitários - PRO
    • Dia do ACBr 1a edição
    • Dia do ACBr 2a edição
  • Download Livre
    • ACBrLib - DEMO
    • ACBrMonitorPLUS - DEMO
    • Demos / Testes / Utilitários
    • Apresentações - Palestras

Calendários

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Calendário da Comunidade
  • ACBr Papo Pro
  • Feriados Nacionais

Find results in...

Find results that contain...


Data de Criação

  • Início

    End


Data de Atualização

  • Início

    End


Filter by number of...

Data de Registro

  • Início

    End


Grupo


Website URL

Encontrado 8 registros

  1. 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
  2. Boa Tarde! Um cliente me chamou hoje com problemas na transmissão do arquivo de remessa do HSBC, analisando o código vi uma alteração na unit ACBrBancoHSBC: 355 //"Valor do Abatimento" - Valor do abatimento concedido somente quando o código de ocorrência for igual a “04” ou “05” / "Multa" - Quando utilizar as instruções 15,16,19,22,24,29,73 e 74. 356 if ((Ocorrencia = '04') or (Ocorrencia = '05')) and (ValorAbatimento > 0) then 357 AbatimentoMulta := IntToStrZero( round( ValorAbatimento * 100 ), 13) // valor do abatimento 358 else if ((Trim(Instrucao1) = '15') or (Trim(Instrucao1) = '16')) and (PercentualMulta > 0) then 359 AbatimentoMulta := FormatDateTime( 'ddmmyy', DataMoraJuros) + IntToStrZero( round( PercentualMulta * 100 ), 4) + ' ' // Multa 360 else if (Trim(Instrucao1) = '22') and (PercentualMulta > 0) then 361 AbatimentoMulta := IntToStrZero( round( (ValorDocumento *(PercentualMulta/100)) * 100 ), 10) + IntToStrZero(DaysBetween(Vencimento, DataMoraJuros),3) // Multa 362 else if (Trim(Instrucao1) = '24') and (PercentualMulta > 0) then 363 AbatimentoMulta := IntToStrZero( round( (ValorDocumento *(PercentualMulta/100)) * 100 ), 10) + '000' // Multa 364 else if ((Trim(Instrucao1) = '73') or (Trim(Instrucao1) = '74')) and (PercentualMulta > 0) then 365 AbatimentoMulta := ' ' + IntToStrZero( round( PercentualMulta * 100 ), 4) + IntToStrZero(DaysBetween(Vencimento, DataMoraJuros),3) // Multa 366 else 367 AbatimentoMulta := IntToStrZero(0,4); O problema ocorre quando não entra em nenhuma das condições previstas, quando cai na linha 367 o "AbatimentoMulta" fica com valor '0000' e pelo layout esse campo tem tamanho 13, gerando a remessa dessa forma os registros de detalhe na remessa ficam com apenas 391 posições dando erro ao transmitir o arquivo. Sugiro alterar a linha 367 pra variavel ficar com 13 posicoes deixando assim: AbatimentoMulta := IntToStrZero(0,13); Aguardo uma posição a respeito, desde já agradeço.
  3. Boa Tarde! Comparando o arquivo de remessa gerado pelo componente com o gerado pelo sistema do banco observei uma divergência na composição da conta corrente do cliente: Posições 34 a 44 Registro Header / Posições 25 a 35 Registro Detalhe. De acordo com o layout padrao CNAB 400 nota explicativa 1: NOTA CAMPO CONTEÚDO / SIGNIFICADO 1 CONTA CORRENTE É composto pelo código da agência onde o Cliente / Beneficiário mantém conta corrente, e pelo respectivo número. Exemplo: Agência 4321; Conta 56789-00 Campo Conta Corrente então será: 43215678900 O componente monta somente com a conta e o DV: ACBrBancoHSBC linha 259: padR(OnlyNumber(Conta)+ContaDigito, 11, '0') + // Conta Corrente //Removi agencia repetido //ALFEU MOTA // Obs: A nota explicativa pode ser conferida no layout do banco que vou deixar em anexo na página 19. Obrigado a todos e qualquer dúvida estarei a disposição. multi400.pdf
  4. Boa tarde, Precisei incluir o tratamento para as ocorrências 31 e 38 na unit do HSBC. 31-Liquidação normal em Cheque/Compensação/Banco Correspondente 38-Liquidação de título não registrado - em dinheiro Segue em anexo para análise e, se possível, inclusão ao SVN. ACBrBancoHSBC.pas
  5. Bom Dia! Notei o que pode ser um erro na rotina de retorno do banco HSBC: na linha 583 da unit "ACBrBancoHSBC.pas" tem um copy para pegar o nosso número: NossoNumero := Copy(Linha, 63, 16); O problema é que para a carteira "CNR" o tamanho máximo do nosso número é 13, assim quando da o copy passa para o "SetNossoNumerro" da unit "ACBrBoleto" uma string de tamanho 16, caindo no exception da linha 1043 por ter o tamanho maior que o permitido: raise Exception.Create( ACBrStr('Tamanho Máximo do Nosso Número é: '+ IntToStr(wTamNossoNumero) )); Para solucionar para o cliente tenho alterado o copy para: NossoNumero := Copy(Linha, 63, 13); Deem uma olhadinha por favor. Desde já agradeço.
  6. Jeferson Cruz

    Cnab 240 Hsbc

    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.
  7. 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. 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
×
×
  • 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.