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

📄 jm_rpt_qttj.pas

📁 省级集邮品管理ERP
💻 PAS
字号:
{*******************************************************}
{                                                       }
{                 营业员票品退缴单打印                  }
{                                                       }
{            中软金马公司版权所有。2002.12前            }
{                                                       }
{            编制:中软金马邮资票品项目开发组           }
{                                                       }
{                                                       }
{*******************************************************}
(*
本模块在地市集邮票管理,地市集邮品管理,地市市场购入票里面调用。

*)
{===============================================================================
    邮资票品管理系统 V1.0——集邮业务管理子系统的功能是对集邮票的分配计划、出库
    计划、下级需求计划、下级请领表,集邮票的入库、集邮票的发货等业务进行了系统管
    理。同时对下级营业员的集邮票的调配、退缴、分票、缴款等业务进行了处理,另外包
    括对帐务以及营业员帐务的查询,以及由此形成的报表,库存以及下级库存的查询等功
    能。

    集邮业务管理子系统和其他子系统的关系:系统管理子系统负责集邮业务管理子系统的
    各种数据的初始化工作。该子系统负责集邮门市管理中集邮票的发票、营业员票品调配、
    营业员缴款等前台营业员业务。

    本模块功能:营业员退缴单的打印

    问题:
        1、不能确定打印纸张的型号,随客户的需求随时可能改变。
        2、

    徐 申 2001.10.14

    更改:1、更改纸张大小为(210mm,127mm).
          2、更改了所有的控件名称符合规定
          3、依照省级的格式打印营业员退缴单
    徐申 2002.02.26
===============================================================================}

unit JM_RPT_QTTJ;

interface

uses Windows, SysUtils, Messages, Classes, Graphics, Controls,
  StdCtrls, ExtCtrls, Forms, Quickrpt, QRCtrls, Dialogs, Db, DBTables, JM_data;

type
  TFrm_rptqttj = class(TQuickRep)
    PageFooterBand1: TQRBand;
    ColumnHeaderBand1: TQRBand;
    DetailBand1: TQRBand;
    QRShape3: TQRShape;
    QRShape14: TQRShape;
    QRShape16: TQRShape;
    QRShape5: TQRShape;
    QRShape9: TQRShape;
    QRShape11: TQRShape;
    qry_qttjpp: TQuery;
    QRShape4: TQRShape;
    QRLabel12: TQRLabel;
    QRLabel3: TQRLabel;
    QRLabel1: TQRLabel;
    QRLabel5: TQRLabel;
    qrl_page: TQRLabel;
    QRLabel18: TQRLabel;
    QRLabel28: TQRLabel;
    QRLabel8: TQRLabel;
    QRLabel30: TQRLabel;
    QRLabel31: TQRLabel;
    QRShape1: TQRShape;
    QRShape2: TQRShape;
    QRShape7: TQRShape;
    QRShape10: TQRShape;
    QRShape13: TQRShape;
    QRShape17: TQRShape;
    QRShape18: TQRShape;
    QRShape19: TQRShape;
    QRLabel2: TQRLabel;
    QRShape6: TQRShape;
    QRShape8: TQRShape;
    qrrt_zh: TQRRichText;
    qrrt_ppmc: TQRRichText;
    qrrt_lb: TQRRichText;
    qrrt_jj: TQRRichText;
    qrrt_sj: TQRRichText;
    qrrt_sl: TQRRichText;
    QRLabel13: TQRLabel;
    QRLabel6: TQRLabel;
    QRShape12: TQRShape;
    QRShape15: TQRShape;
    QRShape20: TQRShape;
    QRLabel7: TQRLabel;
    QRSysData1: TQRSysData;
    QRLabel9: TQRLabel;
    qrl_tjdw: TQRLabel;
    qrl_kdrq: TQRLabel;
    qrl_dh: TQRLabel;
    qry_qttjd: TQuery;
    procedure Query2SJGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    procedure Query2SJSetText(Sender: TField; const Text: string);
    procedure qry_qttjppDJGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    procedure qry_qttjppDJSetText(Sender: TField; const Text: string);
    procedure qry_qttjppJJGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    procedure qry_qttjppJJSetText(Sender: TField; const Text: string);
    procedure QuickRepNeedData(Sender: TObject; var MoreData: Boolean);
    procedure QuickRepBeforePrint(Sender: TCustomQuickRep;
      var PrintReport: Boolean);
    procedure QuickRepStartPage(Sender: TCustomQuickRep);
    procedure qry_qttjdAfterOpen(DataSet: TDataSet);
  private

  public
    line_count: integer; {记录本页行数,用以控制每页显示的行数}
    taoda_flag: Boolean; { 是否采用套打的标记}
  end;

var
  Frm_rptqttj: TFrm_rptqttj;


implementation

{$R *.DFM}

uses pub; {使用其中的公共函数currGetText,CurrSetText格式化进价、销价等字段
                信息的显示}

procedure TFrm_rptqttj.Query2SJGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  CurrGetText(Sender, Text, DisplayText);
end;

procedure TFrm_rptqttj.Query2SJSetText(Sender: TField; const Text: string);
begin
  CurrSetText(Sender, Text);
