📄 tas530_02.pas.svn-base
字号:
S:=S+Copy(AReasonNo,I,1);
end;
for I:=0 to AStringList.Count-1 do
begin
if adsTas110.Locate('T110_001',AStringList[I],[]) then
begin
adsTas110.Edit;
adsTas110.FieldByName('FSelected').Value:=True;
adsTas110.Post;
end;
end;
AStringList.Free;
end;
procedure TTas530_02Form.OpenData(ACode:string);
begin
qryTas530.Close;
qryTas530.SQL.Clear;
qryTas530.SQL.Add('select A.*,B.T520_003,B.T520_019,C.T510_001,C.T510_002,C.T510_005,C.T510_018,D.T100_002,E.T120_003,');
qryTas530.SQL.Add(' H.O150_001,H.O150_002,H.O150_003,H.O150_005,H.O150_007,H.O150_012,');
qryTas530.SQL.Add(' B.T520_005,B.T520_006,B.T520_007,C.T510_016,C.T510_017,C.T510_019');
qryTas530.SQL.Add('from TAS530 A,TAS520 B,TAS510 C,TAS100 D,TAS120 E,ORD150 H');
qryTas530.SQL.Add('where A.T530_002=B.T520_001 and B.T520_002=C.T510_001 and');
qryTas530.SQL.Add(' C.T510_004=D.T100_001 and C.T510_003=E.T120_001 and');
qryTas530.SQL.Add(' C.T510_016=H.O150_001');
qryTas530.SQL.Add('order by T530_001');
qryTas530.Open;
qryTas530.Locate('T530_001',ACode,[]);
qryTas530AfterScroll(qryTas530);
end;
//取得任务的其他信息
procedure TTas530_02Form.GetTasksInfo(AVendNo,AClassNo,ACustNo,AItemNo:string);
begin
if AVendNo<>'' then
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select * from ORD150 where O150_01='+AVendNo);
SYSDM.qryQuery.Open;
edtVendor.Text:=SYSDM.qryQuery.FieldByName('O150_002').AsString; //协助公司
edtVendorName.Text:=SYSDM.qryQuery.FieldByName('O150_003').AsString;
end;
if AClassNo<>'' then
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select * from TAS100 where T100_001='+AClassNo);
SYSDM.qryQuery.Open;
edtClass.Text:=SYSDM.qryQuery.FieldByName('T100_002').AsString;
end;
if ACustNo<>'' then
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select * from ORD150 where O150_001='+ACustNo);
SYSDM.qryQuery.Open;
edtCust.Text:=SYSDM.qryQuery.FieldByName('O150_002').AsString;
edtCustName.Text:=SYSDM.qryQuery.FieldByName('O150_003').AsString;
edtPhone.Text:=SYSDM.qryQuery.FieldByName('O150_005').AsString;
edtAddress.Text:=SYSDM.qryQuery.FieldByName('O150_012').AsString;
edtEmail.Text:=SYSDM.qryQuery.FieldByName('O150_007').AsString;
//主联系人信息
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;
if AItemNo<>'' then
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select I150_002,I150_003,I150_004,I120_003,O150_002,O150_003 from INV150,INV120,ORD150 where I150_005=I120_001 and I150_010=O150_001 and I150_001='+AItemNo);
SYSDM.qryQuery.Open;
edtItem.Text:=SYSDM.qryQuery.FieldByName('I150_002').AsString;
edtItemName.Text:=SYSDM.qryQuery.FieldByName('I150_003').AsString;
// edtModel.Text:=SYSDM.qryQuery.FieldByName('I150_004').AsString;
// edtItemClass.Text:=SYSDM.qryQuery.FieldByName('I120_003').AsString;
edtMaker.Text:=SYSDM.qryQuery.FieldByName('O150_002').AsString;
edtMakerName.Text:=SYSDM.qryQuery.FieldByName('O150_003').AsString;
end;
end;
procedure TTas530_02Form.FormCreate(Sender: TObject);
begin
inherited;
adsStatus.CreateDataSet;
adsStatus.Append;
adsStatus.FieldByName('FNo').Value:=0;
adsStatus.FieldByName('FStatus').Value:=GetDBString('TAS53002108'); //需求
adsStatus.Post;
adsStatus.Append;
adsStatus.FieldByName('FNo').Value:=1;
adsStatus.FieldByName('FStatus').Value:=GetDBString('TAS53002109'); //安装
adsStatus.Post;
SetInterface;
qryTas520.Open;
qryInv150.Open;
qryOrd150.Open;
qryTas120.Open;
qryTas532.Open;
qryTas533.Open;
SetButtonState(False);
AKeyEvent:=OnKeyDown;
end;
procedure TTas530_02Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
if ActSave.Enabled then
begin
if ShowDialog('UMS10000007')=IDNO then //数据尚未保存,现在保存吗?
ActCancel.Execute
else
ActSave.Execute;
end;
qryTas520.Close;
qryInv150.Close;
qryOrd150.Close;
qryTas120.Close;
adsTas531.Close;
qryTas532.Close;
qryTas533.Close;
adsStatus.Close;
end;
procedure TTas530_02Form.CreateTas533;
begin
//添加与任务计划相关的销售订单信息
adsTas533.Close;
adsTas533.CreateDataSet;
qryTas533.Close;
qryTas533.SQL.Clear;
qryTas533.SQL.Add('select O510B_001,O510B_002,O510B_013,I150_001,I150_002,I150_003,I150_004,I140_003');
qryTas533.SQL.Add('from ORD510B,TAS510,INV150,INV140');
qryTas533.SQL.Add('where O510B_001=T510_009 and T510_008=0 and O510B_003=I150_001 and');
qryTas533.SQL.Add(' O510B_004=I140_001 and T510_001='+''''+edtTasks.Text+'''');
qryTas533.SQL.Add('order by O510B_002');
qryTas533.Open;
while not qryTas533.Eof do
begin
adsTas533.Append;
adsTas533.FieldByName('FOrder').Value:=qryTas533.FieldByName('O510B_001').Value;
adsTas533.FieldByName('FLine').Value:=qryTas533.FieldByName('O510B_002').Value;
adsTas533.FieldByName('FItemNo').Value:=qryTas533.FieldByName('I150_001').Value;
adsTas533.FieldByName('FItemID').Value:=qryTas533.FieldByName('I150_002').Value;
adsTas533.FieldByName('FItemName').Value:=qryTas533.FieldByName('I150_003').Value;
adsTas533.FieldByName('FItemSpec').Value:=qryTas533.FieldByName('I150_004').Value;
adsTas533.FieldByName('FUnitName').Value:=qryTas533.FieldByName('I140_003').Value;
adsTas533.FieldByName('FQty').Value:=0;
adsTas533.FieldByName('FItemPrice').Value:=qryTas533.FieldByName('O510B_013').Value;
adsTas533.FieldByName('FTotal').Value:=0;
adsTas533.FieldByName('FRemark').Value:='';
adsTas533.Post;
qryTas533.Next;
end;
//添加与项目计划相关的销售订单信息
qryTas533.Close;
qryTas533.SQL.Clear;
qryTas533.SQL.Add('select O510B_001,O510B_002,O510B_013,I150_001,I150_002,I150_003,I150_004,I140_003');
qryTas533.SQL.Add('from ORD510B,TAS510,INV150,INV140,TAS500');
qryTas533.SQL.Add('where O510B_001=T500_008 and T500_007=0 and T500_001=T510_009 and T510_008=2 and O510B_003=I150_001 and');
qryTas533.SQL.Add(' O510B_004=I140_001 and T510_001='+''''+edtTasks.Text+'''');
qryTas533.SQL.Add('order by O510B_002');
qryTas533.Open;
while not qryTas533.Eof do
begin
adsTas533.Append;
adsTas533.FieldByName('FOrder').Value:=qryTas533.FieldByName('O510B_001').Value;
adsTas533.FieldByName('FLine').Value:=qryTas533.FieldByName('O510B_002').Value;
adsTas533.FieldByName('FItemNo').Value:=qryTas533.FieldByName('I150_001').Value;
adsTas533.FieldByName('FItemID').Value:=qryTas533.FieldByName('I150_002').Value;
adsTas533.FieldByName('FItemName').Value:=qryTas533.FieldByName('I150_003').Value;
adsTas533.FieldByName('FItemSpec').Value:=qryTas533.FieldByName('I150_004').Value;
adsTas533.FieldByName('FUnitName').Value:=qryTas533.FieldByName('I140_003').Value;
adsTas533.FieldByName('FQty').Value:=0;
adsTas533.FieldByName('FItemPrice').Value:=qryTas533.FieldByName('O510B_013').Value;
adsTas533.FieldByName('FTotal').Value:=0;
adsTas533.FieldByName('FRemark').Value:='';
adsTas533.Post;
qryTas533.Next;
end;
end;
procedure TTas530_02Form.sbWorkClick(Sender: TObject);
var
AClassNo,ACustNo,AItemNo,AOldTasks:string;
begin
inherited;
//工单编号查询
AOldTasks:=edtTasks.Text;
if not edtWork.Focused then edtWork.SetFocus;
qryTas520.Close;
qryTas520.Open;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryTas520,nil);
if HwSelDataForm.ShowModal=1 then
begin
edtWork.Text:=qryTas520.FieldByName('T520_001').AsString;
edtTasks.Text:=qryTas520.FieldByName('T520_002').AsString;
edtName.Text:=qryTas520.FieldByName('T510_002').AsString;
edtMacNo.Text:=qryTas520.FieldByName('T510_018').AsString;
edtPriority.Text:=qryTas520.FieldByName('T510_005').AsString;
edtPerson.Text:=qryTas520.FieldByName('T520_019').AsString;
AClassNo:=qryTas520.FieldByName('T510_004').AsString;
ACustNo:=qryTas520.FieldByName('T510_016').AsString;
AItemNo:=qryTas520.FieldByName('T510_017').AsString;
GetTasksInfo('',AClassNo,ACustNo,AItemNo);
end;
if AOldTasks<>edtTasks.Text then CreateTas533;
end;
procedure TTas530_02Form.edtWorkExit(Sender: TObject);
var
AClassNo,ACustNo,AItemNo:string;
begin
inherited;
//工单编号
if trim(edtWork.Text)='' then Exit;
if AOldWork=edtWork.Text then Exit;
qryTas520.Close;
qryTas520.Open;
if qryTas520.Locate('T520_001',edtWork.Text,[]) then
begin
edtWork.Text:=qryTas520.FieldByName('T520_001').AsString;
edtTasks.Text:=qryTas520.FieldByName('T520_002').AsString;
edtName.Text:=qryTas520.FieldByName('T510_002').AsString;
edtPriority.Text:=qryTas520.FieldByName('T510_005').AsString;
edtMacNo.Text:=qryTas520.FieldByName('T510_018').AsString;
edtPerson.Text:=qryTas520.FieldByName('T520_019').AsString;
AClassNo:=qryTas520.FieldByName('T510_004').AsString;
ACustNo:=qryTas520.FieldByName('T510_016').AsString;
AItemNo:=qryTas520.FieldByName('T510_017').AsString;
GetTasksInfo('',AClassNo,ACustNo,AItemNo);
end else
begin
edtWork.Text:=AOldWork;
{ edtTasks.Text:='';
edtName.Text:='';
edtClass.Text:='';
edtPriority.Text:='';
edtPerson.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:=''; }
ShowMsg('UMS10000290'); //输入的工单编号无效
edtWork.SetFocus;
Abort;
end;
if AOldWork<>edtWork.Text then CreateTas533;
end;
procedure TTas530_02Form.sbVendorClick(Sender: TObject);
begin
inherited;
//协助公司查询
if not edtVendor.Focused then edtVendor.SetFocus;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryOrd150,nil);
if HwSelDataForm.ShowModal=1 then
begin
edtVendor.Text:=qryOrd150.FieldByName('O150_002').AsString;
edtVendorName.Text:=qryOrd150.FieldByName('O150_003').AsString;
end;
end;
procedure TTas530_02Form.edtVendorExit(Sender: TObject);
begin
inherited;
//协助公司查询
if trim(edtVendor.Text)='' then Exit;
if qryOrd150.Locate('O150_002',edtVendor.Text,[]) then
begin
edtVendor.Text:=qryOrd150.FieldByName('O150_002').AsString;
edtVendorName.Text:=qryOrd150.FieldByName('O150_003').AsString;
end else
begin
edtVendor.Text:='';
edtVendorName.Text:='';
ShowMsg('UMS10000291'); //输入的协助公司无效
edtVendor.SetFocus;
Abort;
end;
end;
procedure TTas530_02Form.dbgReasonKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if Key=#32 then //vk_space
begin
adsTas110.Edit;
adsTas110.FieldByName('FSelected').AsBoolean:=not adsTas110.FieldByName('FSelected').AsBoolean;
adsTas110.Post;
end;
end;
procedure TTas530_02Form.dbgReasonMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
inherited;
if dbgReason.GetColumnAt(X,Y)=nil then Exit;
if dbgReason.GetColumnAt(X,Y).Field.FieldName='FSelected' then
begin
adsTas110.Edit;
adsTas110.FieldByName('FSelected').AsBoolean:=not adsTas110.FieldByName('FSelected').AsBoolean;
adsTas110.Post;
end;
end;
procedure TTas530_02Form.edtFromDateExit(Sender: TObject);
begin
inherited;
if edtFromDate.Text='' then
begin
edtToDate.Text:='';
Exit;
end;
try
edtToDate.Date:=edtFromDate.Date+StrToFloat(edtDays.Text)-1;
except
ShowMsg('UMS10000348'); //输入的日期无效,请重新输入
Abort;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -