saldata.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 1,174 行 · 第 1/3 页
PAS
1,174 行
BCDField5: TBCDField;
BCDField6: TBCDField;
IntegerField1: TIntegerField;
BCDField7: TBCDField;
IntegerField2: TIntegerField;
BCDField8: TBCDField;
BCDField9: TBCDField;
BCDField10: TBCDField;
BCDField11: TBCDField;
BCDField12: TBCDField;
BCDField13: TBCDField;
BCDField14: TBCDField;
BCDField15: TBCDField;
BCDField16: TBCDField;
BCDField17: TBCDField;
BCDField18: TBCDField;
BCDField19: TBCDField;
BCDField20: TBCDField;
BCDField21: TBCDField;
BCDField22: TBCDField;
BCDField23: TBCDField;
BCDField24: TBCDField;
BCDField25: TBCDField;
BCDField26: TBCDField;
BCDField27: TBCDField;
BCDField28: TBCDField;
BCDField29: TBCDField;
BCDField30: TBCDField;
BCDField31: TBCDField;
BCDField32: TBCDField;
BCDField33: TBCDField;
BCDField34: TBCDField;
BCDField35: TBCDField;
BCDField36: TBCDField;
BCDField37: TBCDField;
BCDField38: TBCDField;
BCDField39: TBCDField;
BCDField40: TBCDField;
BCDField41: TBCDField;
BCDField42: TBCDField;
BCDField43: TBCDField;
BCDField44: TBCDField;
BCDField45: TBCDField;
BCDField46: TBCDField;
BCDField47: TBCDField;
BCDField48: TBCDField;
BCDField49: TBCDField;
StringField9: TStringField;
DateTimeField2: TDateTimeField;
ADOvsalnoname11: TBCDField;
ADOvsalnoname22: TBCDField;
ADOvsalnoname33: TBCDField;
ADOvsalnoname44: TBCDField;
ADOvsalnoname55: TBCDField;
ADOvsalnoname66: TBCDField;
ADOvsalnoname77: TBCDField;
ADOvsalaccout: TStringField;
ToolButton2: TToolButton;
Panel5: TPanel;
Label4: TLabel;
Label11: TLabel;
Animate1: TAnimate;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
MaskEdit2: TMaskEdit;
ADOQuery1: TADOQuery;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
procedure ToolButton10Click(Sender: TObject);
procedure MaskEdit1Exit(Sender: TObject);
procedure shistoryClick(Sender: TObject);
procedure formkeyup(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure tbnfindClick(Sender: TObject);
procedure ppReport1BeforePrint(Sender: TObject);
procedure ppReport1PreviewFormCreate(Sender: TObject);
procedure ppReport4BeforePrint(Sender: TObject);
procedure tbnprintClick(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure tbnsortClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure DBGrid5TitleClick(Column: TColumn);
procedure DBGrid6TitleClick(Column: TColumn);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure tbrefrushClick(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
manyfield:boolean;
findex:array[1..5] of integer;
fsort:array[1..5] of string;
fcount:0..5;
f:string; //排序的字段
end;
var
Formsaldata: TFormsaldata;
ins_sql:string;
implementation
uses main,datamol,publicfunction, insrecord, canfind,salcal, saldatabrow;
{$R *.DFM}
procedure TFormsaldata.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
with datamod do
begin
adosaldata.filtered:=false;
adosaldata.filter:='';
adosaldata.close;
end;
condi:=''; //防止下次再进入时还用此条件
formsaldata:=nil;
action:=Cafree;
end;
procedure TFormsaldata.FormCreate(Sender: TObject);
begin with datamod do
begin
maskedit1.text:=formatdatetime('yyyy/mm',now);
combobox1.items.clear;
adosaldata.close;
if formmain.sal_all.enabled then
combobox1.items.add('全部')
else
begin
if formmain.sal_day.enabled then
begin
combobox1.items.add('日薪');
adosaldata.commandtext:='Select * from sal21010 where dayormon=1';
tbnfind.enabled:=false;
end;
if formmain.sal_month.enabled then
begin
combobox1.items.add('月薪');
adosaldata.commandtext:='Select * from sal21010 where dayormon=0';
tbnfind.enabled:=false;
end;
if formmain.sal_remove.Enabled then
begin
combobox1.items.add('免卡');
adosaldata.commandtext:='Select * from sal21010 where brushcard=0';
tbnfind.enabled:=false;
end;
end;
adosaldata.filter:=' monthy='''+formatdatetime('yyyy/mm',now)+''' ';
adosaldata.filtered:=true;
adosaldata.open;
{ adosalset.Open;
if ADOsalsetfacevalue.asboolean then //需要显示面值数
begin
adofacevalue.close;
adofacevalue.commandtext:='Select * from sal22010 where monthy='''+formatdatetime('yyyy/mm',now)+''' ';
adofacevalue.open;
end
else
} pagecontrol1.Pages[4].Destroy; //
// adosalset.close;
end;
pagecontrol1.ActivePageindex:=3;
end;
procedure TFormsaldata.DBGrid1DblClick(Sender: TObject);
begin
// writerecorder(Datamod.ADOsaldata,false);
formsaldatabrow:=TFormsaldatabrow.create(self);
formsaldatabrow.showmodal;
formsaldatabrow.free;
end;
procedure TFormsaldata.PageControl1Change(Sender: TObject);
begin
(sender as Tpagecontrol).activepage.highlighted:=true;
case pagecontrol1.activepageindex of
0,1,2,3:
DBNavigator1.datasource:=datamod.dssaldata;
4:DBNavigator1.datasource:=dsfacevalue;
5:DBNavigator1.datasource:=datasource1;
end;
end;
procedure TFormsaldata.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
(sender as Tpagecontrol).activepage.highlighted:=false;
end;
procedure TFormsaldata.ToolButton10Click(Sender: TObject);
begin
close;
end;
procedure TFormsaldata.MaskEdit1Exit(Sender: TObject);
var s:string;
begin
With Datamod Do
Begin
if trim(maskedit1.text)<>'/' then
begin
s:=' monthy='''+maskedit1.text+''' ';
if trim(edit1.text)<>'' then
s:=s+' and workno='''+edit1.text+''' ';
End else
if trim(edit1.text) <>'' then
s:=' workno='''+edit1.text+''' ';
adosaldata.Close;
adosaldata.Filtered:=false;
adosaldata.filter:=s;
adosaldata.filtered:=true;
adosaldata.open;
end;
end;
procedure TFormsaldata.shistoryClick(Sender: TObject);
var table:string;
begin
With Datamod Do
Begin
if shistory.Down then //处於历史状态
table:='sal21010bk'
else table:='sal21010';
adosaldata.close;
if formmain.sal_all.enabled then
adosaldata.commandtext:='Select * from '+table
else
begin
if formmain.sal_day.enabled then
adosaldata.commandtext:='Select * from '+table+' where dayormon=1';
if formmain.sal_month.enabled then
adosaldata.commandtext:='Select * from '+table+' where dayormon=0';
if formmain.sal_remove.Enabled then
adosaldata.commandtext:='Select * from '+table+' where brushcard=0';
end;
adosaldata.open;
End;
end;
procedure TFormsaldata.formkeyup(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_f1 then
begin
Application.helpfile :=extractfilepath(application.exename) +'help\pasahelp.hlp';
application.HelpJump('shm_contents0032');
end;
end;
procedure TFormsaldata.tbnfindClick(Sender: TObject);
begin
if assigned(formcanfind) then formcanfind.close;
case pagecontrol1.ActivePageIndex of
0,1,2,3:findrecorder(datamod.ADOsaldata,'Adosaldate','sal21010');
4:findrecorder(adofacevalue,'Adofacevalue','sal22010');
5:findrecorder(adodataset1,'Adodataset1','sal20010');
end;
end;
procedure TFormsaldata.ppReport1BeforePrint(Sender: TObject);
begin
pplabel31.caption:=companyname1;
pplabel32.caption:=maskedit1.text;
pplabel29.caption:='制表人:'+pubworkname;
end;
procedure TFormsaldata.ppReport1PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
TppViewer(tppReport(Sender).PreviewForm.Viewer).ZoomSetting := zsWholePage;
end;
procedure TFormsaldata.ppReport4BeforePrint(Sender: TObject);
begin
pplabel86.caption:=companyname1;
pplabel85.caption:=maskedit1.text;
pplabel89.caption:='制表人:'+pubworkname;
end;
procedure TFormsaldata.tbnprintClick(Sender: TObject);
begin
case pagecontrol1.activepageindex of
0: begin
ppreport1.DeviceType:='Screen';
ppreport1.print;
end;
4: begin
ppreport4.DeviceType:='Screen';
ppreport4.print;
end;
5: begin
ppreport2.DeviceType:='Screen';
ppreport2.print;
end;
end;
end;
procedure TFormsaldata.DBGrid1TitleClick(Column: TColumn);
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
datamod.Adosaldata.Sort :=column.FieldName+' '+f;
end;
procedure TFormsaldata.tbnsortClick(Sender: TObject);
var i:1..5;
begin
if manyfield then
begin
manyfield:=false;
tbnsort.hint:='设定多字段排序';
popupmenu1.Items[0].Enabled :=false;
popupmenu1.Items[1].Enabled :=false;
popupmenu1.Items[2].Enabled :=false;
popupmenu1.Items[3].Enabled :=false;
end
else begin
manyfield:=true;
tbnsort.hint:='取消多字段排序'; //说明现在dbgrid1正处于多字段排序中
f:='';
popupmenu1.Items[0].Enabled :=true;
popupmenu1.Items[1].Enabled :=true;
popupmenu1.Items[2].Enabled :=true;
popupmenu1.Items[3].Enabled :=true;
fcount:=0;
for i:=1 to 5 do
begin
findex[i]:=0;
fsort[i]:='';
end;
end;
end;
procedure TFormsaldata.N1Click(Sender: TObject);
var i:integer;
begin
case pagecontrol1.ActivePageIndex of
0:
begin
for i:=1 to fcount do
if dbgrid1.SelectedIndex =findex[i] then
begin
fsort[i]:='ASC';
exit;
end;
if fcount<5 then
begin
fcount:=fcount+1;
findex[fcount]:=dbgrid1.selectedindex;
fsort[fcount]:='ASC';
dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
end;
end;
1:
begin
for i:=1 to fcount do
if dbgrid2.SelectedIndex =findex[i] then
begin
fsort[i]:='ASC';
exit;
end;
if fcount<5 then
begin
fcount:=fcount+1;
findex[fcount]:=dbgrid2.selectedindex;
fsort[fcount]:='ASC';
dbgrid2.Columns[dbgrid2.selectedindex].Color :=clgray;
end;
end;
2:
begin
for i:=1 to fcount do
if dbgrid3.SelectedIndex =findex[i] then
begin
fsort[i]:='ASC';
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?