⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xschd1.pas

📁 思微POS连锁超市管理系统 (商业代码),几年前的东西了
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  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 + -