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

📄 ser500_02.pas.svn-base

📁 一个用Delphi开发的ERP软件
💻 SVN-BASE
📖 第 1 页 / 共 4 页
字号:
  end;
  qryOrd153.Close;
  qryOrd153.SQL.Clear;
  qryOrd153.SQL.Add('select C.I150_002,A.O153_003,C.I150_003,C.I150_004,D.I120_003,E.O150_002,E.O150_003,C.I150_001,A.O153_007,A.O153_008,A.O153_009,A.O153_010,A.O153_012');
  qryOrd153.SQL.Add('from ORD153 A, ORD150 B, INV150 C, INV120 D, ORD150 E');
  qryOrd153.SQL.Add('where A.O153_001=B.O150_001 and A.O153_002=C.I150_001 and C.I150_005=D.I120_001 and C.I150_010=E.O150_001');
  qryOrd153.SQL.Add(' and B.O150_002='+''''+edtCust.Text+'''');
  qryOrd153.Open;
  if qryOrd153.Locate('O153_003',edtMacNo.Text,[]) then
  begin
    edtItem.Text:=qryOrd153.FieldByName('I150_002').AsString;
    edtItemName.Text:=qryOrd153.FieldByName('I150_003').AsString;
    edtMacNo.Text:=qryOrd153.FieldByName('O153_003').AsString;

    edtFromDate1.Date:=qryOrd153O153_007.Value;
    edtToDate1.Date:=qryOrd153O153_008.Value;
    edtFromDate2.Date:=qryOrd153O153_009.Value;
    edtToDate2.Date:=qryOrd153O153_010.Value;
    cbItemFrom.ItemIndex:=qryOrd153O153_012.AsInteger;
    if cbPrice.Enabled then
    begin
      if ((edtDate.Date>=edtFromDate1.Date) and (edtDate.Date<=edtToDate1.Date)) or
         ((edtDate.Date>=edtFromDate2.Date) and (edtDate.Date<=edtToDate2.Date)) then
        cbPrice.Checked:=False
      else
        cbPrice.Checked:=True;
    end;
  end else
  begin
    edtItem.Text:='';
    edtItemName.Text:='';
    edtMacNo.Text:='';
    ShowMsg('UMS10000268');  //输入的机身编号无效
    edtMacNo.SetFocus;
    Abort;
  end;
end;

procedure TSer500_02Form.edtMiniueKeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  ValidFloat(Sender,Key);
end;

procedure TSer500_02Form.ActFirstExecute(Sender: TObject);
begin
  inherited;
//最前
  if qrySer500.IsEmpty then Exit;
  qrySer500.First;
  ActFirst.Enabled:=False;
  ActPrior.Enabled:=False;
  ActNext.Enabled:=True;
  ActLast.Enabled:=True;
end;

procedure TSer500_02Form.ActPriorExecute(Sender: TObject);
begin
  inherited;
//上移
  if qrySer500.IsEmpty then Exit;
  qrySer500.Prior;
  ActNext.Enabled:=not qrySer500.Eof;
  ActLast.Enabled:=not qrySer500.Eof;
  ActFirst.Enabled:=not qrySer500.Bof;
  ActPrior.Enabled:=not qrySer500.Bof;
end;

procedure TSer500_02Form.ActNextExecute(Sender: TObject);
begin
  inherited;
//下移
  if qrySer500.IsEmpty then Exit;
  qrySer500.Next;
  ActNext.Enabled:=not qrySer500.Eof;
  ActLast.Enabled:=not qrySer500.Eof;
  ActFirst.Enabled:=not qrySer500.Bof;
  ActPrior.Enabled:=not qrySer500.Bof;
end;

procedure TSer500_02Form.ActLastExecute(Sender: TObject);
begin
  inherited;
//最后
  if qrySer500.IsEmpty then Exit;
  qrySer500.Last;
  ActNext.Enabled:=False;
  ActLast.Enabled:=False;
  ActFirst.Enabled:=True;
  ActPrior.Enabled:=True;
end;

procedure TSer500_02Form.ActInsertExecute(Sender: TObject);
var
  ADate:TDateTime;
  S:String;
begin
  inherited;
//新增
  Screen.Cursor:=crHourGlass;
  AMode:='ADD';
  edtCode.Text:='';
  edtName.Text:='';
  edtStatus.Text:=GetValue('select S110_003 from SER110 where S110_001=1');
  cbClass.Text:='';
  //优先级缺省值
  S:=GetSysParams('TAS0008');
  if S<>'' then
  begin
    edtPriority.Text:=S;
    udPriority.Position:=StrToInt(S);
  end;
  cbFrom.ItemIndex:=0;  //来电类型=电话
  ADate:=GetServerDate;
  edtDate.Date:=ADate;
  edtTime.Text:=FormatDateTime('hh:mm',ADate);
  edtMiniue.Text:='1';
  edtAppelater.Text:='';
  edtAppelateName.Text:='';
  edtCallName.Text:='';
  edtDeptName.Text:='';
  edtPosit.Text:='';
  edtContact.Text:='';
  cbType.ItemIndex:=2;  //单据类型=手工输入
  cbTypeChange(cbType);
  edtBillNo.Text:='';
  cbSend.Enabled:=True;
  cbSend.Checked:=False;
  edtCust.Text:='';
  edtCustName.Text:='';
  edtPhone.Text:='';
  edtAddress.Text:='';
  edtFax.Text:='';
  edtItem.Text:='';
  edtItemName.Text:='';
  edtMacNo.Text:='';
  cbPrice.Enabled:=True;
  cbPrice.Checked:=False;
  memDetails.Clear;
  edtCreateDate.Text:=FormatDateTime('yyyy-mm-dd hh:mm:ss',ADate);
  edtCreateBy.Text:=AUserName;
  edtUpdateDate.Text:=FormatDateTime('yyyy-mm-dd hh:mm:ss',ADate);
  edtUpdateBy.Text:=AUserName;

  SetButtonState(True);
  if Visible then
    if edtCode.Enabled then edtCode.SetFocus else edtName.SetFocus;
  Screen.Cursor:=crDefault;
end;

procedure TSer500_02Form.ActUpdateExecute(Sender: TObject);
begin
  inherited;
//修改
  if qrySer500.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  if qrySer500S500_003.AsInteger<>1 then
  begin
    ShowMsg('UMS10000302');  //不允许修改非计划状态的记录
    Abort;
  end;

  Screen.Cursor:=crHourGlass;
  AMode:='UPD';
  SetButtonState(True);
  if Visible then
    if edtCode.Enabled then edtCode.SetFocus else edtName.SetFocus;
  Screen.Cursor:=crDefault;
end;

procedure TSer500_02Form.ActDeleteExecute(Sender: TObject);
var
  ACode:string;
begin
  inherited;
//删除
  if qrySer500.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;

  //仅状态=计划时可删除
  if qrySer500S500_003.AsInteger<>1 then
  begin
    ShowMsg('UMS10000263');  //不允许删除非计划状态的记录
    Abort;
  end;
  if ShowDialog('UMS10000008')=IDNO then Abort;  //确定要删除此记录吗?
  ACode:=qrySer500S500_001.AsString;
  DeleteTableRecord(qrySer500,'SER500','S500_001='+''''+ACode+'''');
end;

procedure TSer500_02Form.ActSaveExecute(Sender: TObject);
begin
  inherited;
//保存
  try
    Screen.Cursor:=crHourGlass;
    SaveData;
  finally
    Screen.Cursor:=crDefault;
  end;
end;

procedure TSer500_02Form.ActCancelExecute(Sender: TObject);
begin
  inherited;
//取消
  SetButtonState(False);
  qrySer500AfterScroll(qrySer500);
end;

procedure TSer500_02Form.ActRefreshExecute(Sender: TObject);
var
  ACode:string;
begin
  inherited;
//刷新
  ACode:=qrySer500.FieldByName('S500_001').AsString;
  qrySer500.DisableControls;
  qrySer500.Close;
  qrySer500.Open;
  qrySer500.Locate('S500_001',ACode,[]);
  qrySer500.EnableControls;
end;

procedure TSer500_02Form.ActLocateExecute(Sender: TObject);
begin
  inherited;
//查找
  if qrySer500.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  LocateDialog(dsSer500);
end;

procedure TSer500_02Form.ActSearchExecute(Sender: TObject);
begin
  inherited;
//查询
  FilterDialog(dsSer500);
end;

procedure TSer500_02Form.ActPrintExecute(Sender: TObject);
begin
  inherited;
//打印
  SelectReport(qrySer500,AProgramID,AReportName,ReportGetValue);
//  ReportPrint(qrySer500,AReportName);
end;

procedure TSer500_02Form.ActExitExecute(Sender: TObject);
begin
  inherited;
//退出
  Close;
end;

procedure TSer500_02Form.qrySer500AfterScroll(DataSet: TDataSet);
var
  ATime,AHour,AMin:Integer;
begin
  inherited;
  if qrySer500.State in [dsInsert,dsEdit] then Exit;
  if qrySer500.IsEmpty then Exit;
  edtCode.Text:=qrySer500.FieldByName('S500_001').AsString;
  edtName.Text:=qrySer500.FieldByName('S500_002').AsString;
  edtStatus.Text:=qrySer500.FieldByName('S110_003').AsString;
  cbClass.Text:=qrySer500.FieldByName('S100_002').AsString;
  qrySer100.Locate('S100_002',cbClass.Text,[]);
  edtPriority.Text:=qrySer500.FieldByName('S500_005').AsString;
  cbFrom.ItemIndex:=qrySer500.FieldByName('S500_006').AsInteger;
  edtDate.Date:=qrySer500.FieldByName('S500_007').Value;

  ATime:=qrySer500.FieldByName('S500_008').Value;
  AHour:=ATime div 60;
  AMin:=ATime-AHour*60;
  edtTime.Time:=EncodeTime(AHour,AMin,0,0);

  edtMiniue.Text:=qrySer500.FieldByName('S500_009').AsString;
//  edtAppelater.Text:=qrySer500.FieldByName('S500_010').Value;
  edtAppelater.Text:=qrySer500.FieldByName('H150_002').AsString;
  edtAppelateName.Text:=qrySer500.FieldByName('H150_003').AsString;

  edtCallName.Text:=qrySer500.FieldByName('S500_011').AsString;
  edtDeptName.Text:=qrySer500.FieldByName('S500_012').AsString;
  edtPosit.Text:=qrySer500.FieldByName('S500_013').AsString;
  edtContact.Text:=qrySer500.FieldByName('S500_014').AsString;
  cbType.ItemIndex:=qrySer500.FieldByName('S500_015').AsInteger;
  cbTypeChange(cbType);
  edtBillNo.Text:=qrySer500.FieldByName('S500_016').AsString;

//  edtCust.Text:=qrySer500.FieldByName('S500_017').AsString;
  edtCust.Text:=qrySer500.FieldByName('O150_002').AsString;
  edtCustName.Text:=qrySer500.FieldByName('O150_003').AsString;
  edtPhone.Text:=qrySer500.FieldByName('O150_005').AsString;
  edtAddress.Text:=qrySer500.FieldByName('O150_012').AsString;
  edtFax.Text:=qrySer500.FieldByName('O150_006').AsString;
//  edtItem.Text:=qrySer500.FieldByName('S500_018').AsString;
  edtItem.Text:=qrySer500.FieldByName('I150_002').AsString;
  edtItemName.Text:=qrySer500.FieldByName('I150_003').AsString;
  edtMacNo.Text:=qrySer500.FieldByName('S500_019').AsString;

  cbClassCloseUp(cbClass,True);
  cbSend.Checked:=qrySer500.FieldByName('S500_020').Value;
  cbSendClick(cbSend);
  cbPrice.Checked:=qrySer500.FieldByName('S500_027').Value;
  edtFromDate1.Date:=qrySer500.FieldByName('S500_028').Value;
  edtToDate1.Date:=qrySer500.FieldByName('S500_029').Value;
  edtFromDate2.Date:=qrySer500.FieldByName('S500_030').Value;
  edtToDate2.Date:=qrySer500.FieldByName('S500_031').Value;
  cbItemFrom.ItemIndex:=qrySer500.FieldByName('S500_032').AsInteger;

  memDetails.Text:=qrySer500.FieldByName('S500_033').AsString;
  edtCreateDate.Text:=qrySer500.FieldByName('S500_034').AsString;
  edtCreateBy.Text:=qrySer500.FieldByName('S500_035').AsString;
  edtUpdateDate.Text:=qrySer500.FieldByName('S500_036').AsString;
  edtUpdateBy.Text:=qrySer500.FieldByName('S500_037').AsString;

  edtFromDate1.Clear;
  edtToDate1.Clear;
  edtFromDate2.Clear;
  edtToDate2.Clear;
  if qrySer500.FieldByName('S500_028').AsString<>'' then
    edtFromDate1.Date:=qrySer500.FieldByName('S500_028').Value;
  if qrySer500.FieldByName('S500_029').AsString<>'' then
    edtToDate1.Date:=qrySer500.FieldByName('S500_029').Value;
  if qrySer500.FieldByName('S500_030').AsString<>'' then
    edtFromDate2.Date:=qrySer500.FieldByName('S500_030').Value;
  if qrySer500.FieldByName('S500_031').AsString<>'' then
    edtToDate2.Date:=qrySer500.FieldByName('S500_031').Value;

  if not Active then Exit;
  if ActSave.Enabled then Exit;
  ActNext.Enabled:=not qrySer500.Eof;
  ActLast.Enabled:=not qrySer500.Eof;
  ActFirst.Enabled:=not qrySer500.Bof;
  ActPrior.Enabled:=not qrySer500.Bof;
end;

procedure TSer500_02Form.SaveData;
var
  ADate:TDateTime;
  ACustNo,AItemNo,AAppelaterNo:Integer;
  ATime:TTime;
  AHour,AMin,ASec,AMSec:Word;
begin
//确定(&O)
  if edtCode.Enabled then
  begin
    if trim(edtCode.Text)='' then
    begin
      ShowMsg('UMS10000356');  //来电编号不能为空
      edtCode.SetFocus;
      Abort;
    end;
    if IsExists('select 1 from SER500 where S500_001='+''''+edtCode.Text+'''') then
    begin
      ShowMsg('UMS10000357');  //来电编号已存在,请重新输入
      edtCode.SetFocus;
      Abort;
    end;
  end;
  if trim(edtName.Text)='' then
  begin
    ShowMsg('UMS10000358');  //来电名称不能为空
    edtName.SetFocus;

⌨️ 快捷键说明

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