end;

procedure TFrm_rptqttj.qry_qttjppDJGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  CurrGetText(Sender, Text, DisplayText);
end;

procedure TFrm_rptqttj.qry_qttjppDJSetText(Sender: TField; const Text: string);
begin
  CurrSetText(Sender, Text);
end;

procedure TFrm_rptqttj.qry_qttjppJJGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  CurrGetText(Sender, Text, DisplayText);
end;

procedure TFrm_rptqttj.qry_qttjppJJSetText(Sender: TField; const Text: string);
begin
  CurrSetText(Sender, Text);
end;

procedure TFrm_rptqttj.QuickRepNeedData(Sender: TObject;
  var MoreData: Boolean);
begin
  if line_count < 6 then
  begin
    Inc(line_count);
    MoreData := True;
  end;
  if not qry_qttjpp.Eof then
  {如果没有到查询结果的末尾,那么逐行增加每条调配票品信息}
    with qry_qttjpp do
    begin
      qrrt_zh.Lines.Text := FieldbyName('zh').AsString;
      qrrt_ppmc.Lines.Text := FieldbyName('ppmc').AsString;
      if qrrt_ppmc.Lines.Count > 1 then
    {如果票品名称超过两行,那么重新设置显示的位置,以便能显示下两行的信息}
      begin
        qrrt_ppmc.Top := 2;
        qrrt_ppmc.Height := 26;
      end
      else begin
        qrrt_ppmc.Top := qrrt_zh.top;
        qrrt_ppmc.Height := qrrt_zh.Height;
      end;
      qrrt_lb.Lines.Text := FieldbyName('lb').AsString;
      qrrt_jj.Lines.Text := FormatFloat('#,##0.00', FieldbyName('jj').AsFloat);
      qrrt_sj.Lines.Text := Formatfloat('#,##0.00', FieldbyName('sj').AsFloat);
      qrrt_sl.Lines.Text := FieldbyName('sl').AsString;
    end;
  if qry_qttjpp.eof then
  {如果已经显示完所有的调配票品,但该页还未满五行,那么增加空白行}
  begin
    qrrt_zh.Lines.Text := '';
    qrrt_ppmc.Lines.Text := '';
    qrrt_lb.Lines.Text := '';
    qrrt_jj.Lines.Text := '';
    qrrt_sj.Lines.Text := '';
    qrrt_sl.Lines.Text := '';
  end;
  if not qry_qttjpp.Eof then
    qry_qttjpp.Next;
  if (line_count = 6) and qry_qttjpp.eof then
  {如果该页已经显示满5行信息,并且并且查询结果的游标已经在末尾,那么终止显示}
    MoreData := false;
  if line_count = 6 then
    line_count := 1;
end;

procedure TFrm_rptqttj.QuickRepBeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
begin
  {在打印之前,再次的初始化行数并置查询结果集的游标于顶部,以防不能打印信息或打印的信息不完整}
  Line_count := 0;
  qry_qttjpp.First;
end;

procedure TFrm_rptqttj.QuickRepStartPage(Sender: TCustomQuickRep);
var
  i: Integer;
begin
  if taoda_flag then {如果套打时,不显示某些信息}
  begin
    {不显示ColumnHeaderBand1中的某些信息和线条 }
    for i := 0 to ColumnHeaderBand1.ControlCount - 1 do
    begin
      if (Pos('QRLabel', ColumnHeaderBand1.Controls[i].Name) > 0)
        or (Pos('QRShape', ColumnHeaderBand1.Controls[i].Name) > 0) then
        ColumnHeaderBand1.Controls[i].Enabled := False;
    end;
    {不显示DetailBand1中的某些信息和线条 }
    for i := 0 to DetailBand1.ControlCount - 1 do
    begin
      if (Pos('QRLabel', DetailBand1.Controls[i].Name) > 0)
        or (Pos('QRShape', DetailBand1.Controls[i].Name) > 0) then
        DetailBand1.Controls[i].Enabled := False;
    end;
    {不显示PageFooterBand中的某些信息和线条 }
    for i := 0 to PageFooterBand1.ControlCount - 1 do
    begin
      if (Pos('QRLabel', PageFooterBand1.Controls[i].Name) > 0)
        or (Pos('QRShape', PageFooterBand1.Controls[i].Name) > 0) then
        PageFooterBand1.Controls[i].Enabled := False;
    end;
  end;
end;

procedure TFrm_rptqttj.qry_qttjdAfterOpen(DataSet: TDataSet);
var
  StrSql: string;
begin
  StrSql := 'select a.fpdh,a.ppdm,a.ppmc,a.zh,a.jj/100 jj,a.sj/100 sj,a.sl,' +
    ' decode(a.lb,''0'',''集邮票'',''1'',''集邮品'',''2'',''购入票'') lb,a.sl from ' +
    ' tm_qttjppmx a,tm_qttjd b where a.fpdh=b.fpdh and b.fpdh=''' + Qry_qttjd.FieldByName('fpdh').AsString + '''';
  with qry_qttjpp do
  begin
    Close;
    SQL.clear;
    SQL.Add(StrSql);
    Open;
  end;
end;
end.

⌨️ 快捷键说明

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