📄 tas500_02.pas.svn-base
字号:
procedure TTas500_02Form.edtCustExit(Sender: TObject);
var
ACustNo:string;
begin
inherited;
//客户编号
if trim(edtCust.Text)='' then Exit;
if qryOrd150.Locate('O150_002',edtCust.Text,[]) then
begin
edtCust.Text:=qryOrd150.FieldByName('O150_002').AsString;
edtCustName.Text:=qryOrd150.FieldByName('O150_003').AsString;
edtPhone.Text:=qryOrd150.FieldByName('O150_005').AsString;
edtAddress.Text:=qryOrd150.FieldByName('O150_012').AsString;
edtEmail.Text:=qryOrd150.FieldByName('O150_007').AsString;
ACustNo:=qryOrd150.FieldByName('O150_001').AsString;
if ACustNo<>'' then
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select top 1 * from ORD151 where O151_011<>0 and O151_001='+ACustNo);
SYSDM.qryQuery.Open;
edtContact.Text:=SYSDM.qryQuery.FieldByName('O151_002').AsString;
edtPost.Text:=SYSDM.qryQuery.FieldByName('O151_004').AsString;
end;
qryOrd153.Close;
qryOrd153.SQL.Clear;
qryOrd153.SQL.Add('select AA.*,BB.O150_002,BB.O150_003 from');
qryOrd153.SQL.Add(' (select C.I150_002,A.O153_003,C.I150_003,C.I150_004,D.I120_003,C.I150_001,C.I150_010');
qryOrd153.SQL.Add('from ORD153 A, ORD150 B, INV150 C, INV120 D');
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 B.O150_002='+''''+edtCust.Text+''''+') as AA');
qryOrd153.SQL.Add('left join ORD150 BB on AA.I150_010=BB.O150_001');
qryOrd153.Open;
end else
begin
edtCust.Text:='';
edtCustName.Text:='';
edtPhone.Text:='';
edtAddress.Text:='';
edtContact.Text:='';
edtPost.Text:='';
edtEmail.Text:='';
ShowMsg('UMS10000264'); //输入的客户编号无效
edtCust.SetFocus;
Abort;
end;
end;
procedure TTas500_02Form.edtItemExit(Sender: TObject);
var
ACustNo,AItemNo:Integer;
AMacNo:string;
ACustomerInfo:TCustomerInfo;
begin
inherited;
//产品编号
if trim(edtItem.Text)='' then Exit;
if not qryOrd150.Locate('O150_002',edtCust.Text,[]) then
begin
ShowMsg('UMS10000266'); //必须先输入正确的客户编号
edtCust.SetFocus;
Abort;
end;
qryOrd153.Close;
qryOrd153.SQL.Clear;
qryOrd153.SQL.Add('select AA.*,BB.O150_002,BB.O150_003 from');
qryOrd153.SQL.Add(' (select C.I150_002,A.O153_003,C.I150_003,C.I150_004,D.I120_003,C.I150_001,C.I150_010');
qryOrd153.SQL.Add('from ORD153 A, ORD150 B, INV150 C, INV120 D');
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 B.O150_002='+''''+edtCust.Text+''''+') as AA');
qryOrd153.SQL.Add('left join ORD150 BB on AA.I150_010=BB.O150_001');
qryOrd153.Open;
if qryOrd153.Locate('I150_002',edtItem.Text,[]) then
begin
edtItem.Text:=qryOrd153.FieldByName('I150_002').AsString;
edtItemName.Text:=qryOrd153.FieldByName('I150_003').AsString;
// edtMacNo.Text:=qryOrd153.FieldByName('O153_003').AsString;
edtModel.Text:=qryOrd153.FieldByName('I150_004').AsString;
edtItemClass.Text:=qryOrd153.FieldByName('I120_003').AsString;
edtMaker.Text:=qryOrd153.FieldByName('O150_002').AsString;
edtMakerName.Text:=qryOrd153.FieldByName('O150_003').AsString;
ACustNo:=qryOrd150O150_001.Value;
AItemNo:=qryOrd153I150_001.Value;
AMacNo:=edtMacNo.Text;
GetCustomerInfo(ACustNo,AItemNo,AMacNo,ACustomerInfo);
edtPhone.Text:=ACustomerInfo.CustPhone;
edtEmail.Text:=ACustomerInfo.CustEmail;
edtAddress.Text:=ACustomerInfo.CustAddress;
edtContact.Text:=ACustomerInfo.CustContact;
edtPost.Text:=ACustomerInfo.CustPosition;
end else
begin
edtItem.Text:='';
edtItemName.Text:='';
edtMacNo.Text:='';
edtModel.Text:='';
edtItemClass.Text:='';
edtMaker.Text:='';
edtMakerName.Text:='';
ShowMsg('UMS10000267'); //输入的产品编号无效
edtItem.SetFocus;
Abort;
end;
end;
procedure TTas500_02Form.edtMacNoExit(Sender: TObject);
begin
inherited;
//机身编号
if trim(edtMacNo.Text)='' then Exit;
if not qryOrd150.Locate('O150_002',edtCust.Text,[]) then
begin
ShowMsg('UMS10000266'); //必须先输入正确的客户编号
edtCust.SetFocus;
Abort;
end;
qryOrd153.Close;
qryOrd153.SQL.Clear;
qryOrd153.SQL.Add('select AA.*,BB.O150_002,BB.O150_003 from');
qryOrd153.SQL.Add(' (select C.I150_002,A.O153_003,C.I150_003,C.I150_004,D.I120_003,C.I150_001,C.I150_010');
qryOrd153.SQL.Add('from ORD153 A, ORD150 B, INV150 C, INV120 D');
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 B.O150_002='+''''+edtCust.Text+''''+') as AA');
qryOrd153.SQL.Add('left join ORD150 BB on AA.I150_010=BB.O150_001');
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;
edtModel.Text:=qryOrd153.FieldByName('I150_004').AsString;
edtItemClass.Text:=qryOrd153.FieldByName('I120_003').AsString;
edtMaker.Text:=qryOrd153.FieldByName('O150_002').AsString;
edtMakerName.Text:=qryOrd153.FieldByName('O150_003').AsString;
end else
begin
edtItem.Text:='';
edtItemName.Text:='';
edtMacNo.Text:='';
edtModel.Text:='';
edtItemClass.Text:='';
edtMaker.Text:='';
edtMakerName.Text:='';
ShowMsg('UMS10000268'); //输入的机身编号无效
edtMacNo.SetFocus;
Abort;
end;
end;
procedure TTas500_02Form.edtDaysKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
ValidFloat(Sender,Key);
end;
procedure TTas500_02Form.ActFirstExecute(Sender: TObject);
begin
inherited;
//最前
if qryTas500.IsEmpty then Exit;
qryTas500.First;
ActFirst.Enabled:=False;
ActPrior.Enabled:=False;
ActNext.Enabled:=True;
ActLast.Enabled:=True;
end;
procedure TTas500_02Form.ActPriorExecute(Sender: TObject);
begin
inherited;
//上移
if qryTas500.IsEmpty then Exit;
qryTas500.Prior;
ActNext.Enabled:=not qryTas500.Eof;
ActLast.Enabled:=not qryTas500.Eof;
ActFirst.Enabled:=not qryTas500.Bof;
ActPrior.Enabled:=not qryTas500.Bof;
end;
procedure TTas500_02Form.ActNextExecute(Sender: TObject);
begin
inherited;
//下移
if qryTas500.IsEmpty then Exit;
qryTas500.Next;
ActNext.Enabled:=not qryTas500.Eof;
ActLast.Enabled:=not qryTas500.Eof;
ActFirst.Enabled:=not qryTas500.Bof;
ActPrior.Enabled:=not qryTas500.Bof;
end;
procedure TTas500_02Form.ActLastExecute(Sender: TObject);
begin
inherited;
//最后
if qryTas500.IsEmpty then Exit;
qryTas500.Last;
ActNext.Enabled:=False;
ActLast.Enabled:=False;
ActFirst.Enabled:=True;
ActPrior.Enabled:=True;
end;
procedure TTas500_02Form.ActInsertExecute(Sender: TObject);
var
ADate:TDateTime;
S:String;
begin
inherited;
//新增
Screen.Cursor:=crHourGlass;
AMode:='ADD';
edtCode.Text:='';
edtName.Text:='';
cbClass.Text:='';
//优先级缺省值
S:=GetSysParams('TAS0008');
if S<>'' then
begin
edtPriority.Text:=S;
udPriority.Position:=StrToInt(S);
end;
edtPercent.Text:='0';
edtOrder.Text:='';
edtManager.Text:='';
edtManagerName.Text:='';
edtCust.Text:='';
edtCustName.Text:='';
edtPhone.Text:='';
edtAddress.Text:='';
edtContact.Text:='';
edtPost.Text:='';
edtEmail.Text:='';
edtItem.Text:='';
edtItemName.Text:='';
edtMacNo.Text:='';
edtModel.Text:='';
edtItemClass.Text:='';
edtMaker.Text:='';
edtMakerName.Text:='';
AOldCustNo:=0;
AOldItemNo:=0;
AOldMacNo:='';
memDetails.Clear;
AOldFrom:=0;
AOldOrder:='';
ADate:=GetServerDate;
edtDate.Date:=ADate;
edtFromDate.Clear;
edtToDate.Clear;
edtFactFromDate.Clear;
edtFactToDate.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;
cbFrom.ItemIndex:=1; //手工输入
cbFromChange(cbFrom);
edtDays.Text:='1';
edtFactDays.Text:='0';
cbUnit.ItemIndex:=1; //天
edtStatus.Text:=GetValue('select T120_003 from TAS120 where T120_001=1');
SetButtonState(True);
if Visible then
if edtCode.Enabled then edtCode.SetFocus else edtName.SetFocus;
Screen.Cursor:=crDefault;
end;
procedure TTas500_02Form.ActUpdateExecute(Sender: TObject);
begin
inherited;
//修改
if qryTas500.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
if qryTas500T500_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 TTas500_02Form.ActDeleteExecute(Sender: TObject);
var
ATypeNo:Integer;
AOrderID,ACode:string;
begin
inherited;
//删除
if qryTas500.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
//仅状态=计划时可删除
if qryTas500T500_003.AsInteger<>1 then
begin
ShowMsg('UMS10000263'); //不允许删除非计划状态的记录
Abort;
end;
if ShowDialog('UMS10000008')=IDNO then Abort; //确定要删除此记录吗?
AOrderID:='';
ATypeNo:=qryTas500.FieldByName('T500_007').AsInteger;
AOrderID:=qryTas500.FieldByName('T500_008').AsString;
ACode:=qryTas500T500_001.AsString;
DeleteTableRecord(qryTas500,'TAS500','T500_001='+''''+ACode+'''');
//更新来源单据的相关字段
case ATypeNo of
0:UpdateOrderInfo(AOrderID,0); //销售定单
2:UpdateCallInfo(AOrderID,0); //来电记录
end;
end;
procedure TTas500_02Form.ActSaveExecute(Sender: TObject);
begin
inherited;
//保存
try
Screen.Cursor:=crHourGlass;
SaveData;
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TTas500_02Form.ActCancelExecute(Sender: TObject);
begin
inherited;
//取消
SetButtonState(False);
qryTas500AfterScroll(qryTas500);
end;
procedure TTas500_02Form.ActRefreshExecute(Sender: TObject);
var
ACode:string;
begin
inherited;
//刷新
ACode:=qryTas500.FieldByName('T500_001').AsString;
qryTas500.DisableControls;
qryTas500.Close;
qryTas500.Open;
qryTas500.Locate('T500_001',ACode,[]);
qryTas500.EnableControls;
end;
procedure TTas500_02Form.ActLocateExecute(Sender: TObject);
begin
inherited;
//查找
if qryTas500.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
LocateDialog(dsTas500);
end;
procedure TTas500_02Form.ActSearchExecute(Sender: TObject);
begin
inherited;
//查询
FilterDialog(dsTas500);
end;
procedure TTas500_02Form.ActPrintExecute(Sender: TObject);
begin
inherited;
//打印
SelectReport(qryTas500,AProgramID,AReportName,ReportGetValue);
ActRefresh.Execute;
end;
procedure TTas500_02Form.ActExitExecute(Sender: TObject);
begin
inherited;
//退出
Close;
end;
procedure TTas500_02Form.qryTas500AfterScroll(DataSet: TDataSet);
begin
inherited;
if qryTas500.State in [dsInsert,dsEdit] then Exit;
if qryTas500.IsEmpty then Exit;
edtCode.Text:=qryTas500.FieldByName('T500_001').AsString;
AOldCode:=edtCode.Text;
edtName.Text:=qryTas500.FieldByName('T500_002').AsString;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -