Bom dia, pessoal!
Estou enfrentando uma dificuldade com o banco Safra, no campo de % de multa, no arquivo de remessa. Todo o resto do arquivo está ok, só este campo em específico não está indo e eles retornam a crítica.
Segue abaixo meu código:
Titulo := ACBrBoleto1.CriarTituloNaLista;
with Titulo do
begin
Vencimento := sqlContasDATA_VENCIMENTO.AsDateTime;
DataDocumento := sqlContasDATA_EMISSAO.AsDateTime;
NumeroDocumento := sqlContasDOCUMENTO.AsString;
EspecieDoc := sqlContaCorrenteCTA_ESPECIE.AsString;
if sqlContaCorrenteCTA_ACEITE.AsString = 'SIM' then
Aceite := atSim
else
Aceite := atNao;
DataProcessamento := Now;
Carteira := sqlContaCorrenteCTA_CARTEIRA.AsString;
if SqlContasNOSSONUMERO.AsString = '' then
NossoNumero := IntToStrZero(xNossoNumerox,sqlContaCorrenteBAN_TAMANHO_NOSSO_NUMERO.AsInteger)
else
NossoNumero := SqlContasNOSSONUMERO.AsString;
SqlContasNOSSONUMERO.AsString := NossoNumero;
ValorDocumento := sqlContasVALOR_ORIGINAL.AsFloat;
SQLAux.Close;
SQLAux.SQL.Clear;
SQLAux.SQL.Add('select * from c000007');
SQLAux.SQL.Add('where CODIGO ='+sqlContasCODCLIENTE.AsString);
SQLAux.Open;
Sacado.NomeSacado := SQLAux.FieldByName('nome').AsString;
Sacado.CNPJCPF := SQLAux.FieldByName('cpf').AsString;
if SQLAux.FieldByName('tipo').AsInteger = 2 then
Sacado.Pessoa := pJuridica
else
Sacado.Pessoa := pFisica;
Sacado.Logradouro := SQLAux.FieldByName('endereco').AsString;
Sacado.Numero := SQLAux.FieldByName('numero').AsString;
Sacado.Bairro := SQLAux.FieldByName('bairro').AsString;
Sacado.Cidade := SQLAux.FieldByName('cidade').AsString;
Sacado.UF := SQLAux.FieldByName('uf').AsString;
Sacado.CEP := StringReplace(SQLAux.FieldByName('cep').AsString,'-','',[rfReplaceAll]);
LocalPagamento := sqlContaCorrenteCTA_LOCAL_PAGTO.AsString;
CodigoDesconto := cdSemDesconto;
CodigoNegativacao := cnNenhum;
CodigoMoraJuros := cjTaxaDiaria;
ValorAbatimento := 0;
ValorMoraJuros := ((sqlContasVALOR_ORIGINAL.AsFloat * qrconfigCONTASRECEBER_TAXAJUROS.AsFloat) /100);// /30;
ValorDesconto := 0;
DataMoraJuros := sqlContasDATA_VENCIMENTO.AsDateTime;
DataDesconto := 0;
DataAbatimento := 0;
EspecieMod := 'R$';
if sqlContaCorrenteCTA_DIAS_PROTESTO.AsInteger > 0 then
DataProtesto := sqlContasDATA_VENCIMENTO.AsDateTime + sqlContaCorrenteCTA_DIAS_PROTESTO.AsInteger;
MultaValorFixo := False;
CodigoMulta := cmPercentual;
DataMulta := IncDay(sqlContasDATA_VENCIMENTO.AsDateTime, 1);
PercentualMulta := qrconfigCONTASRECEBER_MULTA.AsFloat;
OcorrenciaOriginal.Tipo := toRemessaRegistrar;
if (Trim(SQLAux.FieldByName('Mensagem').AsString) <> '') then
begin
Mensagem.Text := Trim(SQLAux.FieldByName('Mensagem').AsString);
end
else
begin
Mensagem.Text := sqlContaCorrenteCTA_MENSAGEM.AsString;
end;
Parcela := 1;
SqlContasREMESSA.AsString := 'S';
SqlContas.Post;
end;
O que pode estar faltando ?