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

📄 sy_flmxzcx.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    TNumericField(FieldByName('XJZJJE')).DisplayFormat := '#,##0.00##';
    TNumericField(FieldByName('XJJSJE')).DisplayFormat := '#,##0.00##';
    TNumericField(FieldByName('XJYE')).DisplayFormat := '#,##0.00##';
  end;
end;

procedure TfrmY_FLMXZCX.BBt_PrintClick(Sender: TObject);
const
  BASE_SQL: array[io_jyp..io_grp] of string =
    (('SELECT A.TDM, A.ZH, A.TJC, A.TPMZ/100 TPMZ, B.XJ/100 XJ, A.FXRQ, A.TPMS, B.ZK, B.KWH FROM TB_YZPPTXXB A, TYS_JYPPKC B WHERE A.TDM = B.PPDM AND TDM = ''%s'' AND ROWNUM =1'),
    ('SELECT A.TDM, A.ZH, A.TMC TJC, A.TPMZ/100 TPMZ, B.XJ/100 XJ, A.FXRQ, A.MTMS TPMS, B.ZK, B.KWH FROM TB_YZPPXXB A, TYS_TXPPKC B WHERE A.TDM = B.PPDM AND A.TDM = ''%s'' AND ROWNUM =1'),
    ('SELECT A.TDM, A.ZH, A.MC TJC, A.SJ, B.XJ/100 XJ, A.FXRQ, 0 TPMS, B.ZK, B.KWH FROM TB_JYPTXXB A, TYS_YPPKC B WHERE A.TDM = B.PPDM AND TDM = ''%s'' AND ROWNUM =1'),
    //Here, need to be edited for grp;
    ('SELECT A.TDM, A.ZH, A.TJC, A.TPMZ/100 TPMZ, B.XJ/100 XJ, A.FXRQ, A.TPMS, B.ZK, B.KWH FROM TB_YZPPTXXB A, TYS_JYPPKC B WHERE A.TDM = B.PPDM AND TDM = ''%s'' AND ROWNUM =1'));
  TJ_SQL: array[io_jyp..io_grp] of string =
    (('SELECT XDJ/100 XDJ, TJRQ FROM TYS_JYPTJDB WHERE PPDM = ''%s'' AND ROWNUM <=3'),
    //The next lines need to edit for txp;
    ('SELECT XDJ/100 XDJ, TJRQ FROM TYS_TXPTJDB WHERE PPDM = ''%s'' AND ROWNUM <=3'),
    ('SELECT XDJ/100 XDJ, TJRQ FROM TYS_YPTJDB WHERE PPDM = ''%s'' AND ROWNUM <=3'),
    ('SELECT XDJ/100 XDJ, TJRQ FROM TYS_GRPTJDB WHERE PPDM = ''%s'' AND ROWNUM <=3'));
begin
  if Qry_Search.IsEmpty then
  begin
    CHQMsgBox('没有可打印的信息!');
    Exit;
  end;
  QRL_mx_nd.Caption := SED_Year.Text;
  Open_sql(Qry_Any, Format(BASE_SQL[l_typ], [PPSel_pp.GetFieldVal('TDM')]));
  with Qry_Any do
  begin
    QRL_mx_mc.Caption := FieldByName('TJC').Asstring;
    QRL_mx_zh.Caption := FieldByName('ZH').Asstring;
    if l_typ <> io_yp then
    begin
      TNumericField(FieldByName('TPMZ')).DisplayFormat := ',0.00';
      QRL_mx_tpmz.Caption := FormatFloat('#,##0.00', FieldByName('TPMZ').AsFloat)
    end
    else
      QRL_mx_tpmz.Caption := '';
    TNumericField(FieldByName('XJ')).DisplayFormat := ',0.00';
    QRL_mx_xj.Caption := FormatFloat('#,##0.00', FieldByName('XJ').AsFloat);
    QRL_mx_fxrq.Caption := FieldByName('FXRQ').Asstring;
{    if l_typ <> io_txp then}
      QRL_mx_tpms.Caption := FieldByName('TPMS').AsString;
{    else
      QRL_mx_tpms.Caption := '';}

    QRL_mx_zk.Caption := FieldByName('ZK').Asstring;
    QRL_mx_jj.Caption := FormatFloat('#,##0.00', StrToFloat(PPSel_pp.GetFieldVal('MC')));

    QRL_mx_tjrq1.Caption := '';
    QRL_mx_jg1.Caption := '';
    QRL_mx_tjrq2.Caption := '';
    QRL_mx_jg2.Caption := '';
    QRL_mx_tjrq3.Caption := '';
    QRL_mx_jg3.Caption := '';
{    if not (l_typ = io_txp) then
    begin}
      Open_sql(Qry_Any, Format(TJ_SQL[l_typ], [PPSel_pp.GetFieldVal('TDM')]));
      First;
      if not Eof then
      begin
        QRL_mx_tjrq1.Caption := FieldByName('TJRQ').Asstring;
        QRL_mx_jg1.Caption := FieldByName('XDJ').Asstring;
        Next;
        if not Eof then
        begin
          QRL_mx_tjrq2.Caption := FieldByName('TJRQ').Asstring;
          QRL_mx_jg2.Caption := FieldByName('XDJ').Asstring;
          Next;
          if not Eof then
          begin
            QRL_mx_tjrq3.Caption := FieldByName('TJRQ').Asstring;
            QRL_mx_jg3.Caption := FieldByName('XDJ').Asstring;
          end;
        end;
      end;
    {end;}
    close;
  end;
  Qry_Print.SQL := Qry_Search.SQL;
  with Qry_Print do //查找该票品所有月份信息
  begin
    Close;
    Params.ParamByName('PPDM').AsString := PPSel_pp.GetFieldVal('TDM');
