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 + -
显示快捷键?