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

📄 xsthd1.pas

📁 思微POS连锁超市管理系统 (商业代码),几年前的东西了
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  Query1.open;
  code := floattostr(Query1.Fields[0].asfloat + strtofloat(formatdatetime('yyyymmdd""001', MainForm.DateTimePicker1.Date)) + Sender);
  Query1.Close;
  Query1.sql.text := 'select count(*) from XSTH001 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('kdr').Value := MainForm.Label4.Caption;
    ADOTable1.FieldByName('fplx').Value := '增值税发票';
    ADOTable1.FieldByName('zt').Value := '未审核';
  end;
end;

procedure Txsthd.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 Txsthd.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 Txsthd.Bit6Click(Sender: TObject);
begin
  try
    ADOTable1.Post;
  except
    Application.MessageBox('您的操作不正确,导致单据异常,不能保存.', '提示', MB_OK + MB_ICONERROR);
  end;
  try
    ADOTable1.Refresh;
    ADOTable2.Refresh;
  except
  end;
end;

procedure Txsthd.Bit7Click(Sender: TObject);
begin
  ADOTable1.Cancel;
end;

procedure Txsthd.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 Txsthd.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 Txsthd.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(Txsthxzsp, xsthxzsp);
  xsthxzsp.ShowModal;
end;

procedure Txsthd.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 XSTH001 set zje=(SELECT sum(je) from XSTH002 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 Txsthd.FormCreate(Sender: TObject);
begin
  ADOTable1.Last;
end;

procedure Txsthd.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(Txgxsthdh, xgxsthdh);
  xgxsthdh.Edit1.Text := ADOTable1.FieldByName('code').asstring;
  xgxsthdh.ShowModal;
end;

procedure Txsthd.Ed1ButtonClick(Sender: TObject; AbsoluteIndex: Integer);
begin
  N13.Click;
end;

procedure Txsthd.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(Txsthdcx, xsthdcx);
  xsthdcx.ShowModal;
end;

procedure Txsthd.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(Txsthxzdj, xsthxzdj);
  xsthxzdj.ShowModal;
end;

procedure Txsthd.BitBtn6Click(Sender: TObject);
begin
  if ADOTable1zt.Value = '未审核' then
  begin
    if Application.MessageBox('单据未审核,是否继续打印?', '提示', MB_YESNO + MB_ICONQUESTION) = IDNO then exit;
  end;
  Application.CreateForm(Tdyxsthd, dyxsthd);
  dyxsthd.ADOQuery1.Close;
  dyxsthd.ADOQuery1.Sql.clear;
  dyxsthd.ADOQuery1.Sql.add('select * from xsth001 where code=:code');
  dyxsthd.ADOQuery1.Parameters[0].Value := ADOTable1.fieldbyname('code').Value;
  dyxsthd.ADOQuery1.Open;
  dyxsthd.ADOQuery2.Close;
  dyxsthd.ADOQuery2.Sql.clear;
  dyxsthd.ADOQuery2.Sql.add('select * from xsth002 where code=:code order by id');
  dyxsthd.ADOQuery2.Parameters[0].Value := ADOTable1.fieldbyname('code').Value;
  dyxsthd.ADOQuery2.Open;
  dyxsthd.ShowModal;
end;

procedure Txsthd.Panel1Resize(Sender: TObject);
begin
  Panel4.Left := (Panel1.Width - Panel4.Width) div 2;
end;

procedure Txsthd.Panel2Resize(Sender: TObject);
begin
  Ed7.Width := Panel2.Width - 52;
end;

procedure Txsthd.FormResize(Sender: TObject);
begin
  with xsthd do
  begin
    if Height < 350 then Height := 350;
    if Width < 567 then Width := 567;
  end;
end;

procedure Txsthd.DBGridEh1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = 189 then
  begin
    N10.Click;
  end;
end;

procedure Txsthd.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 Txsthd.Ed4KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = 13 then DBGridEh1.SetFocus;
end;

procedure Txsthd.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;
  Application.CreateForm(Txsthshrz, xsthshrz);
  xsthshrz.ShowModal;
end;

procedure Txsthd.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(Txsthxzchd, xsthxzchd);
  xsthxzchd.ShowModal;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -