Pesquisar na Comunidade
Showing results for tags 'abatimentomulta'.
Encontrado 1 registro
-
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.