📄 tas510_02.pas
字号:
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;
end;
procedure TTas510_02Form.sbItemClick(Sender: TObject);
var
ACustNo,AItemNo:Integer;
AMacNo:string;
ACustomerInfo:TCustomerInfo;
begin
inherited;
//产品编号查询
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 not edtItem.Focused then edtItem.SetFocus;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryOrd153,nil);
if HwSelDataForm.ShowModal=1 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;
end;
procedure TTas510_02Form.sbMacNoClick(Sender: TObject);
begin
inherited;
//机身编号查询
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 not edtMacNO.Focused then edtMacNO.SetFocus;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryOrd153,nil);
if HwSelDataForm.ShowModal=1 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;
end;
procedure TTas510_02Form.edtOrderExit(Sender: TObject);
var
ACustNo,AItemNo:string;
begin
inherited;
//来源单号
if trim(edtOrder.Text)='' then Exit;
if AOldOrder=edtOrder.Text then Exit;
if cbFrom.ItemIndex=0 then //来源类型=销售定单
begin
qryOrd510.Close;
qryOrd510.Open;
if qryOrd510.Locate('O510A_001',edtOrder.Text,[]) then
begin
edtOrder.Text:=qryOrd510.FieldByName('O510A_001').Value;
edtMacNo.Text:=qryOrd510.FieldByName('O510A_011').AsString;
edtCust.Text:=qryOrd510.FieldByName('O150_002').AsString;
edtItem.Text:=qryOrd510.FieldByName('I150_002').AsString;
edtCustExit(edtCust);
edtItemExit(edtItem);
end else
begin
ShowMsg('UMS10000306'); //输入的来源单号无效,请重新输入
edtOrder.SetFocus;
Abort;
end;
end else
//1=来电记录
if cbFrom.ItemIndex=1 then //来源类型=来电记录
begin
qrySer500.Close;
qrySer500.Open;
if qrySer500.Locate('S500_001',edtOrder.Text,[]) then
begin
if qrySer500.IsEmpty then Exit;
edtOrder.Text:=qrySer500.FieldByName('S500_001').AsString;
edtMacNo.Text:=qrySer500.FieldByName('S500_019').AsString;
ACustNo:=qrySer500.FieldByName('S500_017').AsString;
AItemNo:=qrySer500.FieldByName('S500_018').AsString;
edtCust.Text:=GetValue('select O150_002 from ORD150 where O150_001='+ACustNo);
if AItemNo<>'' then edtItem.Text:=GetValue('select I150_002 from INV150 where I150_001='+AItemNo);
edtCustExit(edtCust);
edtItemExit(edtItem);
end else
begin
ShowMsg('UMS10000306'); //输入的来源单号无效,请重新输入
edtOrder.SetFocus;
Abort;
end;
end else
//2=项目计划
if cbFrom.ItemIndex=2 then //来源类型=项目计划
begin
qryTas500.Close;
qryTas500.Open;
if qryTas500.Locate('T500_001',edtOrder.Text,[]) then
begin
if qryTas500.IsEmpty then Exit;
edtOrder.Text:=qryTas500.FieldByName('T500_001').AsString;
edtMacNo.Text:=qryTas500.FieldByName('T500_017').AsString;
ACustNo:=qryTas500.FieldByName('T500_015').AsString;
AItemNo:=qryTas500.FieldByName('T500_016').AsString;
edtCust.Text:=GetValue('select O150_002 from ORD150 where O150_001='+ACustNo);
if AItemNo<>'' then edtItem.Text:=GetValue('select I150_002 from INV150 where I150_001='+AItemNo);
edtCustExit(edtCust);
edtItemExit(edtItem);
end else
begin
ShowMsg('UMS10000306'); //输入的来源单号无效,请重新输入
edtOrder.SetFocus;
Abort;
end;
end;
end;
procedure TTas510_02Form.sbManagerClick(Sender: TObject);
begin
inherited;
//责任人员
if not edtManager.Focused then edtManager.SetFocus;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryHrm150,nil);
if HwSelDataForm.ShowModal=1 then
begin
edtManager.Text:=qryHrm150.FieldByName('H150_002').AsString;
edtManagerName.Text:=qryHrm150.FieldByName('H150_003').AsString;
end;
end;
procedure TTas510_02Form.edtManagerExit(Sender: TObject);
begin
inherited;
//责任人员
if trim(edtManager.Text)='' then Exit;
if qryHrm150.Locate('H150_002',edtManager.Text,[]) then
begin
edtManager.Text:=qryHrm150.FieldByName('H150_002').Value;
edtManagerName.Text:=qryHrm150.FieldByName('H150_003').Value;
end else
begin
edtManager.Text:='';
edtManagerName.Text:='';
ShowMsg('UMS10000265'); //输入的责任人员无效
edtManager.SetFocus;
Abort;
end;
end;
procedure TTas510_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 TTas510_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 TTas510_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:='';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -