Ir para conteúdo
  • Cadastre-se

dev botao

Erro Remessa HSBC campo "Abatimento Multa"


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

Recommended Posts

  • Membros Pro

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.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

Realmente será necessária esta alteração.

Att.

  • Curtir 1
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

Boa tarde.

Alteração disponível no svn.

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

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