xsskd1.pas
来自「思微POS连锁超市管理系统 (商业代码),几年前的东西了」· PAS 代码 · 共 643 行 · 第 1/2 页
PAS
643 行
end;
procedure Txsskd.Bit6Click(Sender: TObject);
begin
try
ADOTable1.Post;
except
Application.MessageBox('您的操作不正确,导致单据异常,不能保存.', '提示', MB_OK + MB_ICONERROR);
end;
try
ADOTable1.Refresh;
ADOTable2.Refresh;
except
end;
end;
procedure Txsskd.Bit7Click(Sender: TObject);
begin
ADOTable1.Cancel;
end;
procedure Txsskd.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 Txsskd.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 Txsskd.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 Txsskd.FormCreate(Sender: TObject);
begin
ADOTable1.Last;
end;
procedure Txsskd.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(Txgxsskdh, xgxsskdh);
xgxsskdh.Edit1.Text := ADOTable1.FieldByName('code').asstring;
xgxsskdh.ShowModal;
end;
procedure Txsskd.Ed1ButtonClick(Sender: TObject; AbsoluteIndex: Integer);
begin
N13.Click;
end;
procedure Txsskd.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(Txsskdcx, xsskdcx);
xsskdcx.ShowModal;
end;
procedure Txsskd.N11Click(Sender: TObject);
begin
if ADOTable2.FieldByName('spname').asstring = '' then exit;
end;
procedure Txsskd.BitBtn6Click(Sender: TObject);
begin
if ADOTable1zt.Value = '未审核' then
begin
Application.MessageBox('单据未审核,不能打印.', '提示', MB_OK + MB_ICONERROR);
exit;
end;
Application.CreateForm(Tdyxsskd, dyxsskd);
dyxsskd.ADOQuery1.Close;
dyxsskd.ADOQuery1.Sql.clear;
dyxsskd.ADOQuery1.Sql.add('select * from xssk001 where code=:code');
dyxsskd.ADOQuery1.Parameters[0].Value := ADOTable1.fieldbyname('code').Value;
dyxsskd.ADOQuery1.Open;
dyxsskd.ADOQuery2.Close;
dyxsskd.ADOQuery2.Sql.clear;
dyxsskd.ADOQuery2.Sql.add('select * from xssk002 where code=:code order by id');
dyxsskd.ADOQuery2.Parameters[0].Value := ADOTable1.fieldbyname('code').Value;
dyxsskd.ADOQuery2.Open;
dyxsskd.ShowModal;
end;
procedure Txsskd.Panel1Resize(Sender: TObject);
begin
Panel4.Left := (Panel1.Width - Panel4.Width) div 2;
end;
procedure Txsskd.Panel2Resize(Sender: TObject);
begin
Ed7.Width := Panel2.Width - 52;
end;
procedure Txsskd.FormResize(Sender: TObject);
begin
with xsskd do
begin
if Height < 350 then Height := 350;
if Width < 567 then Width := 567;
end;
end;
procedure Txsskd.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;
DBGridEh1fkje.ReadOnly := true;
DBGridEh1bz.ReadOnly := true;
end
else
begin
Ed2.ReadOnly := false;
Ed3.ReadOnly := false;
Ed4.ReadOnly := false;
Ed5.ReadOnly := false;
Ed6.ReadOnly := false;
Ed7.ReadOnly := false;
DBGridEh1fkje.ReadOnly := false;
DBGridEh1bz.ReadOnly := false;
end;
if Bit6.Enabled = true then
begin
DBGridEh1fkje.ReadOnly := true;
DBGridEh1bz.ReadOnly := true;
end
else
begin
DBGridEh1fkje.ReadOnly := false;
DBGridEh1bz.ReadOnly := false;
end;
if Ed5.Text = '' then
begin
DBGridEh1fkje.ReadOnly := true;
DBGridEh1bz.ReadOnly := true;
end
else
begin
DBGridEh1fkje.ReadOnly := false;
DBGridEh1bz.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;
DBGridEh1fkje.ReadOnly := true;
DBGridEh1bz.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;
DBGridEh1fkje.ReadOnly := false;
DBGridEh1bz.ReadOnly := false;
end;
end;
procedure Txsskd.Ed4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then DBGridEh1.SetFocus;
end;
procedure Txsskd.N3Click(Sender: TObject);
begin
if ADOTable1.FieldByName('kh').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;
ADOTable2.Edit;
ADOTable2.Post;
if (DBGridEh1fkje.SummaryFooterValue > Ed5.Value) and (DBGridEh1fkje.SummaryFooterValue <> 0) 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
exit;
end;
Application.MessageBox('此单据已审核入账成功.', '提示', MB_OK + MB_ICONINFORMATION);
try
ADOTable1.Refresh;
except
end;
end;
procedure Txsskd.ED5KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then DBGridEh1.SetFocus;
end;
procedure Txsskd.Ed3Enter(Sender: TObject);
begin
Ytxt := Ed3.text;
end;
procedure Txsskd.Ed3CloseUp(Sender: TObject; var Text: string;
var Accept: Boolean);
begin
if Text <> Ytxt then
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('delete from XSSK002 where code=:code');
Query1.Parameters[0].Value := Ed1.Text;
Query1.ExecSQL;
ADOTable2.Close;
ADOTable2.Open;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from XSCHCX_V where zt=:zt and khname like :kh and zje>yfje');
Query1.Parameters[0].Value := '审核入账';
Query1.Parameters[1].Value := Text + '%';
Query1.Open;
Query1.First;
while not Query1.Eof do
begin
ADOTable2.Append;
ADOTable2.FieldByName('cgdh').Value := Query1.fieldbyname('code').Value;
ADOTable2.FieldByName('djje').Value := Query1.fieldbyname('zje').Value;
ADOTable2.FieldByName('yfje').Value := Query1.fieldbyname('yfje').Value;
ADOTable2.FieldByName('fkje').Value := 0;
ADOTable2.Post;
Query1.Next;
end;
Ytxt := Text;
end;
end;
procedure Txsskd.DBGridEh1Exit(Sender: TObject);
begin
if ADOTable2.State in dsEditModes then
begin
ADOTable2.Edit;
ADOTable2.Post;
end;
end;
procedure Txsskd.ADOTable2AfterScroll(DataSet: TDataSet);
begin
DBGridEh1fkje.MinValue := 0;
DBGridEh1fkje.MaxValue := (DBGridEh1djje.Field.AsFloat - DBGridEh1yfje.Field.AsFloat);
end;
procedure Txsskd.N4Click(Sender: TObject);
begin
if ADOTable1.FieldByName('zt').asstring = '审核入账' then
begin
Application.MessageBox('单据已经入账,不能再做修改.', '提示', MB_OK + MB_ICONERROR);
exit;
end;
if ADOTable2.FieldByName('ID').asstring = '' then exit;
if Application.MessageBox('是否要删除当前记录?', '提示', MB_YESNO + MB_ICONQUESTION) = IDNO then exit;
ADOTable2.Delete;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?