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

📄 ser530_02.pas

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 PAS
📖 第 1 页 / 共 2 页
字号:
begin
  inherited;
//最后
  if qrySer530.IsEmpty then Exit;
  qrySer530.Last;
  ActNext.Enabled:=False;
  ActLast.Enabled:=False;
  ActFirst.Enabled:=True;
  ActPrior.Enabled:=True;
end;

procedure TSer530_02Form.ActInsertExecute(Sender: TObject);
var
  ADate:TDateTime;
begin
  inherited;
//新增
  Screen.Cursor:=crHourGlass;
  AMode:='ADD';
  edtCode.Text:='';
  edtCallCode.Text:='';
  AOldCallCode:='';
  edtPerson.Text:=AUserName;
  ADate:=GetServerDate;
  edtDate.Date:=ADate;
  cbContinue.ItemIndex:=0;
  edtCust.Text:='';
  edtCustName.Text:='';
  edtPhone.Text:='';
  edtAddress.Text:='';
  edtFax.Text:='';
  edtItem.Text:='';
  edtItemName.Text:='';
  edtMacNo.Text:='';
  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 edtCallCode.SetFocus;
  Screen.Cursor:=crDefault;
end;

procedure TSer530_02Form.ActUpdateExecute(Sender: TObject);
begin
  inherited;