//    if l_typ <> io_txp then
      Params.ParamByName('JJ').AsFloat := strtofloat(PPSel_pp.GetFieldVal('MC')) * 100;
    Params.ParamByName('RQFrom').Asstring := Sed_year.Text + '01';
    Params.ParamByName('RQEnd').Asstring := Sed_year.Text + '12';
    Open;
  end;

  if not AsSigned(Frm_DialogAfterPrint) then
    Frm_DialogAfterPrint := TFrm_DialogAfterPrint.Create(Application);
  try
    DetailLines := 0;
    Qry_Print.First;
    QRe_jypflmxz.Prepare;
    try
      TotalPageCount := QRe_jypflmxz.QRPrinter.PageCount;
    finally
      QRe_jypflmxz.QRPrinter.Free;
    end;
    QRe_jypflmxz.QRPrinter := nil;

    with Frm_DialogAfterPrint do
    begin
      SpinEdit1.Value := 1;
      SpinEdit2.Value := TotalPageCount;

      Refresh;
      ShowModal;
      if SpinEdit2.Value > TotalPageCount then
        SpinEdit2.Value := TotalPageCount;
      if SpinEdit2.Value < 1 then
        SpinEdit2.Value := 1;

      if Close_Flag then
      begin
        Tao_Print_Flag := CheckBox1.Checked = True;
        if RadioButton2.Checked then
        begin
          QRe_jypflmxz.PrinterSettings.FirstPage := SpinEdit1.Value;
          QRe_jypflmxz.PrinterSettings.LastPage := SpinEdit2.Value;
        end;
      end;
    end;
    DetailLines := 0;
    Qry_Print.First;
    QRe_jypflmxz.Preview;
  finally
    Frm_DialogAfterPrint.Free;
    Frm_DialogAfterPrint := nil;
  end;

end;

procedure TfrmY_FLMXZCX.QRe_jypflmxzStartPage(Sender: TCustomQuickRep);
var
  i: integer;
begin
  for I := 0 to PageHeaderBand1.ControlCount - 1 do //设置页头的套打
  begin
    if PageHeaderBand1.Controls[I] is TQRLabel then
    begin
      if Tao_Print_Flag then
      begin
        TQRLabel(PageHeaderBand1.Controls[I]).Enabled := False;
        if (PageHeaderBand1.Controls[I].Name = 'QRLabel1') then
          TQRLabel(PageHeaderBand1.Controls[I]).Enabled := True;
      end
      else
        TQRLabel(PageHeaderBand1.Controls[I]).Enabled := True;
      if QRe_jypflmxz.QRPrinter.PageNumber = 1 then
        QRLabel6.Enabled := False
      else
        QRLabel6.Enabled := True;
    end;

    if PageHeaderBand1.Controls[I] is TQRShape then
      if Tao_Print_Flag then
        TQRShape(PageHeaderBand1.Controls[i]).Enabled := False
      else
        TQRShape(PageHeaderBand1.Controls[i]).Enabled := True;
  end;

  for I := 0 to DetailBand1.ControlCount - 1 do //设置表内容的套打
  begin
    if DetailBand1.Controls[I] is TQRShape then
    begin
      if Tao_Print_Flag then
        TQRShape(DetailBand1.Controls[I]).Enabled := False
      else
        TQRShape(DetailBand1.Controls[I]).Enabled := True;
    end;
  end;

  for i := 0 to PageFooterBand1.ControlCount - 1 do //设置页尾的套打
  begin
    if PageFooterBand1.Controls[I] is TQRLabel then
    begin
      if QRe_jypflmxz.QRPrinter.PageNumber = TotalPageCount then
        TQRLabel(PageFooterBand1.Controls[I]).Enabled := False
      else
        TQRLabel(PageFooterBand1.Controls[I]).Enabled := True;
    end;

    if PageFooterBand1.Controls[I] is TQRShape then
    begin
      if Tao_Print_Flag then
        TQRShape(PageFooterBand1.Controls[I]).enabled := False
      else
        TQRShape(PageFooterBand1.Controls[I]).Enabled := True;
    end;
  end;
