📄 ser530_02.pas
字号:
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 + -