功能里代码
procedure TDesignTaskRequisitionMainForm_FillFinishThing.DataSetBroker1NewRecord(DataSet: TDataSet);
var
Query1,Query2 : TQuery;
i,j : integer;
begin
Inherited;
//当设计人员新增完成设备明细表时,完成设备任务分类明细表和完成设备任务内容明细通过代码从原始表复制过来
Query1 := TQuery.Create(self);
Query1.ConnectionString := 'DATABASEURL=Biz:\JUSTEPCOOPERATIONSYSTEM\CooperationDB.Database';
Query1.CommandText := 'select * from OA_DesignTaskRequisitionTaskClassDetail '+
'where fid='''+DataSetBroker2.DataSet.FieldByName('RequisitionId').AsString+''' '+
' and DesignFlag=1';
Query1.Open;
Query1.First;
InfoBroker1.Info.DataSetByID('FinishProductTaskClassDetail').DisableControls;
while not Query1.Eof do
begin
InfoBroker1.Info.DataSetByID('FinishProductTaskClassDetail').Append;
with InfoBroker1.Info.DataSetByID('FinishProductTaskClassDetail') do
begin
Edit;
FieldByName('DesignFlag').AsString := Query1.FieldByName('DesignFlag').AsString;
FieldByName('TaskClass').AsString := Query1.FieldByName('TaskClass').AsString;
post;
end;
Query1.Next;
end;
InfoBroker1.Info.DataSetByID('FinishProductTaskClassDetail').EnableControls;
InfoBroker1.Info.DataSetByID('FinishProductTaskClassDetail').First;
Query1.Close;
end;
信息里的代码
procedure TDesignTaskRequisition.DataSetFinishProductTaskClassDetailFieldChange(DataSet: TDataSet; Field: TDataField);
var
i : integer;
Query1,Query2: TQuery;
begin
Inherited;
if (Field.IsNull=false) then
begin
try
Query1 := TQuery.Create(self);
Query1.ConnectionString := 'DATABASEURL=Biz:\JUSTEPCOOPERATIONSYSTEM\CooperationDB.Database';
Query1.CommandText := 'select * from OA_DesignTaskRequisitionTaskClassDetail '+
'where fid='''+DataSetDesignerChargeTaskDetail.FieldByName('RequisitionId').AsString+''' '+
' and TaskClass='''+Variants.VarToStr(Field.Value)+''' and DesignFlag=1';
Query1.Open;
if Query1.RecordCount=0 then
begin
Dialogs.ShowMessage('该任务分类不需要设计!');
DataSetFinishProductTaskClassDetail.Cancel;
SysUtils.Abort;
end;
//根据设计标识,决定对应的任务分类是否可以修改
if DataSetFinishProductTaskClassDetail.FieldByName('DesignFlag').AsInteger=0 then
begin
Dialogs.ShowMessage('该任务分类的设计标识没有勾上!');
DataSetFinishProductTaskClassDetail.Cancel;
SysUtils.Abort;
end;
DataSetFinishProductTaskClassDetail.FieldByName('OrderNo').AsString := Query1.FieldByName('OrderNO').AsString;
DataSetFinishProductTaskClassDetail.FieldByName('PlanCompleteDate').AsString := Query1.FieldByName('PlanCompleteDate').AsString;
Query2 := TQuery.Create(self);
Query2.ConnectionString := 'DATABASEURL=Biz:\JUSTEPCOOPERATIONSYSTEM\CooperationDB.Database';
Query2.CommandText := 'select * from OA_DesignTaskRequisitionDetail '+
'where fid='''+Query1.FieldByName('Id').AsString+''' '+
'and ExportForm='''+'2'+''' '+
'and TaskContent<>'''+'140400'+''' and TaskContent<>'''+'150600'+''''; //任务内容不为“纸制文档”
Query2.Open;
Query2.First;
for i:=1 to DataSetFinishProductTaskContentDetail.RecordCount do
begin
DataSetFinishProductTaskContentDetail.Delete;
DataSetFinishProductTaskContentDetail.Next;
end;
DataSetFinishProductTaskContentDetail.DisableConstraints;
while not Query2.Eof do
begin
DataSetFinishProductTaskContentDetail.Append;
with DataSetFinishProductTaskContentDetail do
begin
Edit;
FieldByName('OrderNO').AsString := Query2.FieldByName('OrderNO').AsString;
FieldByName('TaskClass').AsString := Query1.FieldByName('TaskClass').AsString;
FieldByName('ExportForm').AsString := Query2.FieldByName('ExportForm').AsString;
FieldByName('DocType').AsString := Query2.FieldByName('DocType').AsString;
FieldByName('TaskContent').AsString := Query2.FieldByName('TaskContent').AsString;
FieldByName('PlanCompleteDate').AsString := Query1.FieldByName('PlanCompleteDate').AsString;
Post;
end;
Query2.Next;
end;
Query2.Close;
Query1.Close;
//DataSetFinishProductTaskContentDetail.ApplyUpdates;
DataSetFinishProductTaskContentDetail.EnableControls;
finally
Query2.free;
Query1.free;
end ;
end;
end;
//DataSetFinishProductTaskContentDetail.EnableControls;
end;