end;

procedure TfrmY_FLMXZCX.QRe_jypflmxzNeedData(Sender: TObject;
  var MoreData: Boolean);
var
  EoF_Flag: boolean;
begin
  DetailBand1.Height := 25;
  Eof_Flag := Qry_Print.Eof;
  if DetailLines <= 17 then
  begin
    Inc(DetailLines);
    MoreData := True;
  end;
  //为月份信息凑页
  if not Qry_Print.Bof then
    if not Qry_Print.Eof then
    begin
      Qry_Print.Prior;
      if (Qry_Print.FieldByName('zy').AsString <> ZY_temp) and
        (Pos('本年累计', Qry_Print.FieldByName('zy').AsString) > 0) and ((DetailLines mod 18) <> 0) then
      begin
        ZY_temp := Qry_Print.FieldByName('zy').AsString;
        RI := 18 - Detaillines;
      end;
      Qry_Print.Next;
    end;
   //增加空白行
  if (Ri = 0) and (not Eof_Flag) then
  begin
    if (DetailLines = 18) and (QRL_ZY.Caption = '') then
    begin
      QRL_FSRQ.Caption := '';
      QRL_DWDM.Caption := '';
      QRL_CRKDH.Caption := '';
      QRL_ZY.Caption := '';
      QRL_ZJSL.Caption := '';
      QRL_JJZJJE.Caption := '';
      QRL_JSSL.Caption := '';
      QRL_JJJSJE.Caption := '';
      QRL_JCSL.Caption := '';
      QRL_JJYE.Caption := '';
    end
    else
      with Qry_Print do
      begin
        QRL_FSRQ.Caption := FieldByName('fsrq').AsString;
        QRL_DWDM.Caption := FieldByName('dwdm').AsString;
        QRL_CRKDH.Caption := FieldByName('crkdh').AsString;
        QRL_ZY.Caption := FieldByName('zy').AsString;
        QRL_ZJSL.Caption := FormatFloat('#,##', FieldByName('zjsl').AsFloat);
        QRL_JSSL.Caption := FormatFloat('#,##', FieldByName('jssl').AsFloat);
        QRL_JCSL.Caption := FormatFloat('#,##', FieldByName('jcsl').AsFloat);

        if RGr_Base.ItemIndex = 0 then
        begin
          QRL_JJZJJE.Caption := FormatFloat('#,##0.00', FieldByName('xjzjje').AsFloat);
          QRL_JJJSJE.Caption := FormatFloat('#,##0.00', FieldByName('xjjsje').AsFloat);
          QRL_JJYE.Caption := FormatFloat('#,##0.00', FieldByName('xjye').AsFloat);
        end;
        if RGr_Base.ItemIndex = 1 then
        begin
          QRL_JJZJJE.Caption := FormatFloat('#,##0.00', FieldByName('jjzjje').AsFloat);
          QRL_JJJSJE.Caption := FormatFloat('#,##0.00', FieldByName('jjjsje').AsFloat);
          QRL_JJYE.Caption := FormatFloat('#,##0.00', FieldByName('jjye').AsFloat);
        end;

        MoreData := not Qry_Print.Eof;
        Qry_Print.Next;
      end;
  end;
  if Ri > 0 then
  begin
    QRL_FSRQ.Caption := '';
    QRL_DWDM.Caption := '';
    QRL_CRKDH.Caption := '';
    QRL_ZY.Caption := '';
    QRL_ZJSL.Caption := '';
    QRL_JJZJJE.Caption := '';
    QRL_JSSL.Caption := '';
    QRL_JJJSJE.Caption := '';
    QRL_JCSL.Caption := '';
    QRL_JJYE.Caption := '';
    Dec(RI);
  end;

  if MoreData and Eof_Flag then
  begin
    QRL_FSRQ.Caption := '';
    QRL_DWDM.Caption := '';
    QRL_CRKDH.Caption := '';
    QRL_ZY.Caption := '';
    QRL_ZJSL.Caption := '';
    QRL_JJZJJE.Caption := '';
    QRL_JSSL.Caption := '';
    QRL_JJJSJE.Caption := '';
    QRL_JCSL.Caption := '';
    QRL_JJYE.Caption := '';
    if DetailLines = 18 then
      MoreData := False
    else
      MoreData := True;
  end;

  if DetailLines = 18 then
    DetailLines := 0;
end;

procedure TfrmY_FLMXZCX.QRe_jypflmxzBeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
begin
  Qry_Print.First;
  DetailLines := 0;
end;

procedure TfrmY_FLMXZCX.CB_lkcClick(Sender: TObject);
begin
  inherited;
  DoDisPP;
end;

end.

⌨️ 快捷键说明

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