Advertisement
Guest User

Gravação de Registro01

a guest
Nov 20th, 2019
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 6.31 KB | None | 0 0
  1. var
  2.   nVlrRec : Currency;
  3. begin
  4.  
  5.   dm.Q10RDW.Close;
  6.   dm.Q10RDW.sql.Clear;
  7.   dm.Q10RDW.sql.Add('select max(SEQREQ) as Codi from receberdetal where CONTROLE=:CONTROLE');
  8.   dm.Q10RDW.ParamByName('CONTROLE').AsInteger := dm.tbReceberCONTROLE.AsInteger;
  9.   dm.Q10RDW.Open;
  10.   I := dm.Q10RDW.FieldByName('Codi').AsInteger + 1;
  11.  
  12. //Daqui até a Linha Final não dar certo grava mais n fica
  13. Banco MySql usando MyIsam;
  14. Hoje estou usando RestDataWare mais era com zeos, mudei pra ver se resolvia, mais nada.
  15.  
  16.   dm.Q10RDW.Close;
  17.   dm.Q10RDW.sql.Clear;
  18.   dm.Q10RDW.sql.Add('insert into receberdetal');
  19.   dm.Q10RDW.sql.Add(' (NUMDOC, SEQDOC, SEQREQ, CONTROLE, DTPAGTO, CODCLI, rdCICCLI, VLRPREV, VLRPAGTO, ');
  20.   dm.Q10RDW.sql.Add(' HORA, ORIGEM, TPPAGTO, CODFORM, JUROPER, JUROVLR, CODRECEB, QTDIAATRASO, CODCONTA,');
  21.   dm.Q10RDW.sql.Add(' CODEMP, COBRADOR, CAIXASEQ, PCONTA, TERMINAL, ORIGBAIXA, DSCJUR, OBSERVA, ULT_BAIXA )');
  22.   dm.Q10RDW.sql.Add(' VALUES');
  23.   dm.Q10RDW.sql.Add(' (:NUMDOC, :SEQDOC, :SEQREQ, :CONTROLE, :DTPAGTO, :CODCLI, :rdCICCLI, :VLRPREV, :VLRPAGTO,');
  24.   dm.Q10RDW.sql.Add(' :HORA, :ORIGEM, :TPPAGTO, :CODFORM, :JUROPER, :JUROVLR, :CODRECEB, :QTDIAATRASO, :CODCONTA,');
  25.   dm.Q10RDW.sql.Add(' :CODEMP, :COBRADOR, :CAIXASEQ, :PCONTA, :TERMINAL, :ORIGBAIXA, :DSCJUR, :OBSERVA, :ULT_BAIXA )');
  26.   dm.Q10RDW.ParamByName('NUMDOC').AsLargeInt      := DM.tbReceberNUMDOC.AsLargeInt;
  27.   dm.Q10RDW.ParamByName('SEQDOC').AsInteger       := DM.tbReceberSEQDOC.AsInteger;
  28.   dm.Q10RDW.ParamByName('SEQREQ').AsInteger       := I;
  29.   dm.Q10RDW.ParamByName('CONTROLE').AsInteger     := DM.tbReceberCONTROLE.AsInteger;
  30.   dm.Q10RDW.ParamByName('DTPAGTO').AsDate         := DT1.Date;
  31.   dm.Q10RDW.ParamByName('CODCLI').AsInteger       := DM.tbReceberCODCLI.AsInteger;
  32.   dm.Q10RDW.ParamByName('rdCICCLI').AsString      := DM.tbClientesCPF.AsString;
  33.   dm.Q10RDW.ParamByName('HORA').AsDateTime        := TIME;
  34.   dm.Q10RDW.ParamByName('ORIGEM').AsString        := 'B';
  35.   dm.Q10RDW.ParamByName('VLRPREV').AsFloat        := DM.tbReceberSALDO.AsFloat;
  36.   if dm.tbReceberVRCORRIGIDO.AsFloat               < Soma then
  37.   begin
  38.     nVlrRec                                       := DM.tbReceberVRCORRIGIDO.AsFloat;
  39.     dm.Q10RDW.ParamByName('VLRPAGTO').AsFloat     := DM.tbReceberVRCORRIGIDO.AsFloat;
  40.     dm.Q10RDW.ParamByName('TPPAGTO').AsString     := 'T';
  41.   end
  42.   ELSE
  43.   BEGIN
  44.     nVlrRec                                    := SOMA;
  45.     dm.Q10RDW.ParamByName('VLRPAGTO').AsFloat     := SOMA;
  46.     dm.Q10RDW.ParamByName('TPPAGTO').AsString     := 'P';
  47.   END;
  48.   dm.Q10RDW.ParamByName('CODFORM').AsString       := edCodTipo.Text;
  49.   if dm.tbReceberJUROS.AsFloat > 0 then
  50.   begin
  51.     dm.Q10RDW.ParamByName('JUROPER').AsFloat      := fReceberDetalhe.edPerc.Value;
  52.     dm.Q10RDW.ParamByName('JUROVLR').AsFloat      := DM.tbReceberJUROS.AsFloat;
  53.   END
  54.   ELSE
  55.   BEGIN
  56.     dm.Q10RDW.ParamByName('JUROPER').AsFloat      := 0;
  57.     dm.Q10RDW.ParamByName('JUROVLR').AsFloat      := 0;
  58.   END;
  59.   dm.Q10RDW.ParamByName('CODRECEB').AsInteger     := NRecibo;
  60.   dm.Q10RDW.ParamByName('QTDIAATRASO').AsInteger  := dm.tbReceberQTDIAATRA.AsInteger;
  61.   dm.Q10RDW.ParamByName('CODCONTA').AsInteger     := DBEdit35.AsInteger;
  62.   dm.Q10RDW.ParamByName('CODEMP').AsString        := edtCodLoja.Text;
  63.   if DBLookupComboBox1.KeyValue                >= 0 then
  64.     dm.Q10RDW.ParamByName('COBRADOR').AsInteger   := DBLookupComboBox1.KeyValue;
  65.   dm.Q10RDW.ParamByName('CAIXASEQ').AsInteger     := EDSEQ.AsInteger;
  66.  
  67.   dm.QRDW.Close;
  68.   dm.QRDW.SQL.Clear;
  69.   dm.QRDW.SQL.Add('select   CODI, SIGLA, PCONTAR from  prazo where SIGLA=:SIGLA ');
  70.   dm.QRDW.ParamByName('SIGLA').AsString := DM.tbReceberCODTIPO.AsString;
  71.   dm.QRDW.Open;
  72.   if dm.QRDW.FieldByName('PCONTAR').AsString      <> '' then
  73.     dm.Q10RDW.ParamByName('PCONTA').AsString      := dm.QRDW.FieldByName('PCONTAR').AsString
  74.   else dm.Q10RDW.ParamByName('PCONTA').AsString   := DM.tbReceberPCONTA.AsString;
  75.   dm.QRDW.Close;
  76.   dm.Q10RDW.ParamByName('TERMINAL').AsString      := '';
  77.   dm.Q10RDW.ParamByName('ORIGBAIXA').AsString     := 'POR SELECAO';
  78.   dm.Q10RDW.ParamByName('DSCJUR').AsFloat         := dm.tbReceberJURRET.AsFloat;
  79.   dm.Q10RDW.ParamByName('OBSERVA').AsString       := edObs.Text;
  80.   dm.Q10RDW.ParamByName('ULT_BAIXA').AsDate       := dm.tbReceberDTBASE.AsDateTime;
  81.   dm.Q10RDW.ExecSQL;
  82. // Linha Final da gravação do Receberdetal -> Tudo que grava no máximo em 10m, quase sempre instantâneo apaga.
  83. Daqui por diante, dar tudo certo.
  84.   if dm.tbReceberVRCORRIGIDO.AsFloat < Soma then
  85.   begin
  86.     dm.Q10RDW.Close;
  87.     dm.Q10RDW.sql.Clear;
  88.     dm.Q10RDW.sql.Add('UPDATE RECEBER SET DTPGTO=:DTPGTO, VRPAGO=VRPAGO+:VRPAGO, TIPOBAIXA=:TIPOBAIXA, SALDO=:SALDO,');
  89.     dm.Q10RDW.sql.Add(' VLRRECEBIDO=VLRRECEBIDO+:VLRRECEBIDO, DATA_ALTER=:DATA_ALTER WHERE CONTROLE=:CONTROLE');
  90.     dm.Q10RDW.ParamByName('CONTROLE').AsInteger   := dm.tbReceberCONTROLE.AsInteger;
  91.     dm.Q10RDW.ParamByName('DTPGTO').AsDate        := dt1.Date;
  92.     dm.Q10RDW.ParamByName('VRPAGO').AsFloat       := dm.tbReceberVRCORRIGIDO.Value;
  93.     dm.Q10RDW.ParamByName('TIPOBAIXA').AsString   := 'T';
  94.     dm.Q10RDW.ParamByName('SALDO').AsFloat        := 0;
  95.     dm.Q10RDW.ParamByName('VLRRECEBIDO').AsFloat  := dm.tbReceberVRCORRIGIDO.Value;
  96.     dm.Q10RDW.ParamByName('DATA_ALTER').AsDate    := Date;
  97.     dm.Q10RDW.ExecSQL;
  98.   END
  99.   ELSE
  100.   BEGIN
  101.     dm.Q10RDW.Close;
  102.     dm.Q10RDW.sql.Clear;
  103.     dm.Q10RDW.sql.Add('UPDATE RECEBER SET DTPGTO=:DTPGTO, VRPAGO=VRPAGO+:VRPAGO, TIPOBAIXA=:TIPOBAIXA, SALDO=VRCORRIGIDO-:SALDO,');
  104.     dm.Q10RDW.sql.Add(' VLRRECEBIDO=VLRRECEBIDO+:VLRRECEBIDO, DTBASE=:DTBASE, DATA_ALTER=:DATA_ALTER WHERE CONTROLE=:CONTROLE');
  105.     dm.Q10RDW.ParamByName('CONTROLE').AsInteger   := dm.tbReceberCONTROLE.AsInteger;
  106.     dm.Q10RDW.ParamByName('DTPGTO').AsDate        := dt1.Date;
  107.     dm.Q10RDW.ParamByName('VRPAGO').AsFloat       := SOMA;
  108.     dm.Q10RDW.ParamByName('TIPOBAIXA').AsString   := 'P';
  109.     dm.Q10RDW.ParamByName('SALDO').AsFloat        := SOMA;
  110.     dm.Q10RDW.ParamByName('VLRRECEBIDO').AsFloat  := SOMA;
  111.  
  112.     if dt1.Date                                >= (dm.tbReceberDTVENC.Value + dm.tbContDataCARENCIA.Value) then
  113.       dm.Q10RDW.ParamByName('DTBASE').AsDate      := dt1.Date
  114.     else dm.Q10RDW.ParamByName('DTBASE').AsDate   := dm.tbReceberDTVENC.Value;
  115.     dm.Q10RDW.ParamByName('DATA_ALTER').AsDate    := Date;
  116.     dm.Q10RDW.ExecSQL;
  117.   END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement