⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sy_gryprkdsc.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  try
    data.DM.StartTransaction;
    Qry_RKD.ApplyUpdates;
    Qry_RKDPP.ApplyUpdates;
    data.DM.Commit;
  except
    data.DM.Rollback;
    exit;
  end;
  Qry_RKD.CommitUpdates;
  Qry_RKDPP.CommitUpdates;
  if Qry_RKDPP.DataSource = nil then
    Qry_RKDPP.DataSource := DS_RKD;
  SetState(dtBrowse);
end;

procedure Tfrm_GRYPRKDSC.ModiPanel1BtnClick(Index: TBtnVisible);
var
  i: integer;
begin
  inherited;
  case index of
    bnAdd:
      begin
        queding := false;
        ExeSY_SCGRP(io_type);
        if queding then
        begin
          Qry_RKD.Append;
          Qry_RKD.fieldbyname('rkxz').asstring := '22';
          Qry_RKD.fieldbyname('ZBR').asstring := VG_USERNAME;
          Qry_RKD.fieldbyname('KDRQ').AsDateTime := GetSysDate;
          insertmode := true;
          for i := 0 to recordcount - 1 do
          begin
            Qry_RKDPP.Append;
            Qry_RKDPP.FieldByName('RKDH').asstring := #9;
            Qry_RKDPP.FieldByName('PPDM').asstring := tdm[i];
            Qry_RKDPP.FieldByName('TMC').asstring := tmc[i];
            Qry_RKDPP.FieldByName('ZH').asstring := zh[i];
            Qry_RKDPP.FieldByName('JJ').AsFloat := sj[i];
            Qry_RKDPP.FieldByName('YXJ').AsFloat := xj[i];
            if xj[i] <> 0 then
              Qry_RKDPP.FieldByName('XJ').AsFloat := xj[i]
            else
              Qry_RKDPP.FieldByName('XJ').AsFloat := sj[i];
            Qry_RKDPP.post;
          end;
          insertmode := false;
          SetState(dtEdit);
          Qry_RKDPP.DataSource := nil;
        end
        else
          SetState(dtBrowse);
      end;
    bnDelete:
      begin
        if Qry_RKD.IsEmpty then
        begin
          CHQMsgBox('没有可删除的数据!');
          exit;
        end;
        if qry_RKD.FieldByName('JZY').AsString <> '' then
        begin
          CHQMsgBox('该入库单已被复核,不能删除!');
          exit;
        end;

        if CHQMsgBox('确定要删除记录吗?', 2) = IDYES then
        begin
          DoDelFHD;
        end;
      end;
    bnEdit:
      begin
        if Qry_RKD.IsEmpty then
        begin
          CHQMsgBox('没有可修改的数据!');
          exit;
        end;
        if qry_RKD.FieldByName('JZY').AsString <> '' then
        begin
          CHQMsgBox('该入库单已被复核,不能修改!');
          exit;
        end;
        SetState(dtEdit);
        RG_yf.Enabled := false;
        Qry_RKDPP.DataSource := nil;
        Qry_RKD.Edit;
        Qry_RKDPP.Edit;
      end;
    bnSave:
      Save;
    bnCancel:
      if CHQMsgBox('取消编辑, 确定吗?', 2) = IDYES then
      try
        Qry_RKD.CancelUpdates;
        Qry_RKDPP.CancelUpdates;
        Qry_RKDPP.EnableControls;
        Qry_RKDPP.DataSource := DS_RKD;
      finally
        SetState(dtBrowse);
      end;
    bnPrint: Print_RKD;
    bnClose:
      Close;
  end;
end;

procedure Tfrm_GRYPRKDSC.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  Action := caFree;
  if (FDtstate in [dtInsert, dtEdit]) then
    case CHQMsgBox('数据已经编辑,需要保存吗?', 3) of
      IDYES:
        if not Save then Action := caNone;
      IDCANCEL: Action := caNone;
    end;
end;

procedure Tfrm_GRYPRKDSC.FormCreate(Sender: TObject);
begin
  inherited;
  XttxTitle.Caption := '入库单生成';
  DWMC.Caption := '使用单位:' + VG_UnitName;

  Qry_KFB.close;
  Qry_KFB.sql.clear;
  Qry_KFB.SQL.add('SELECT A.KFMC,A.KFDM FROM TGS_KFB A,TGS_KFRYDZB B where A.KFDM=B.KFDM AND not A.kfdm in(''-1'',''-2'') and YGDM=''' + VG_USERID + '''');
  Qry_KFB.Open;
  Qry_dw.Open;

  SetState(dtBrowse);
end;

procedure Tfrm_GRYPRKDSC.SEd_YChange(Sender: TObject);
  function Get2Mon(const AMon: string): string;
  begin
    result := AMon;
    if Length(result) = 1 then
      result := '0' + result;
  end;
begin
  inherited;
  with qry_RKD do
  begin
    AfterScroll := nil;
    Close;
    ParamByName('KDRQ').AsString := SEd_Y.Text + Get2Mon(SEd_M.Text);
    ParamByName('YGDM').AsString := VG_UserID;
    Open;
  end;
end;

procedure Tfrm_GRYPRKDSC.qry_RKDPPJJGetText(Sender: TField;
  var Text: string; DisplayText: Boolean);
begin
  inherited;
  CurrGetText(Sender, Text, DisplayText);
end;

procedure Tfrm_GRYPRKDSC.qry_RKDPPJJSetText(Sender: TField;
  const Text: string);
begin
  inherited;
  CurrSetText(Sender, Text);
end;

procedure Tfrm_GRYPRKDSC.qry_RKDPPZKChange(Sender: TField);
begin
  inherited;
  with Qry_RKDPP do
  begin
    if Sender.FieldName = 'JSJ' then
    begin
      if Sender.AsFloat <> 0 then
        FieldByName('ZK').AsFloat := 0;
    end;
    if Sender.FieldName = 'ZK' then
    begin
      if Sender.AsFloat <> 0 then
        FieldByName('JSJ').AsFloat := 0;
    end;

    if Sender.FieldName = 'XJ' then
    begin
      if FieldByName('YXJ').AsFloat <> 0 then
      begin
        Sender.OnChange := nil;
        Sender.AsFloat := FieldByName('YXJ').AsFloat;
        Sender.OnChange := Qry_RKDPPZKChange;
      end;
    end;
    FieldByName('JJ').AsFloat := FieldByName('XJ').AsFloat * FieldByName('ZK').AsFloat / 100 + FieldByName('JSJ').AsFloat;
    FieldByName('JSJE').AsFloat := FieldByName('SL').AsFloat * FieldByName('JJ').AsFloat;
  end;
end;

procedure Tfrm_GRYPRKDSC.qry_RKDPPAfterInsert(DataSet: TDataSet);
begin
  inherited;
  if not insertmode then Qry_RKDPP.Cancel;
end;

procedure Tfrm_GRYPRKDSC.Print_RKD;
var
  jycx: string;
begin
  case io_Type of
    io_jyp:
      begin
        if Qry_rkd.IsEmpty then exit;
        Frm_RichEdit := TFrm_richedit.Create(nil);
        FrmK_JYRKDDY := TFrmK_JYRKDDY.Create(nil);
        with FrmK_JYRKDDY, Frm_RichEdit do
        try
          QRLabel1.Caption := '集邮票 入库通知单';
          QRLabel1.Left := round((ColumnHeaderBand1.Width - QRLabel1.Width) / 2);
          QRLabel25.Caption := DBLCBo_dw.text;
          QRLabel8.Caption := '';
          jycx := 'select a.zh,a.tmc,''套''as dw,c.kfmc,b.xj/100 xj,b.sl,b.xj*b.sl/100 zjje,Decode(b.zk,0,b.jsj/100,b.zk) zk,b.SL*(b.xj*nvl(b.zk/100, 0)+nvl(b.jsj,0))/100 jsje from tb_yzpptxxb a ,tks_jyrkpp b,tgs_kfb c where b.kfdm= c.kfdm and a.tdm(+)=b.ppdm and b.rkdh=''' + Qry_rkd.fieldbyName('rkdh').AsString + '''';

          Qry_ckdayin.close;
          Qry_ckdayin.sql.clear;
          Qry_ckdayin.sql.add(jycx);
          Qry_ckdayin.open;
          QRLabel11.Caption := FormatDateTime('yyyy"年"mm"月"d"日" ', StrToDateTime(dbde_kdrq.Text));
          sumzj := 0;
          sumjsj := 0;

          DetailLines := 0;

          if CHQMsgBox('是否采用套打?', 2) = IDYES then
            Tao_Print_Flag := True
          else
            Tao_Print_Flag := False;

          Prepare;
          try
            QRLabel29.Caption := IntToStr(QRPrinter.PageCount);
          finally
            QRPrinter.Free;
          end;
          QRPrinter := nil;
          preview;
        finally
          FrmK_JYRKDDY.Free;
          Frm_RichEdit.Free;
          FrmK_JYRKDDY := nil;
          Frm_RichEdit := nil;
        end;
      end;
    io_yp:
      begin
        if qry_RKD.RecordCount = 0 then exit;
        Frm_RichEdit := TFrm_richedit.Create(nil);
        FrmK_JYRKDDY := TFrmK_JYRKDDY.Create(nil);
        with FrmK_JYRKDDY, Frm_RichEdit do
        try
          QRLabel1.Caption := '邮品 入库通知单';
          QRLabel1.Left := round((ColumnHeaderBand1.Width - QRLabel1.Width) / 2);
          QRLabel25.Caption := DBLCBo_dw.Text; //edit1.text;
          QRLabel8.Caption := qry_rkd.FieldByName('rkdh').AsString; //edit3.text;

          jycx := 'select a.zh,a.mc tmc,''套''as dw, c.kfmc,b.xj/100 xj,b.sl,b.xj*b.sl/100 zjje,';
          jycx := jycx + 'decode(b.zk,0,b.jsj/100,b.zk) zk, b.JSJ/100 JSJ, b.SL * (b.xj * nvl(b.zk, 0) / 100 + nvl(b.jsj, 0))/100 jsje from TB_JYPTXXB a ,tks_yprkpp b,tgs_kfb c where a.tdm(+)=b.ppdm and b.kfdm=c.kfdm and b.rkdh=''' + qry_rkd.FieldByName('rkdh').AsString + '''';

          Qry_ckdayin.close;
          Qry_ckdayin.sql.clear;
          Qry_ckdayin.sql.add(jycx);
          Qry_ckdayin.open;
          QRLabel11.Caption := FormatDateTime('yyyy"年"mm"月"d"日" ', dbde_kdrq.Date);
          sumzj := 0;
          sumjsj := 0;

          DetailLines := 0;

          if CHQMsgBox('是否采用套打?', 2) = IDYES then
            Tao_Print_Flag := True
          else
            Tao_Print_Flag := False;

          Prepare;
          try
            QRLabel29.Caption := IntToStr(QRPrinter.PageCount);
          finally
            QRPrinter.Free;
          end;
          QRPrinter := nil;
          preview;
        finally
          FrmK_JYRKDDY.Free;
          Frm_RichEdit.Free;
          FrmK_JYRKDDY := nil;
          Frm_RichEdit := nil;
        end;
      end;

    io_grp:
      begin
        if qry_RKD.RecordCount = 0 then exit;
        Frm_RichEdit := TFrm_richedit.Create(nil);
        FrmK_JYRKDDY := TFrmK_JYRKDDY.Create(nil);
        with FrmK_JYRKDDY, Frm_RichEdit do
        try
          QRLabel1.Caption := '购入票 入库通知单';
          QRLabel1.Left := round((ColumnHeaderBand1.Width - QRLabel1.Width) / 2);
          QRLabel25.Caption := DBLCBo_dw.Text; //edit1.text;
          QRLabel8.Caption := qry_rkd.FieldByName('rkdh').AsString; //edit3.text;

       //  jycx := 'select a.zh,a.tmc,b.dw,b.xj/100 xj,b.sl,b.xj*b.sl/100 zjje,b.zk,b.SL*(b.xj*nvl(b.zk,0)/100+nvl(b.jsj,0))/100 jsje, b.BZ from tb_yzppxxb a ,tks_grprkpp b where a.tdm(+)=b.ppdm and b.rkdh=''' + qryRKDRK.fieldbyname('rkdh').asstring + '''';
          jycx := 'select a.zh,a.tmc,b.dw,c.kfmc,b.xj/100 xj,b.sl,b.xj*b.sl/100 zjje,decode(b.zk,0,b.jsj/100,b.zk) zk,b.SL*(b.xj*nvl(b.zk,0)/100+nvl(b.jsj,0))/100 jsje, b.BZ from tb_yzppxxb a ,tks_grprkpp b,tgs_kfb c where a.tdm(+)=b.ppdm and b.kfdm=c.kfdm and b.rkdh=''' + qry_RKD.fieldbyname('rkdh').asstring + '''';
          Qry_ckdayin.close;
          Qry_ckdayin.sql.clear;
          Qry_ckdayin.sql.add(jycx);
          Qry_ckdayin.open;
          QRLabel11.Caption := FormatDateTime('yyyy"年"mm"月"d"日" ', dbde_kdrq.Date);
          sumzj := 0;
          sumjsj := 0;

          DetailLines := 0;

          if CHQMsgBox('是否采用套打?', 2) = IDYES then
            Tao_Print_Flag := True
          else
            Tao_Print_Flag := False;

          Prepare;
          try
            QRLabel29.Caption := IntToStr(QRPrinter.PageCount);
          finally
            QRPrinter.Free;
          end;
          QRPrinter := nil;
          preview;
        finally
          FrmK_JYRKDDY.Free;
          Frm_RichEdit.Free;
          FrmK_JYRKDDY := nil;
          Frm_RichEdit := nil;
        end;
      end;
    io_txp:
      begin
      end;
  end;
end;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -