ufrm_level4_2.pas
来自「完整的进销存系统。 设计文件及完整的源代码。 Delphi6.0」· PAS 代码 · 共 1,010 行 · 第 1/2 页
PAS
1,010 行
u_master:=g_transfer.master; //取得要操作的master
u_detail:=g_transfer.detail; //取得要操作的detail
//u_key1:=g_transfer.key1;
for i:=1 to 10 do
begin
u_mpkey[i]:=g_transfer.mpkey[i];
u_mpvalue[i]:=g_transfer.mpvalue[i];
u_mkey[i]:=g_transfer.mkey[i];
u_dkey[i]:=g_transfer.dkey[i];
end;
u_qtable:=g_transfer.qtable;
u_order:=g_transfer.order;
//********************************
u_pfilter:=parse_02;
u_join:=parse_01;
u_filter:=cl_filter(u_master); //取得要過濾條件
u_wc:=' 1=1 ';
u_dfilter:=parse_03;
query1.DatabaseName:=dm.connection.DatabaseName;
qy_master.DatabaseName:=dm.connection.DatabaseName;
qy_detail.DatabaseName:=dm.connection.DatabaseName;
query1.Close;
query1.sql.Clear;
qy_master.Close;
qy_master.SQL.Clear;
qy_detail.Close;
qy_detail.SQL.Clear;
//=======================================================
g_sqlstr:='SELECT * FROM '+u_detail+ ' WHERE '+u_dfilter;
qy_detail.Close;
qy_detail.SQL.Clear;
qy_detail.SQL.Add(g_sqlstr);
//=======================================================
refresh_all;
refresh_detail;
navistatus;
cl_setcolor(self); //設置編輯框的顏色
end;
//******************************************************************
procedure Tfrm_level4_2.tbExitClick(Sender: TObject);
begin
inherited;
//button 1
close;
end;
procedure Tfrm_level4_2.tbAddClick(Sender: TObject);
begin
inherited;
//2
if not cl_prichk('A',u_user_permission,u_grup_permission) then
begin
messagedlg('您沒有權限執行此功能!!',mtinformation,[mbok],0);
exit;
end;
modistatus;
chg_canwrite;
Set_focus;
qy_master.Append;
end;
procedure Tfrm_level4_2.tbEditClick(Sender: TObject);
begin
inherited;
//3
{if u_rowid='' then exit;}//id
if self.keyis_null then exit;
if not cl_prichk('U',u_user_permission,u_grup_permission) then
begin
messagedlg('您沒有權限執行此功能!!',mtinformation,[mbok],0);
exit;
end;
refresh_master; //get the latest data;
//IF chk_acti then begin cl_showmsg('資料已被確認,不可修改!');exit;end;
if qy_master.FieldByName('ACTI').AsString='Y' then
begin
cl_showmsg('資料已被確認,不可修改!');
exit;
end;
modistatus;
self.chg_Readonly;
Set_focus;
qy_master.Edit;
qy_master.FieldByName('MODU').AsString:=g_user;
qy_master.FieldByName('MODT').AsString:=DateToStr(cl_curdt);
end;
procedure Tfrm_level4_2.tbDeleteClick(Sender: TObject);
begin
inherited;
//4
{if u_rowid='' then exit;}//id
if self.keyis_null then exit;
if not cl_prichk('R',u_user_permission,u_grup_permission) then
begin
messagedlg('您沒有權限執行此功能!!',mtinformation,[mbok],0);
exit;
end;
refresh_master; //get the latest data;
if qy_master.FieldByName('ACTI').AsString='Y' then
begin
cl_showmsg('資料已被確認,不可修改!');
exit;
end;
if messagedlg('確定要刪除此條紀錄嗎?',
mtconfirmation,[mbyes,mbno],0) <> mryes then exit;
u_bookmark:=query1.GetBookmark;
dm.connection.StartTransaction;
try
try
qy_detail.First;
while not qy_detail.Eof do qy_detail.Delete;
qy_master.Delete;
dm.connection.Commit;
except
dm.connection.Rollback;
messagedlg('刪除失敗!!',mtinformation,[mbok],0);
end;
self.refresh_query;
try query1.GotoBookmark(u_bookmark); except ; end;
{u_rowid:=query1.fieldbyname('ID').AsString;}//id
self.assign_query;
refresh_master;
navistatus;
finally
query1.FreeBookmark(u_bookmark);
end;
end;
procedure Tfrm_level4_2.tbDetailClick(Sender: TObject);
var i:integer;
begin
inherited;
//5
//todo;ok
{if u_rowid='' then exit;}
if self.keyis_null then exit;
if not cl_prichk('B',u_user_permission,u_grup_permission) then
begin
messagedlg('您沒有權限執行此功能!!',mtinformation,[mbok],0);
exit;
end;
refresh_master; //get the latest data;
if qy_master.FieldByName('ACTI').AsString='Y' then
begin
cl_showmsg('資料已被確認,不可修改!');
exit;
end;
//=========================================================
g_transfer.prog:=u_prog;
g_transfer.master:=u_master;
g_transfer.detail:=u_detail;
for i:=1 to 10 do
begin
g_transfer.mkey[i]:=u_mkey[i];
g_transfer.dkey[i]:=u_dkey[i];
if u_mkey[i]<>'' then
g_transfer.mpvalue[i]:=qy_master.fieldbyname(u_mkey[i]).AsString;
end;
//=========================================================
call_detail();
refresh_master;
end;
procedure Tfrm_level4_2.tbFirstClick(Sender: TObject);
begin
inherited;
//6
if query1.Bof then exit;
query1.First;
navistatus;
{u_rowid:=query1.fieldbyname('ID').AsString;}//id
self.assign_query;
refresh_master;
end;
procedure Tfrm_level4_2.tbPriorClick(Sender: TObject);
begin
inherited;
//7
if query1.Bof then exit;
query1.Prior;
navistatus;
{u_rowid:=query1.fieldbyname('ID').AsString;}//id
self.assign_query;
refresh_master;
end;
procedure Tfrm_level4_2.tbNextClick(Sender: TObject);
begin
inherited;
//8
if query1.Eof then exit;
query1.Next;
navistatus;
{u_rowid:=query1.fieldbyname('ID').AsString;}//id
self.assign_query;
refresh_master;
end;
procedure Tfrm_level4_2.tbLastClick(Sender: TObject);
begin
inherited;
//9
if query1.Eof then exit;
query1.last;
navistatus;
{u_rowid:=query1.fieldbyname('ID').AsString;}//id
self.assign_query;
refresh_master;
end;
procedure Tfrm_level4_2.tbRefreshClick(Sender: TObject);
begin
inherited;
//10
u_bookmark:=query1.GetBookmark;
try
try
query1.Close;
query1.Open;
query1.GotoBookmark(u_bookmark);
except
;
end;
finally
{u_rowid:=query1.fieldbyname('ID').AsString;}//id
//self.assign_query;
refresh_master;
query1.FreeBookmark(u_bookmark);
end;
navistatus;
end;
procedure Tfrm_level4_2.tbFilterClick(Sender: TObject);
begin
inherited;
//11
if not cl_prichk('F',u_user_permission,u_grup_permission) then
begin
messagedlg('您沒有權限執行此功能!!',mtinformation,[mbok],0);
exit;
end;
Application.CreateForm(Tfrm_filter1,frm_filter1);
frm_filter1.init(u_master);
if (frm_filter1.ShowModal=mrYes) then
u_filter:=frm_filter1.u_wc;
try
frm_filter1.release;
except
;
end;
try
refresh_all;
except
;
end;
end;
procedure Tfrm_level4_2.tbQueryClick(Sender: TObject);
var l_wc:string;
begin
inherited;
//12
Application.CreateForm(Tfrm_sql,frm_sql);
frm_sql.init(u_qtable);
l_wc:='';
if (frm_sql.ShowModal=mrok) then
l_wc:=frm_sql.sqlstr2;
try
frm_sql.release;
except
;
end;
IF l_wc<>'' then
begin
u_wc:=l_wc;
refresh_all;
end;
end;
procedure Tfrm_level4_2.tbSaveClick(Sender: TObject);
begin
inherited;
//13
toolbar1.SetFocus;
if not chk_unique then
begin
messagedlg(u_error,mtinformation,[mbok],0);
exit;
end;
if not chk_save then
begin
messagedlg(u_error,mtinformation,[mbok],0);
exit;
end;
try
qy_master.Post;
except
qy_master.Cancel;
cl_showmsg('存盤失敗!');
end;
{u_rowid:=qy_master.fieldbyname('ID').AsString;}//id
savestatus;
end;
procedure Tfrm_level4_2.tbUnsaveClick(Sender: TObject);
begin
inherited;
//14
toolbar1.SetFocus;
try
qy_master.Cancel;
except
cl_showmsg('放棄存盤失敗!');
end;
savestatus;
end;
procedure Tfrm_level4_2.tbConfirmClick(Sender: TObject);
begin
inherited;
//15
//if qy_master.FieldByName(u_key1).AsString='' THEN EXIT;
{if u_rowid='' then exit;}//id
if self.keyis_null then exit;
if not cl_prichk('Y',u_user_permission,u_grup_permission) then
begin
messagedlg('您沒有權限執行此功能!!',mtinformation,[mbok],0);
exit;
end;
if messagedlg('是否要確認此筆資料?',
mtconfirmation,[mbyes,mbno],0) <> mryes then exit;
refresh_master; //get the latest data;
//if chk_acti then begin cl_showmsg('此筆資料已經確認 !');exit;end;
if qy_master.FieldByName('ACTI').AsString='Y' then
begin
cl_showmsg('此筆資料已經確認!');
exit;
end;
if not chk_conf then
begin
messagedlg(u_error,mtinformation,[mbok],0);
exit;
end;
qy_master.Edit;
qy_master.FieldByName('ACTI').AsString:='Y';
qy_master.FieldByName('MODU').AsString:=g_user;
qy_master.FieldByName('MODT').AsString:=DateToStr(cl_curdt);
try
qy_master.Post;
except
messagedlg('確認記錄失敗!',mtinformation,[mbok],0);
end;
end;
procedure Tfrm_level4_2.tbUnconfirmClick(Sender: TObject);
begin
inherited;
//16
//if qy_master.FieldByName(u_key1).AsString='' THEN EXIT;
{if u_rowid='' then exit;}//id
if self.keyis_null then exit;
if not cl_prichk('Z',u_user_permission,u_grup_permission) then
begin
messagedlg('您沒有權限執行此功能!!',mtinformation,[mbok],0);
exit;
end;
if messagedlg('確認要還原這筆資料嗎?',
mtconfirmation,[mbyes,mbno],0) <> mryes then exit;
refresh_master; //get the latest data;
if qy_master.FieldByName('ACTI').AsString<>'Y' then
begin
cl_showmsg('此筆資料未被確認!');
exit;
end;
qy_master.Edit;
qy_master.FieldByName('ACTI').AsString:='N';
qy_master.FieldByName('MODU').AsString:=g_user;
qy_master.FieldByName('MODT').AsString:=DateToStr(cl_curdt);
try
qy_master.Post;
except
messagedlg('還原失敗!',mtinformation,[mbok],0);
end;
end;
procedure Tfrm_level4_2.tbPrintClick(Sender: TObject);
begin
inherited;
//17
end;
procedure Tfrm_level4_2.tbExcelClick(Sender: TObject);
begin
inherited;
//18
cl_toexcel(u_master,dbgrid);
end;
procedure Tfrm_level4_2.tbHelpClick(Sender: TObject);
begin
inherited;
//19
end;
//*************************************************************
procedure Tfrm_level4_2.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
inherited;
if (qy_master.state <> dsbrowse) and (qy_master.state <> dsinactive) then
begin
canclose:=false;
MessageDlg('你已經修改的資料,'+
'請存盤或放棄 !!',mtinformation,[mbok],0);
end;
end;
procedure Tfrm_level4_2.qy_masterBeforeEdit(DataSet: TDataSet);
var i:integer;
begin
inherited;
;//取得舊key value.
for i:=1 to 10 do
begin
if u_mkey[i]<>'' then
begin
u_oldkeyvalue[i]:=qy_master.fieldbyname(u_mkey[i]).asstring;
end;
end;
end;
procedure Tfrm_level4_2.qy_masterNewRecord(DataSet: TDataSet);
var i:integer;
begin
inherited;
for i:=1 to 10 do
begin
if u_mpkey[i]<>'' then
qy_master.FieldByName(u_mpkey[i]).AsString:=u_mpvalue[i];
end;
qy_master.FieldByName('ACTI').AsString:='N';
qy_master.FieldByName('OWUS').AsString:=g_user;
qy_master.FieldByName('GRUP').AsString:=g_grup;
qy_master.FieldByName('CRET').AsString:=datetostr(cl_curdt);
end;
procedure Tfrm_level4_2.qy_masterAfterPost(DataSet: TDataSet);
begin
inherited;
{u_rowid:=qy_master.fieldbyname('ID').AsString;}//id
self.assign_master;
end;
procedure Tfrm_level4_2.Query1AfterOpen(DataSet: TDataSet);
begin
inherited;
l_RecordCount.caption:='記錄數:'+inttostr(query1.RecordCount);
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?