查了我们所有的代码,都没有写1楼的SQL。
1楼的SQL与"任务中心信息"的这个SQL类似:
procedure TTASKCENTERINFO.InitTaskIndexDataSet;
var
I: Integer;
lTaskFileds: string;
begin
lTaskFileds := 'FTYPENAME, FPRIORITY, FSUBJECT, FFLOWGUID, FBizID, FBIZKIND, ' + ////SMP20080730 加入BIZKIND业务类型,这个列是用来分组的要带着!
'FSPERSON, FSPERSONNAME, FRPERSONNAMES, FSTARTTIME, FFINISHTIME, FLIMITTIME, FWARNINGTIME, ' +
'FPARTYNAME, FPLANNAME, FPLAN, FPROJECTNAME, FPROJECT, FSOGNNAME, FSDEPTNAME, FSPOSITIONNAME, ' +
'FSTATE, FLASTCHANGETIME, FCREATETIME, FPLANSTARTTIME, ' +
'FPLANFINISHTIME, FDISTRIBUTETIME, TTASK.FPARTY, ' +
// for task load
'FGUID, FTYPE, FFUNCURL, FUPDATEFLAG, FPROCURL, FDESCRIPTION, FISANONYMITY ';
if Assigned(FOnGetTaskFieldsEvent) then
FOnGetTaskFieldsEvent(lTaskFileds);
//SMP Add In条件,20080808不应该显示子流程任务和控制任务等非处理类型的任务S
DataSetTaskIndex.SQL.Text := SysUtils.Format('SELECT %s FROM TTASK ' +
' WHERE FGROUPGUID = ''-1'' AND (FKIND in (''ftkActivity'', ''ftkReturn'', ''ftkTransmit'', '
+' ''ftkNotify'', ''ftkGroup'', '''', ''ftkHasten'') or FKIND IS NULL) ORDER BY FCREATETIME DESC', [lTaskFileds]);
DataSetTaskIndex.Order := 'FCREATETIME desc';
DataSetTaskIndex.FilterFields.Clear;
for I := Low(BrowseFieldNames) to High(BrowseFieldNames) do
DataSetTaskIndex.FilterFields.Add(BrowseFieldNames[I]);
DataSetTaskIndex.FilterFields.Add('FBIZID');
DataSetTaskIndex.FilterFields.Add('FNEEDPROCESS');
end; |