//修改
  if qrySer530.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;

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

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

  if ShowDialog('UMS10000008')=IDNO then Abort;  //确定要删除此记录吗?
  ACode:=qrySer530S530_001.AsString;
  ACallCode:=qrySer530S530_002.AsString;
  DeleteTableRecord(qrySer530,'SER530','S530_001='+''''+ACode+'''');
  //更新来电记录信息(来电状态)
  UpdateReport(ACallCode);
end;

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

procedure TSer530_02Form.ActCancelExecute(Sender: TObject);
begin
  inherited;
//取消
  SetButtonState(False);
  qrySer530AfterScroll(qrySer530);
end;

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

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

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

procedure TSer530_02Form.ActPrintExecute(Sender: TObject);
begin
  inherited;
//打印
  SelectReport(qrySer530,AProgramID,AReportName,ReportGetValue);
  ActRefresh.Execute;
end;

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

procedure TSer530_02Form.qrySer530AfterScroll(DataSet: TDataSet);
begin
  inherited;
  if qrySer530.State in [dsInsert,dsEdit] then Exit;
  if qrySer530.IsEmpty then Exit;
  edtCode.Text:=qrySer530.FieldByName('S530_001').AsString;
  edtCallCode.Text:=qrySer530.FieldByName('S530_002').AsString;
  AOldCallCode:=edtCallCode.Text;
  edtCallName.Text:=qrySer530.FieldByName('S500_002').AsString;
  edtPerson.Text:=qrySer530.FieldByName('S530_003').AsString;
  edtDate.Date:=qrySer530.FieldByName('S530_004').Value;
  cbContinue.Text:=qrySer530.FieldByName('S110_003').AsString;
  qrySer110.Locate('S110_002',cbContinue.Text,[]);

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

  memDetails.Text:=qrySer530.FieldByName('S530_005').AsString;
  edtCreateDate.Text:=qrySer530.FieldByName('S530_007').AsString;
  edtCreateBy.Text:=qrySer530.FieldByName('S530_008').AsString;
  edtUpdateDate.Text:=qrySer530.FieldByName('S530_009').AsString;
  edtUpdateBy.Text:=qrySer530.FieldByName('S530_010').AsString;

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

procedure TSer530_02Form.SaveData;
var
  ADate:TDateTime;
begin
//确定(&O)
  if edtCode.Enabled then
  begin
    if trim(edtCode.Text)='' then
    begin
      ShowMsg('UMS10000376');  //汇报编号不能为空
      edtCode.SetFocus;
      Abort;
    end;
    if IsExists('select 1 from SER500 where S500_001='+''''+edtCode.Text+'''') then
    begin
      ShowMsg('UMS10000377');  //汇报编号已存在,请重新输入
      edtCode.SetFocus;
      Abort;
    end;
  end;
  if not qrySer500.Locate('S500_001',edtCallCode.Text,[]) then
  begin
    ShowMsg('UMS10000373');  //无效的来电编号,请重新输入
    edtCallCode.SetFocus;
    Abort;
  end;
  if trim(edtPerson.Text)='' then
  begin
    ShowMsg('UMS10000378');  //汇报人员不能为空
    edtPerson.SetFocus;
    Abort;
  end;
  if trim(edtDate.Text)='' then
  begin
    ShowMsg('UMS10000379');  //汇报日期不能为空
    edtDate.SetFocus;
    Abort;
  end;

  if trim(memDetails.Text)='' then
  begin
    ShowMsg('UMS10000380');  //汇报内容不能为空
    memDetails.SetFocus;
    Abort;
  end;

  if AMode='ADD' then
  begin
    qrySer530.Insert;
    qrySer530.FieldByName('S530_007').AsString:=edtCreateDate.Text;  //制单日期
    qrySer530.FieldByName('S530_008').AsString:=edtCreateBy.Text;  //制单人员
    qrySer530.FieldByName('S530_009').AsString:=edtUpdateDate.Text;  //修改日期
    qrySer530.FieldByName('S530_010').AsString:=edtUpdateBy.Text;  //修改人员
  end else
  begin
    ADate:=GetServerDate;
    qrySer530.Edit;
    qrySer530.FieldByName('S530_009').Value:=ADate;  //修改日期
    qrySer530.FieldByName('S530_010').Value:=AUserName;  //修改人员
  end;
  qrySer530.FieldByName('S530_002').Value:=edtCallCode.Text;  //来电编号
  qrySer530.FieldByName('S530_003').Value:=edtPerson.Text;  //汇报人员
  qrySer530.FieldByName('S530_004').Value:=edtDate.Date;  //汇报日期
  qrySer530.FieldByName('S530_005').Value:=memDetails.Text;  //来电内容
  qrySer110.Locate('S110_003',cbContinue.Text,[]);
  qrySer530.FieldByName('S530_006').Value:=qrySer110.FieldByName('S110_001').Value;  //来电内容
  try
    if AMode='ADD' then
    begin
      if not edtCode.Enabled then edtCode.Text:=GetAutoCode('SER530');
      qrySer530.FieldByName('S530_001').Value:=edtCode.Text;  //来电编号
    end;
    qrySer530.Post;
    //更新来电记录信息(来电状态)
    UpdateReport(edtCode.Text);
    //当修改来电编号,则同时修改原来电记录
    if (AOldCallCode<>'') and (AOldCallCode<>edtCode.Text) then UpdateReport(AOldCallCode);
    SetButtonState(False);
    ActRefresh.Execute;
    qrySer530AfterScroll(qrySer530);
    if AMode='ADD' then
    begin
      if ShowDialog('['+edtCode.Text+'] '+GetDBString('UMS10000309'),1)=IDYES then  //记录保存成功,是否继续增加新记录?
      begin
        ActInsert.Execute;
      end;
    end;
  except
    ShowMsg(SYSDM.ADOC.Errors[0].Description,1);
    Abort;
  end;
end;

procedure TSer530_02Form.qrySer530CalcFields(DataSet: TDataSet);
var
  ACustNo,AItemNo:Integer;
  AMacNo:string;
  ACustomerInfo:TCustomerInfo;
begin
  inherited;
  ACustNo:=qrySer530O150_001.Value;
  AItemNo:=0;
  AMacNo:='';
  GetCustomerInfo(ACustNo,AItemNo,AMacNo,ACustomerInfo);
  qrySer530O150_005.Value:=ACustomerInfo.CustPhone;
  qrySer530O150_006.Value:=ACustomerInfo.CustFax;
  qrySer530O150_012.Value:=ACustomerInfo.CustAddress;
end;

procedure TSer530_02Form.sbCallCodeClick(Sender: TObject);
var
  ACustNo,AItemNo:Integer;
  AMacNo:string;
  ACustomerInfo:TCustomerInfo;
begin
  inherited;
//来电编号
  if not edtCallCode.Focused then edtCallCode.SetFocus;
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qrySer500,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    if qrySer500.IsEmpty then Exit;
    edtCallCode.Text:=qrySer500.FieldByName('S500_001').AsString;
    edtCallName.Text:=qrySer500.FieldByName('S500_002').AsString;
    edtCust.Text:=qrySer500.FieldByName('O150_002').AsString;
    edtCustName.Text:=qrySer500.FieldByName('O150_003').AsString;
    edtItem.Text:=qrySer500.FieldByName('I150_002').AsString;
    edtItemName.Text:=qrySer500.FieldByName('I150_003').AsString;
    edtMacNo.Text:=qrySer500.FieldByName('S500_019').AsString;
    ACustNo:=qrySer500.FieldByName('O150_001').AsInteger;
    AItemNo:=0;
    AMacNo:='';
    GetCustomerInfo(ACustNo,AItemNo,AMacNo,ACustomerInfo);
    edtPhone.Text:=ACustomerInfo.CustPhone;
    edtFax.Text:=ACustomerInfo.CustFax;
    edtAddress.Text:=ACustomerInfo.CustAddress;
  end;
end;

procedure TSer530_02Form.edtCallCodeExit(Sender: TObject);
var
  ACustNo,AItemNo:Integer;
  AMacNo:string;
  ACustomerInfo:TCustomerInfo;
begin
  inherited;
//来电编号
  if trim(edtCallCode.Text)='' then Exit;
  if qrySer500.Locate('S500_001',edtCallCode.Text,[]) then
  begin
    edtCallCode.Text:=qrySer500.FieldByName('S500_001').Value;
    edtCallName.Text:=qrySer500.FieldByName('S500_002').Value;
    edtCust.Text:=qrySer500.FieldByName('O150_002').AsString;
    edtCustName.Text:=qrySer500.FieldByName('O150_003').AsString;
    edtItem.Text:=qrySer500.FieldByName('I150_002').AsString;
    edtItemName.Text:=qrySer500.FieldByName('I150_003').AsString;
    edtMacNo.Text:=qrySer500.FieldByName('S500_019').AsString;
    ACustNo:=qrySer500.FieldByName('O150_001').AsInteger;
    AItemNo:=0;
    AMacNo:='';
    GetCustomerInfo(ACustNo,AItemNo,AMacNo,ACustomerInfo);
    edtPhone.Text:=ACustomerInfo.CustPhone;
    edtFax.Text:=ACustomerInfo.CustFax;
    edtAddress.Text:=ACustomerInfo.CustAddress;
  end else
  begin
    edtCallCode.Text:='';
    edtCallName.Text:='';
    edtCust.Text:='';
    edtCustName.Text:='';
    edtItem.Text:='';
    edtItemName.Text:='';
    edtMacNo.Text:='';
    edtPhone.Text:='';
    edtFax.Text:='';
    edtAddress.Text:='';
    ShowMsg('UMS10000375');  //输入的来电编号无效
    edtCallCode.SetFocus;
    Abort;
  end;
end;

procedure TSer530_02Form.ReportGetValue(const ParName: String;
  var ParValue: Variant);
begin

end;

initialization
  RegisterClass(TSer530_02Form);

finalization
  UnRegisterClass(TSer530_02Form);

end.

⌨️ 快捷键说明

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