?? xschd1.pas
字號:
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('kdr').Value := MainForm.Label4.Caption;
ADOTable1.FieldByName('fplx').Value := '增值稅發票';
ADOTable1.FieldByName('zt').Value := '未審核';
end;
end;
procedure Txschd.Bit5Click(Sender: TObject);
begin
ADOTable1.Append;
Newcode(0);
try
ADOTable1.Post;
except
Application.MessageBox('單號被占用,請重試一次.', '提示', MB_OK + MB_ICONERROR);
ADOTable1.Cancel;
exit;
end;
try
ADOTable1.Refresh;
ADOTable2.Refresh;
except
end;
ADOTable1.Edit;
Bit5.Enabled := false;
Ed2.ReadOnly := false;
Ed3.ReadOnly := false;
Ed4.ReadOnly := false;
Ed5.ReadOnly := false;
Ed6.ReadOnly := false;
Ed7.ReadOnly := false;
end;
procedure Txschd.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 Txschd.Bit6Click(Sender: TObject);
begin
try
ADOTable1.Post;
except
Application.MessageBox('您的操作不正確,導致單據異常,不能保存.', '提示', MB_OK + MB_ICONERROR);
end;
try
ADOTable1.Refresh;
ADOTable2.Refresh;
except
end;
end;
procedure Txschd.Bit7Click(Sender: TObject);
begin
ADOTable1.Cancel;
end;
procedure Txschd.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 Txschd.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 Txschd.N9Click(Sender: TObject);
begin
if ADOTable1.FieldByName('zt').asstring = '審核入賬' then
begin
Application.MessageBox('單據已經入賬,不能再做修改.', '提示', MB_OK + MB_ICONERROR);
exit;
end;
if Ed5.Text = '' then
begin
Application.MessageBox('請選擇出貨倉.', '提示', MB_OK + MB_ICONERROR);
exit;
end;
if ADOTable1.RecordCount = 0 then exit;
Application.CreateForm(Txschxzsp, xschxzsp);
xschxzsp.ShowModal;
end;
procedure Txschd.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;
Query1.close;
Query1.sql.clear;
Query1.sql.add('update XSCH001 set zje=(SELECT sum(je) from XSCH002 where code=:code) where code=:dh');
Query1.Parameters[0].Value := ADOTable1.fieldbyname('code').Value;
Query1.Parameters[1].Value := ADOTable1.fieldbyname('code').Value;
Query1.ExecSQL;
end;
procedure Txschd.FormCreate(Sender: TObject);
begin
ADOTable1.Last;
end;
procedure Txschd.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(Txgxschdh, xgxschdh);
xgxschdh.Edit1.Text := ADOTable1.FieldByName('code').asstring;
xgxschdh.ShowModal;
end;
procedure Txschd.Ed1ButtonClick(Sender: TObject; AbsoluteIndex: Integer);
begin
N13.Click;
end;
procedure Txschd.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(Txschdcx, xschdcx);
xschdcx.ShowModal;
end;
procedure Txschd.N11Click(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;
Application.CreateForm(Txschxzdj, xschxzdj);
xschxzdj.ShowModal;
end;
procedure Txschd.BitBtn6Click(Sender: TObject);
begin
if ADOTable1zt.Value = '未審核' then
begin
if Application.MessageBox('單據未審核,是否繼續打印?', '提示', MB_YESNO + MB_ICONQUESTION) = IDNO then exit;
end;
Application.CreateForm(Tdyxschd, dyxschd);
dyxschd.ADOQuery1.Close;
dyxschd.ADOQuery1.Sql.clear;
dyxschd.ADOQuery1.Sql.add('select * from xsch001 where code=:code');
dyxschd.ADOQuery1.Parameters[0].Value := ADOTable1.fieldbyname('code').Value;
dyxschd.ADOQuery1.Open;
dyxschd.ADOQuery2.Close;
dyxschd.ADOQuery2.Sql.clear;
dyxschd.ADOQuery2.Sql.add('select * from xsch002 where code=:code order by id');
dyxschd.ADOQuery2.Parameters[0].Value := ADOTable1.fieldbyname('code').Value;
dyxschd.ADOQuery2.Open;
dyxschd.ShowModal;
end;
procedure Txschd.Panel1Resize(Sender: TObject);
begin
Panel4.Left := (Panel1.Width - Panel4.Width) div 2;
end;
procedure Txschd.Panel2Resize(Sender: TObject);
begin
Ed7.Width := Panel2.Width - 52;
end;
procedure Txschd.FormResize(Sender: TObject);
begin
with xschd do
begin
if Height < 350 then Height := 350;
if Width < 567 then Width := 567;
end;
end;
procedure Txschd.DBGridEh1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 189 then
begin
N10.Click;
end;
end;
procedure Txschd.ADOTable1AfterScroll(DataSet: TDataSet);
begin
if ADOTable1.RecordCount = 0 then
begin
Ed2.ReadOnly := true;
Ed3.ReadOnly := true;
Ed4.ReadOnly := true;
Ed5.ReadOnly := true;
Ed6.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;
Ed5.ReadOnly := false;
Ed6.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 Ed5.Text = '' 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;
Ed5.ReadOnly := true;
Ed6.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;
N3.Enabled := false;
end
else
begin
N3.Enabled := true;
Ed2.ReadOnly := false;
Ed3.ReadOnly := false;
Ed4.ReadOnly := false;
Ed5.ReadOnly := false;
Ed6.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 Txschd.Ed4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then DBGridEh1.SetFocus;
end;
procedure Txschd.N3Click(Sender: TObject);
begin
if ADOTable1.FieldByName('kh').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 ADOTable2.FieldByName('spname').asstring = '' then
begin
Application.MessageBox('請錄入貨品明細.', '提示', MB_OK + MB_ICONWARNING);
exit;
end;
ADOTable2.Edit;
ADOTable2.Post;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select spname from xsch002 a where sl>(select kcsl from spkcda b where a.spcode=b.spcode and ckcode=:ckcode) and code=:code');
Query1.Parameters[0].Value := ADOTable1.FieldByName('ck').asstring;
Query1.Parameters[1].Value := ADOTable1.FieldByName('code').asstring;
Query1.Open;
if Query1.RecordCount > 0 then
begin
Application.MessageBox(PCHAR('出貨量大于庫存量.商品:' + Query1.fieldbyname('spname').asstring), '提示', MB_OK + MB_ICONWARNING);
exit;
end;
Application.CreateForm(Txschshrz, xschshrz);
xschshrz.ShowModal;
end;
procedure Txschd.N4Click(Sender: TObject);
begin
if ADOTable1.FieldByName('zt').asstring = '審核入賬' then
begin
Application.MessageBox('單據已經入賬,不能再做修改.', '提示', MB_OK + MB_ICONERROR);
exit;
end;
if Ed5.Text = '' then
begin
Application.MessageBox('請選擇出貨倉.', '提示', MB_OK + MB_ICONERROR);
exit;
end;
if ADOTable1.RecordCount = 0 then exit;
Application.CreateForm(Txschxzxsdd, xschxzxsdd);
xschxzxsdd.ShowModal;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -