📄 sy_flmxzcx.pas
字号:
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 + -