Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var
- nVlrRec : Currency;
- begin
- dm.Q10RDW.Close;
- dm.Q10RDW.sql.Clear;
- dm.Q10RDW.sql.Add('select max(SEQREQ) as Codi from receberdetal where CONTROLE=:CONTROLE');
- dm.Q10RDW.ParamByName('CONTROLE').AsInteger := dm.tbReceberCONTROLE.AsInteger;
- dm.Q10RDW.Open;
- I := dm.Q10RDW.FieldByName('Codi').AsInteger + 1;
- //Daqui até a Linha Final não dar certo grava mais n fica
- Banco MySql usando MyIsam;
- Hoje estou usando RestDataWare mais era com zeos, mudei pra ver se resolvia, mais nada.
- dm.Q10RDW.Close;
- dm.Q10RDW.sql.Clear;
- dm.Q10RDW.sql.Add('insert into receberdetal');
- dm.Q10RDW.sql.Add(' (NUMDOC, SEQDOC, SEQREQ, CONTROLE, DTPAGTO, CODCLI, rdCICCLI, VLRPREV, VLRPAGTO, ');
- dm.Q10RDW.sql.Add(' HORA, ORIGEM, TPPAGTO, CODFORM, JUROPER, JUROVLR, CODRECEB, QTDIAATRASO, CODCONTA,');
- dm.Q10RDW.sql.Add(' CODEMP, COBRADOR, CAIXASEQ, PCONTA, TERMINAL, ORIGBAIXA, DSCJUR, OBSERVA, ULT_BAIXA )');
- dm.Q10RDW.sql.Add(' VALUES');
- dm.Q10RDW.sql.Add(' (:NUMDOC, :SEQDOC, :SEQREQ, :CONTROLE, :DTPAGTO, :CODCLI, :rdCICCLI, :VLRPREV, :VLRPAGTO,');
- dm.Q10RDW.sql.Add(' :HORA, :ORIGEM, :TPPAGTO, :CODFORM, :JUROPER, :JUROVLR, :CODRECEB, :QTDIAATRASO, :CODCONTA,');
- dm.Q10RDW.sql.Add(' :CODEMP, :COBRADOR, :CAIXASEQ, :PCONTA, :TERMINAL, :ORIGBAIXA, :DSCJUR, :OBSERVA, :ULT_BAIXA )');
- dm.Q10RDW.ParamByName('NUMDOC').AsLargeInt := DM.tbReceberNUMDOC.AsLargeInt;
- dm.Q10RDW.ParamByName('SEQDOC').AsInteger := DM.tbReceberSEQDOC.AsInteger;
- dm.Q10RDW.ParamByName('SEQREQ').AsInteger := I;
- dm.Q10RDW.ParamByName('CONTROLE').AsInteger := DM.tbReceberCONTROLE.AsInteger;
- dm.Q10RDW.ParamByName('DTPAGTO').AsDate := DT1.Date;
- dm.Q10RDW.ParamByName('CODCLI').AsInteger := DM.tbReceberCODCLI.AsInteger;
- dm.Q10RDW.ParamByName('rdCICCLI').AsString := DM.tbClientesCPF.AsString;
- dm.Q10RDW.ParamByName('HORA').AsDateTime := TIME;
- dm.Q10RDW.ParamByName('ORIGEM').AsString := 'B';
- dm.Q10RDW.ParamByName('VLRPREV').AsFloat := DM.tbReceberSALDO.AsFloat;
- if dm.tbReceberVRCORRIGIDO.AsFloat < Soma then
- begin
- nVlrRec := DM.tbReceberVRCORRIGIDO.AsFloat;
- dm.Q10RDW.ParamByName('VLRPAGTO').AsFloat := DM.tbReceberVRCORRIGIDO.AsFloat;
- dm.Q10RDW.ParamByName('TPPAGTO').AsString := 'T';
- end
- ELSE
- BEGIN
- nVlrRec := SOMA;
- dm.Q10RDW.ParamByName('VLRPAGTO').AsFloat := SOMA;
- dm.Q10RDW.ParamByName('TPPAGTO').AsString := 'P';
- END;
- dm.Q10RDW.ParamByName('CODFORM').AsString := edCodTipo.Text;
- if dm.tbReceberJUROS.AsFloat > 0 then
- begin
- dm.Q10RDW.ParamByName('JUROPER').AsFloat := fReceberDetalhe.edPerc.Value;
- dm.Q10RDW.ParamByName('JUROVLR').AsFloat := DM.tbReceberJUROS.AsFloat;
- END
- ELSE
- BEGIN
- dm.Q10RDW.ParamByName('JUROPER').AsFloat := 0;
- dm.Q10RDW.ParamByName('JUROVLR').AsFloat := 0;
- END;
- dm.Q10RDW.ParamByName('CODRECEB').AsInteger := NRecibo;
- dm.Q10RDW.ParamByName('QTDIAATRASO').AsInteger := dm.tbReceberQTDIAATRA.AsInteger;
- dm.Q10RDW.ParamByName('CODCONTA').AsInteger := DBEdit35.AsInteger;
- dm.Q10RDW.ParamByName('CODEMP').AsString := edtCodLoja.Text;
- if DBLookupComboBox1.KeyValue >= 0 then
- dm.Q10RDW.ParamByName('COBRADOR').AsInteger := DBLookupComboBox1.KeyValue;
- dm.Q10RDW.ParamByName('CAIXASEQ').AsInteger := EDSEQ.AsInteger;
- dm.QRDW.Close;
- dm.QRDW.SQL.Clear;
- dm.QRDW.SQL.Add('select CODI, SIGLA, PCONTAR from prazo where SIGLA=:SIGLA ');
- dm.QRDW.ParamByName('SIGLA').AsString := DM.tbReceberCODTIPO.AsString;
- dm.QRDW.Open;
- if dm.QRDW.FieldByName('PCONTAR').AsString <> '' then
- dm.Q10RDW.ParamByName('PCONTA').AsString := dm.QRDW.FieldByName('PCONTAR').AsString
- else dm.Q10RDW.ParamByName('PCONTA').AsString := DM.tbReceberPCONTA.AsString;
- dm.QRDW.Close;
- dm.Q10RDW.ParamByName('TERMINAL').AsString := '';
- dm.Q10RDW.ParamByName('ORIGBAIXA').AsString := 'POR SELECAO';
- dm.Q10RDW.ParamByName('DSCJUR').AsFloat := dm.tbReceberJURRET.AsFloat;
- dm.Q10RDW.ParamByName('OBSERVA').AsString := edObs.Text;
- dm.Q10RDW.ParamByName('ULT_BAIXA').AsDate := dm.tbReceberDTBASE.AsDateTime;
- dm.Q10RDW.ExecSQL;
- // Linha Final da gravação do Receberdetal -> Tudo que grava no máximo em 10m, quase sempre instantâneo apaga.
- Daqui por diante, dar tudo certo.
- if dm.tbReceberVRCORRIGIDO.AsFloat < Soma then
- begin
- dm.Q10RDW.Close;
- dm.Q10RDW.sql.Clear;
- dm.Q10RDW.sql.Add('UPDATE RECEBER SET DTPGTO=:DTPGTO, VRPAGO=VRPAGO+:VRPAGO, TIPOBAIXA=:TIPOBAIXA, SALDO=:SALDO,');
- dm.Q10RDW.sql.Add(' VLRRECEBIDO=VLRRECEBIDO+:VLRRECEBIDO, DATA_ALTER=:DATA_ALTER WHERE CONTROLE=:CONTROLE');
- dm.Q10RDW.ParamByName('CONTROLE').AsInteger := dm.tbReceberCONTROLE.AsInteger;
- dm.Q10RDW.ParamByName('DTPGTO').AsDate := dt1.Date;
- dm.Q10RDW.ParamByName('VRPAGO').AsFloat := dm.tbReceberVRCORRIGIDO.Value;
- dm.Q10RDW.ParamByName('TIPOBAIXA').AsString := 'T';
- dm.Q10RDW.ParamByName('SALDO').AsFloat := 0;
- dm.Q10RDW.ParamByName('VLRRECEBIDO').AsFloat := dm.tbReceberVRCORRIGIDO.Value;
- dm.Q10RDW.ParamByName('DATA_ALTER').AsDate := Date;
- dm.Q10RDW.ExecSQL;
- END
- ELSE
- BEGIN
- dm.Q10RDW.Close;
- dm.Q10RDW.sql.Clear;
- dm.Q10RDW.sql.Add('UPDATE RECEBER SET DTPGTO=:DTPGTO, VRPAGO=VRPAGO+:VRPAGO, TIPOBAIXA=:TIPOBAIXA, SALDO=VRCORRIGIDO-:SALDO,');
- dm.Q10RDW.sql.Add(' VLRRECEBIDO=VLRRECEBIDO+:VLRRECEBIDO, DTBASE=:DTBASE, DATA_ALTER=:DATA_ALTER WHERE CONTROLE=:CONTROLE');
- dm.Q10RDW.ParamByName('CONTROLE').AsInteger := dm.tbReceberCONTROLE.AsInteger;
- dm.Q10RDW.ParamByName('DTPGTO').AsDate := dt1.Date;
- dm.Q10RDW.ParamByName('VRPAGO').AsFloat := SOMA;
- dm.Q10RDW.ParamByName('TIPOBAIXA').AsString := 'P';
- dm.Q10RDW.ParamByName('SALDO').AsFloat := SOMA;
- dm.Q10RDW.ParamByName('VLRRECEBIDO').AsFloat := SOMA;
- if dt1.Date >= (dm.tbReceberDTVENC.Value + dm.tbContDataCARENCIA.Value) then
- dm.Q10RDW.ParamByName('DTBASE').AsDate := dt1.Date
- else dm.Q10RDW.ParamByName('DTBASE').AsDate := dm.tbReceberDTVENC.Value;
- dm.Q10RDW.ParamByName('DATA_ALTER').AsDate := Date;
- dm.Q10RDW.ExecSQL;
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement