📄 ser500_02.pas.svn-base
字号:
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 + -