📄 ckdd1.pas
字号:
Ed1.SetFocus;
ADOTable1.Delete;
if ADOtable1.RecordCount = 0 then Bit8.Enabled := false;
end;
procedure TCKDD.NewCode(Sender: integer);
var code: string;
begin
Query1.Close;
Query1.sql.text := 'select count(*) from CKDD001 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 CKDD001 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 := '未审核';
end;
end;
procedure TCKDD.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;
Ed5.ReadOnly := false;
Ed4.ReadOnly := false;
Ed7.ReadOnly := false;
end;
procedure TCKDD.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 TCKDD.Bit6Click(Sender: TObject);
begin
try
ADOTable1.Post;
except
Application.MessageBox('您的操作不正确,导致单据异常,不能保存.', '提示', MB_OK + MB_ICONERROR);
end;
end;
procedure TCKDD.Bit7Click(Sender: TObject);
begin
ADOTable1.Cancel;
end;
procedure TCKDD.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 TCKDD.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 TCKDD.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(TCKDDxzsp, CKDDxzsp);
CKDDxzsp.ShowModal;
end;
procedure TCKDD.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 TCKDD.FormCreate(Sender: TObject);
begin
ADOTable1.Last;
end;
procedure TCKDD.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(TxgCKDDh, xgCKDDh);
xgCKDDh.Edit1.Text := ADOTable1.FieldByName('code').asstring;
xgCKDDh.ShowModal;
end;
procedure TCKDD.Ed1ButtonClick(Sender: TObject; AbsoluteIndex: Integer);
begin
N13.Click;
end;
procedure TCKDD.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(TCKDDcx, CKDDcx);
CKDDcx.ShowModal;
end;
procedure TCKDD.N11Click(Sender: TObject);
begin
if ADOTable2.FieldByName('spname').asstring = '' then exit;
end;
procedure TCKDD.ADOTable1AfterScroll(DataSet: TDataSet);
begin
if ADOTable1.RecordCount = 0 then
begin
Ed2.ReadOnly := true;
Ed3.ReadOnly := true;
Ed5.ReadOnly := false;
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;
Ed5.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;
Ed5.ReadOnly := false;
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;
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 TCKDD.BitBtn6Click(Sender: TObject);
begin
if ADOTable1zt.Value = '未审核' then
begin
if Application.MessageBox('单据未审核,是否继续打印?', '提示', MB_YESNO + MB_ICONQUESTION) = IDNO then exit;
end;
Application.CreateForm(TdyCKDD, dyCKDD);
dyckdd.ADOQuery1.Close;
dyckdd.ADOQuery1.Sql.clear;
dyckdd.ADOQuery1.Sql.add('select * from ckdd001 where code=:code');
dyckdd.ADOQuery1.Parameters[0].Value := ADOTable1.fieldbyname('code').Value;
dyckdd.ADOQuery1.Open;
dyckdd.ADOQuery2.Close;
dyckdd.ADOQuery2.Sql.clear;
dyckdd.ADOQuery2.Sql.add('select * from ckdd002 where code=:code order by id');
dyckdd.ADOQuery2.Parameters[0].Value := ADOTable1.fieldbyname('code').Value;
dyckdd.ADOQuery2.Open;
dyCKDD.ShowModal;
end;
procedure TCKDD.Panel1Resize(Sender: TObject);
begin
Panel4.Left := (Panel1.Width - Panel4.Width) div 2;
end;
procedure TCKDD.Panel2Resize(Sender: TObject);
begin
Ed7.Width := Panel2.Width - 52;
end;
procedure TCKDD.FormResize(Sender: TObject);
begin
with CKDD do
begin
if Height < 350 then Height := 350;
if Width < 567 then Width := 567;
end;
end;
procedure TCKDD.DBGridEh1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 189 then
begin
N10.Click;
end;
end;
procedure TCKDD.N3Click(Sender: TObject);
begin
if ADOTable1.FieldByName('dcck').asstring = '' then
begin
Application.MessageBox('请选择调出仓库.', '提示', MB_OK + MB_ICONWARNING);
exit;
end;
if ADOTable1.FieldByName('drck').asstring = '' then
begin
Application.MessageBox('请选择调入仓库.', '提示', MB_OK + MB_ICONWARNING);
exit;
end;
if ADOTable1.FieldByName('dcck').asstring = ADOTable1.FieldByName('drck').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 + -