?? jm_rpt_qttj.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 + -