?? syd1.pas
字號:
end;
if Application.MessageBox('刪除后將不能恢復,是否刪除此單據?', '提示', MB_YESNO + MB_ICONQUESTION) = IDNO then exit;
Ed1.SetFocus;
ADOTable1.Delete;
if ADOtable1.RecordCount = 0 then Bit8.Enabled := false;
end;
procedure Tsyd.NewCode(Sender: integer);
var code: string;
begin
Query1.Close;
Query1.sql.text := 'select count(*) from syd001 where kdrq=:cdrq';
Query1.Parameters[0].Value := datetostr(MainForm.DateTimePicker1.Date);
Query1.open;
code := floattostr(Query1.Fields[0].asfloat + strtofloat(formatdatetime('yyyymmdd""001', MainForm.DateTimePicker1.Date)) + Sender);
Query1.Close;
Query1.sql.text := 'select count(*) from syd001 where code=:code';
Query1.Parameters[0].Value := code;
Query1.open;
if Query1.Fields[0].Value > 0 then
begin
Sender := sender + 1;
Newcode(sender);
end
else
begin
ADOTable1.FieldByName('code').asstring := code;
ADOTable1.FieldByName('kdrq').Value := datetostr(MainForm.DateTimePicker1.Date);
ADOTable1.FieldByName('dkr').Value := MainForm.Label4.Caption;
ADOTable1.FieldByName('zt').Value := '未審核';
ADOTable1.FieldByName('lx').Value := '報損';
end;
end;
procedure Tsyd.Bit5Click(Sender: TObject);
begin
ADOTable1.Append;
Newcode(0);
try
ADOTable1.Post;
except
Application.MessageBox('單號被占用,請重試一次.', '提示', MB_OK + MB_ICONERROR);
ADOTable1.Cancel;
exit;
end;
ADOTable1.Edit;
Bit5.Enabled := false;
Ed2.ReadOnly := false;
Ed3.ReadOnly := false;
Ed4.ReadOnly := false;
Ed7.ReadOnly := false;
end;
procedure Tsyd.b1UpdateState(Navigator: TwwDBNavigator;
Button: TwwNavButton; Cause: TwwUpdateCause);
begin
if b1.Enabled = true then Bit1.Enabled := true else Bit1.Enabled := false;
if b2.Enabled = true then Bit2.Enabled := true else Bit2.Enabled := false;
if b3.Enabled = true then Bit3.Enabled := true else Bit3.Enabled := false;
if b4.Enabled = true then Bit4.Enabled := true else Bit4.Enabled := false;
if b5.Enabled = true then Bit5.Enabled := true else Bit5.Enabled := false;
if b6.Enabled = true then Bit6.Enabled := true else Bit6.Enabled := false;
if b6.Enabled = true then
begin
DBGridEh1.Columns[0].ReadOnly := true;
DBGridEh1.Columns[4].ReadOnly := true;
DBGridEh1.Columns[5].ReadOnly := true;
DBGridEh1.Columns[6].ReadOnly := true;
DBGridEh1.Columns[7].ReadOnly := true;
DBGridEh1.Columns[8].ReadOnly := true;
end
else
begin
DBGridEh1.Columns[0].ReadOnly := false;
DBGridEh1.Columns[4].ReadOnly := false;
DBGridEh1.Columns[5].ReadOnly := false;
DBGridEh1.Columns[6].ReadOnly := false;
DBGridEh1.Columns[7].ReadOnly := false;
DBGridEh1.Columns[8].ReadOnly := false;
end;
if b7.Enabled = true then Bit7.Enabled := true else Bit7.Enabled := false;
if b8.Enabled = true then Bit8.Enabled := true else Bit8.Enabled := false;
end;
procedure Tsyd.Bit6Click(Sender: TObject);
begin
try
ADOTable1.Post;
except
Application.MessageBox('您的操作不正確,導致單據異常,不能保存.', '提示', MB_OK + MB_ICONERROR);
end;
end;
procedure Tsyd.Bit7Click(Sender: TObject);
begin
ADOTable1.Cancel;
end;
procedure Tsyd.Bit1Click(Sender: TObject);
begin
if Bit6.Enabled = true then
begin
if Application.MessageBox('單據已修改,是否要保存?', '提示', MB_YESNO + MB_ICONQUESTION) = IDYES then ADOTable1.post else ADOTable1.Cancel;
end;
ADOTable1.First;
end;
procedure Tsyd.Bit4Click(Sender: TObject);
begin
if Bit6.Enabled = true then
begin
if Application.MessageBox('單據已修改,是否要保存?', '提示', MB_YESNO + MB_ICONQUESTION) = IDYES then ADOTable1.post else ADOTable1.Cancel;
end;
ADOTable1.Last;
end;
procedure Tsyd.N9Click(Sender: TObject);
begin
if ADOTable1.FieldByName('zt').asstring = '審核入賬' then
begin
Application.MessageBox('單據已經入賬,不能再做修改.', '提示', MB_OK + MB_ICONERROR);
exit;
end;
if ADOTable1.RecordCount = 0 then exit;
Application.CreateForm(Tsydxzsp, sydxzsp);
sydxzsp.ShowModal;
end;
procedure Tsyd.N10Click(Sender: TObject);
begin
if ADOTable1.FieldByName('zt').asstring = '審核入賬' then
begin
Application.MessageBox('單據已經入賬,不能再做修改.', '提示', MB_OK + MB_ICONERROR);
exit;
end;
if ADOTable2.FieldByName('spname').asstring = '' then exit;
if ADOTable2.FieldByName('spcode').asstring = '' then exit;
if Application.MessageBox(Pchar('是否要刪除當前貨品? 品名:' + ADOTable2.FieldByName('spname').asstring), '提示', MB_YESNO + MB_ICONQUESTION) = IDNO then exit;
ADOTable2.Delete;
end;
procedure Tsyd.FormCreate(Sender: TObject);
begin
ADOTable1.Last;
end;
procedure Tsyd.N2Click(Sender: TObject);
begin
if ADOTable1.FieldByName('zt').asstring = '審核入賬' then
begin
Application.MessageBox('單據已經入賬,不能再做修改.', '提示', MB_OK + MB_ICONERROR);
exit;
end;
if ADOTable1.RecordCount = 0 then exit;
Application.CreateForm(Txgsydh, xgsydh);
xgsydh.Edit1.Text := ADOTable1.FieldByName('code').asstring;
xgsydh.ShowModal;
end;
procedure Tsyd.Ed1ButtonClick(Sender: TObject; AbsoluteIndex: Integer);
begin
N13.Click;
end;
procedure Tsyd.N13Click(Sender: TObject);
begin
if Bit6.Enabled = true then
begin
if Application.MessageBox('單據已修改,是否要保存?', '提示', MB_YESNO + MB_ICONQUESTION) = IDYES then
ADOTable1.post else ADOTable1.Cancel;
end;
Application.CreateForm(Tsydcx, sydcx);
sydcx.ShowModal;
end;
procedure Tsyd.N11Click(Sender: TObject);
begin
if ADOTable2.FieldByName('spname').asstring = '' then exit;
end;
procedure Tsyd.ADOTable1AfterScroll(DataSet: TDataSet);
begin
if ADOTable1.RecordCount = 0 then
begin
Ed2.ReadOnly := true;
Ed3.ReadOnly := true;
Ed4.ReadOnly := true;
Ed7.ReadOnly := true;
DBGridEh1.Columns[0].ReadOnly := true;
DBGridEh1.Columns[4].ReadOnly := true;
DBGridEh1.Columns[5].ReadOnly := true;
DBGridEh1.Columns[6].ReadOnly := true;
DBGridEh1.Columns[7].ReadOnly := true;
DBGridEh1.Columns[8].ReadOnly := true;
end
else
begin
Ed2.ReadOnly := false;
Ed3.ReadOnly := false;
Ed4.ReadOnly := false;
Ed7.ReadOnly := false;
DBGridEh1.Columns[0].ReadOnly := false;
DBGridEh1.Columns[4].ReadOnly := false;
DBGridEh1.Columns[5].ReadOnly := false;
DBGridEh1.Columns[6].ReadOnly := false;
DBGridEh1.Columns[7].ReadOnly := false;
DBGridEh1.Columns[8].ReadOnly := false;
end;
if Bit6.Enabled = true then
begin
DBGridEh1.Columns[0].ReadOnly := true;
DBGridEh1.Columns[4].ReadOnly := true;
DBGridEh1.Columns[5].ReadOnly := true;
DBGridEh1.Columns[6].ReadOnly := true;
DBGridEh1.Columns[7].ReadOnly := true;
DBGridEh1.Columns[8].ReadOnly := true;
end
else
begin
DBGridEh1.Columns[0].ReadOnly := false;
DBGridEh1.Columns[4].ReadOnly := false;
DBGridEh1.Columns[5].ReadOnly := false;
DBGridEh1.Columns[6].ReadOnly := false;
DBGridEh1.Columns[7].ReadOnly := false;
DBGridEh1.Columns[8].ReadOnly := false;
end;
if ADOTable1.FieldByName('zt').asstring = '審核入賬' then
begin
Ed2.ReadOnly := true;
Ed3.ReadOnly := true;
Ed4.ReadOnly := true;
Ed7.ReadOnly := true;
DBGridEh1.Columns[0].ReadOnly := true;
DBGridEh1.Columns[4].ReadOnly := true;
DBGridEh1.Columns[5].ReadOnly := true;
DBGridEh1.Columns[6].ReadOnly := true;
DBGridEh1.Columns[7].ReadOnly := true;
DBGridEh1.Columns[8].ReadOnly := true;
end
else
begin
Ed2.ReadOnly := false;
Ed3.ReadOnly := false;
Ed4.ReadOnly := false;
Ed7.ReadOnly := false;
DBGridEh1.Columns[0].ReadOnly := false;
DBGridEh1.Columns[4].ReadOnly := false;
DBGridEh1.Columns[5].ReadOnly := false;
DBGridEh1.Columns[6].ReadOnly := false;
DBGridEh1.Columns[7].ReadOnly := false;
DBGridEh1.Columns[8].ReadOnly := false;
end;
end;
procedure Tsyd.BitBtn6Click(Sender: TObject);
begin
if ADOTable1zt.Value = '未審核' then
begin
if Application.MessageBox('單據未審核,是否繼續打印?', '提示', MB_YESNO + MB_ICONQUESTION) = IDNO then exit;
end;
Application.CreateForm(Tdysyd, dysyd);
dysyd.ADOQuery1.Close;
dysyd.ADOQuery1.Sql.clear;
dysyd.ADOQuery1.Sql.add('select * from syd001 where code=:code');
dysyd.ADOQuery1.Parameters[0].Value := ADOTable1.fieldbyname('code').Value;
dysyd.ADOQuery1.Open;
dysyd.ADOQuery2.Close;
dysyd.ADOQuery2.Sql.clear;
dysyd.ADOQuery2.Sql.add('select * from syd002 where code=:code order by id');
dysyd.ADOQuery2.Parameters[0].Value := ADOTable1.fieldbyname('code').Value;
dysyd.ADOQuery2.Open;
dysyd.ShowModal;
end;
procedure Tsyd.Panel1Resize(Sender: TObject);
begin
Panel4.Left := (Panel1.Width - Panel4.Width) div 2;
end;
procedure Tsyd.Panel2Resize(Sender: TObject);
begin
Ed7.Width := Panel2.Width - 52;
end;
procedure Tsyd.FormResize(Sender: TObject);
begin
with syd do
begin
if Height < 350 then Height := 350;
if Width < 567 then Width := 567;
end;
end;
procedure Tsyd.DBGridEh1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 189 then
begin
N10.Click;
end;
end;
procedure Tsyd.N3Click(Sender: TObject);
begin
if ADOTable1.FieldByName('lx').asstring = '' then
begin
Application.MessageBox('請選擇類型.', '提示', MB_OK + MB_ICONWARNING);
exit;
end;
if ADOTable1.FieldByName('ck').asstring = '' then
begin
Application.MessageBox('請選擇倉庫.', '提示', MB_OK + MB_ICONWARNING);
exit;
end;
if ADOTable1.FieldByName('ywy').asstring = '' then
begin
Application.MessageBox('請選擇業務員.', '提示', MB_OK + MB_ICONWARNING);
exit;
end;
if Application.MessageBox('審核入賬后將不能修改單據,是否繼續?', '提示', MB_YESNO + MB_ICONQUESTION) = IDNO then exit;
try
ADOTable1.Edit;
ADOTable1shrq.Value := strtodate(datetostr(MainForm.DateTimePicker1.Date));
ADOTable1shr.Value := MainForm.Label4.Caption;
ADOTable1.FieldByName('zt').asstring := '審核入賬';
ADOTable1.Post;
except
end;
Application.MessageBox('此單據已審核入賬成功.', '提示', MB_OK + MB_ICONINFORMATION);
try
ADOTable1.Refresh;
except
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -