📄 srbb.pas
字号:
unit srbb;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, Db, DBTables, StdCtrls, Grids, DBGrids, Buttons, ComCtrls;
type
TbbForm = class(TForm)
Panel2: TPanel;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Panel1: TPanel;
Label1: TLabel;
Label3: TLabel;
begdate: TDateTimePicker;
begtime: TDateTimePicker;
enddate: TDateTimePicker;
endtime: TDateTimePicker;
Table1: TTable;
S1: TStoredProc;
BitBtn2: TBitBtn;
GroupBox1: TGroupBox;
dy: TRadioButton;
RadioButton1: TRadioButton;
kk: TLabel;
BitBtn1: TBitBtn;
BitBtn3: TBitBtn;
s2: TStoredProc;
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
bbForm: TbbForm;
implementation
uses dataproc, srrbprin,cxmenu, Srbbpt;
{$R *.DFM}
procedure TbbForm.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 TbbForm.rbdateKeyPress(Sender: TObject; var Key: Char);
begin
key:=#0;
end;
procedure TbbForm.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 TbbForm.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 TbbForm.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);
ls1:=formatdatetime('yyyy-MM-dd',enddate.date)+' '+formatdatetime('hh:mm:ss',endtime.time);
if (kk.Caption='日') then
begin
ls:=formatdatetime('yyyy-MM-dd',begdate.date)+' '+'00:00:00';
ls1:=formatdatetime('yyyy-MM-dd',begdate.date+1)+' '+'00:00:00';
end;
if (kk.Caption='月') then
begin
ls:=formatdatetime('yyyy-MM',begdate.date)+'-01 '+'00:00:00';
ls1:=formatdatetime('yyyy-MM',begdate.date+30)+'-01 '+'00:00:00';
end;
if curper.code<>'9999' then
begin
s1.Prepare;
s1.ParamByName ('@lsbegtime').asstring:=ls;
s1.ParamByName ('@lsendtime').asstring:=ls1;
s1.Prepare;
s1.ExecProc ;
end else
begin
s2.Prepare;
s2.ParamByName ('@lsbegtime').asstring:=ls;
s2.ParamByName ('@lsendtime').asstring:=ls1;
s2.Prepare;
s2.ExecProc ;
end;
// query1.fieldbyname('rbdate').visible:=false;
table1.Active:=false;
table1.Active:=true;
{
DBGrid1.fields[0].displaylabel:=' 项 目';
DBGrid1.fields[1].displaylabel:=' 数 量';
DBGrid1.fields[2].displaylabel:=' 现 金';
DBGrid1.fields[3].displaylabel:=' 会员卡';
DBGrid1.fields[4].displaylabel:=' 支 票';
DBGrid1.fields[5].displaylabel:=' 信用卡';
DBGrid1.fields[6].displaylabel:=' 挂 帐';
DBGrid1.fields[7].displaylabel:=' 免 单';
DBGrid1.fields[8].displaylabel:=' 其 他';
DBGrid1.fields[9].displaylabel:=' 合 计'; }
end;
procedure TbbForm.BitBtn2Click(Sender: TObject);
begin
application.CreateForm(Tsrbbptform,srbbptform);
srbbptform.QRLabel1.Caption:=Panel1.Caption;
srbbptform.QRLabel23.Caption:=formatdatetime('yyyy''年''MM''月''dd''日''',begdate.date);
// srbbptform.Table1.Open;
if (kk.Caption='') then
srbbptform.QRLabel23.Caption:=srbbptform.QRLabel23.Caption+' '+formatdatetime('hh''时''mm''分''ss''秒''',begtime.time)
+' 到 '+formatdatetime('yyyy''年''MM''月''dd''日''',enddate.date)+' '+formatdatetime('hh''时''mm''分''ss''秒''',endtime.time);
srbbptform.hide;
if dy.Checked then
srbbptform.qr1.print
else
srbbptform.qr1.Preview;
srbbptform.Close;
srbbptform.free;
end;
procedure TbbForm.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;
{ 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 TbbForm.begdateChange(Sender: TObject);
begin
table1.Active:=false;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -