📄 qbsrbb.pas
字号:
unit QBsrbb;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, Db, DBTables, StdCtrls, Grids, DBGrids, Buttons, ComCtrls;
type
TQBbbForm = class(TForm)
Panel2: TPanel;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Panel1: TPanel;
Label1: TLabel;
Label3: TLabel;
begdate: TDateTimePicker;
begtime: TDateTimePicker;
enddate: TDateTimePicker;
endtime: TDateTimePicker;
S1: TStoredProc;
BitBtn2: TBitBtn;
GroupBox1: TGroupBox;
dy: TRadioButton;
RadioButton1: TRadioButton;
kk: TLabel;
BitBtn1: TBitBtn;
BitBtn3: TBitBtn;
s2: TStoredProc;
Query1: TQuery;
procedure rbdateKeyPress(Sender: TObject; var Key: Char);
procedure rbdateKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure begdateChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
QBbbForm: TQBbbForm;
implementation
uses dataproc,qbsrbbpt;
{$R *.DFM}
procedure TQBbbForm.FormShow(Sender: TObject);
begin
Panel1.Caption:=curper.sydw+'桑拿营业'+kk.Caption+'报表';
begdate.DateTime:=now-1;
{if kk.Caption<>'' then
begin
enddate.Visible:=false;
endtime.Visible:=false;
begtime.Visible:=false;
Label1.Visible:=false;
Label3.Visible:=false;
begdate.Left:=strtoint(floattostr(int((Width-begdate.Width)/2)));
end; }
enddate.DateTime:=now;
begtime.Date:=begdate.Date;
endtime.DateTime:=now;
begtime.Time:=strtotime('00:00:00');
endtime.Time:=strtotime('23:59:59');
BitBtn1Click(nil);
end;
procedure TQBbbForm.rbdateKeyPress(Sender: TObject; var Key: Char);
begin
key:=#0;
end;
procedure TQBbbForm.rbdateKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
{ if key=112 then
if cxzmenu.Label4.Enabled then
begin
if xt=1 then help(10);
end
else
begin
if xt=1 then help(9);
end;
key:=0; }
end;
procedure TQBbbForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
{ if key=112 then
if cxzmenu.Label4.Enabled then
begin
if xt=1 then help(10);
end
else
begin
if xt=1 then help(9);
end;
}
end;
procedure TQBbbForm.BitBtn1Click(Sender: TObject);
var ls,ls1:string;
begin
// ls:=formatdatetime('yyyy-MM-dd hh:mm:ss',begtime.time);
// ls1:=formatdatetime('yyyy-MM-dd hh:mm:ss',endtime.time);
if curper.code<>'9999' then
begin
s1.Prepare;
ls:=formatdatetime('yyyy-MM-dd',begdate.date)+' '+formatdatetime('hh:mm:ss',begtime.time);
ls1:=formatdatetime('yyyy-MM-dd',enddate.date)+' '+formatdatetime('hh:mm:ss',endtime.time);
s1.ParamByName ('@lsbegtime').asstring:=ls;
s1.ParamByName ('@lsendtime').asstring:=ls1;
s1.Prepare;
s1.ExecProc ;
end else
begin
s2.Prepare;
ls:=formatdatetime('yyyy-MM-dd',begdate.date)+' '+formatdatetime('hh:mm:ss',begtime.time);
ls1:=formatdatetime('yyyy-MM-dd',enddate.date)+' '+formatdatetime('hh:mm:ss',endtime.time);
s2.ParamByName ('@lsbegtime').asstring:=ls;
s2.ParamByName ('@lsendtime').asstring:=ls1;
s2.Prepare;
s2.ExecProc ;
end ;
query1.Active:=false;
query1.SQL.Clear;
query1.SQL.Add('select * from jkmoney');
query1.Prepare;
query1.Open;
query1.Fields[0].Visible:=false;
query1.Fields[11].Visible:=false;
query1.fields[1].displaylabel:=' 项 目';
query1.fields[2].displaylabel:=' 数 量';
query1.fields[3].displaylabel:=' 现 金';
query1.fields[4].displaylabel:=' 会员卡';
query1.fields[5].displaylabel:=' 支 票';
query1.fields[6].displaylabel:=' 信用卡';
query1.fields[7].displaylabel:=' 记 帐';
query1.fields[8].displaylabel:=' 免 单';
query1.fields[9].displaylabel:=' 代金券';
query1.fields[10].displaylabel:=' 合 计';
DBGrid1.Fields[0].DisplayWidth:=12;
DBGrid1.Fields[1].DisplayWidth:=8;
DBGrid1.Fields[2].DisplayWidth:=8;
DBGrid1.Fields[3].DisplayWidth:=8;
DBGrid1.Fields[4].DisplayWidth:=8;
DBGrid1.Fields[5].DisplayWidth:=8;
end;
procedure TQBbbForm.BitBtn2Click(Sender: TObject);
begin
application.CreateForm(Tqbsrbbptform,qbsrbbptform);
qbsrbbptform.QRLabel1.Caption:=Panel1.Caption;
qbsrbbptform.QRLabel23.Caption:=formatdatetime('yyyy''年''MM''月''dd''日''',begdate.date);
// if (kk.Caption='') then
qbsrbbptform.QRLabel23.Caption:=qbsrbbptform.QRLabel23.Caption+' '+formatdatetime('hh''时''mm''分''ss''秒''',begtime.time)
+' 到 '+formatdatetime('yyyy''年''MM''月''dd''日''',enddate.date)+' '+formatdatetime('hh''时''mm''分''ss''秒''',endtime.time);
qbsrbbptform.hide;
if dy.Checked then
qbsrbbptform.qr1.print
else
qbsrbbptform.qr1.Preview;
qbsrbbptform.Close;
qbsrbbptform.free;
end;
procedure TQBbbForm.BitBtn3Click(Sender: TObject);
var jje,dje:array [0..20] of Currency;
kmdm,bmdm:array [0..20] of string;
i,bz:integer; mf:Currency;
begin
if Application.MessageBox(pchar('是否保存新的'+kk.Caption+'报表?'),'提示信息', 36)<>6 then exit;
{f for i:=0 to 20 do
begin
jje[i]:=0;dje[i]:=0;kmdm[i]:='';bmdm[i]:='';
end;
if kk.Caption='日' then
begin
if Application.MessageBox('是否产生财务记帐凭证?','提示信息', 36)=6 then
begin
i:=0;
table1.First;
while table1.FieldByName('dm').asstring='02' do
begin
dje[0]:=dje[0]+(table1.fieldbyname('xiaoj').asCurrency-table1.fieldbyname('md').asCurrency-table1.fieldbyname('gz').asCurrency);
table1.Next;
end;
if dje[0]<>0 then
begin
i:=i+1;jje[0]:=0;kmdm[0]:='501002'; bmdm[0]:='';//'002'
end;
mf:=0;
while not table1.Eof do
begin
if (trim(table1.fieldbyname('code').asstring)<>'合 计') and
(table1.fieldbyname('xiaoj').asCurrency-table1.fieldbyname('gz').asCurrency<>0) then
begin
if (trim(table1.FieldByName('dm').asstring)='02') and (kmdm[0]='501002') then
begin
dje[0]:=dje[0]+(table1.fieldbyname('xiaoj').asCurrency-table1.fieldbyname('gz').asCurrency);
end else
begin
kmdm[i]:='5010'+trim(table1.FieldByName('dm').asstring);
bmdm[i]:='';//'0'+trim(table1.FieldByName('dm').asstring);
dje[i]:=table1.fieldbyname('xiaoj').asCurrency-table1.fieldbyname('md').asCurrency-table1.fieldbyname('gz').asCurrency;
jje[i]:=0;
i:=i+1;
end;
mf:=mf+table1.fieldbyname('md').asCurrency;
end;
table1.Next;
end;
if mf<>0 then
begin
kmdm[i]:='503000';
bmdm[i]:='';
jje[i]:=mf;
dje[i]:=0;
i:=i+1;
end;
table1.Last;
if table1.fieldbyname('xj').asCurrency+table1.fieldbyname('hy').asCurrency<>0 then
begin
kmdm[i]:='101';
bmdm[i]:='';
jje[i]:=table1.fieldbyname('xj').asCurrency+table1.fieldbyname('hy').asCurrency;
dje[i]:=0;
i:=i+1;
end;
if table1.fieldbyname('zp').asCurrency+table1.fieldbyname('card').asCurrency<>0 then
begin
kmdm[i]:='102001';
bmdm[i]:='';
jje[i]:=table1.fieldbyname('zp').asCurrency+table1.fieldbyname('card').asCurrency;
dje[i]:=0;
i:=i+1;
end;
bz:=yysrpz(formatdatetime('yyyy-mm-dd',begdate.Date),'1','前台交来营业收入',kmdm,bmdm,jje,dje,i);
if bz=1 then
Application.MessageBox('要产生的财务记帐凭证中借贷不平衡!','提示信息', 16);
if bz=2 then
Application.MessageBox('产生财务记帐凭证时有错误!','提示信息', 16);
end;
end; }
fm.Query2.Active:=false;
fm.Query2.SQL.Clear;
if kk.Caption='日' then
fm.Query2.SQL.Add('delete srrb where rbdate='''+formatdatetime('yyyy-MM-dd',begdate.Date)+'''')
else
fm.Query2.SQL.Add('delete sryb where rbdate='''+formatdatetime('yyyy-MM',begdate.Date)+'''');
fm.Query2.ExecSQL;
fm.Query2.SQL.Clear;
if kk.Caption='日' then
fm.Query2.SQL.Add('insert into srrb select *,'''+formatdatetime('yyyy-MM-dd',begdate.Date)+''' from jkmoney')
else
fm.Query2.SQL.Add('insert into sryb select *,'''+formatdatetime('yyyy-MM',begdate.Date)+''' from jkmoney');
fm.Query2.ExecSQL;
fm.Query2.Active:=false;
fm.Query2.SQL.Clear;
if Application.MessageBox(pchar(kk.Caption+'报表保存完毕!是否退出?'),'提示信息', 68)=6 then close;
end;
procedure TQBbbForm.begdateChange(Sender: TObject);
begin
// table1.Active:=false;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -