起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: alang

[分享]根据需要做一个查询任务的功能,并且可以运行查询到的任务

[复制链接]
 楼主| 发表于 2007-10-30 17:09:41 | 显示全部楼层
那就是找不到符合条件的任务
你的查询条件有问题了,没有符合你条件的记录了,看看你的条件哪里有问题了
回复 支持 反对

使用道具 举报

发表于 2007-10-30 17:12:20 | 显示全部楼层
可是流程未完成 我点了 可以显示出来 而且没有错。。。这是什么原因

如何得到统计数是0还是什么 要是0时 我另想办法
===
procedure TMainForm.btnRunTaskClick(Sender: TObject);
var
  lTaskParam: TLoadTaskParam;
  lFlowParam: TLoadFlowParam;
  lTasks: TTasks;
  lDataSet : TDataSet;
begin
  lDataSet := DataSetBroker.DataSet;
  if not lDataSet.Active or lDataSet.Eof then
    Exit;

  lFlowParam := TLoadFlowParam.Create;
  lTaskParam := TLoadTaskParam.Create;
  lTasks := TTasks.Create;
  try

    //根据ProductID,找到对应的流程Guid值
    DoGetFlowGUIDs(lDataSet.FieldByName('Inst_ID').AsString, lFlowParam.GUIDs);
    lTaskParam.States := [TTaskState.tsStarted, TTaskState.tsProcessing, TTaskState.tsWaiting];
    //流程模型的BizURL
    lFlowParam.ProcURLs.Add('Biz:\DMISXT\ZDHXSBTZTCLC.Proc') ;
    //以给定的条件查询任务(这里给定的条件由lFlowParam给出,根据流程Guid值查询,lTaskParam条件是按照任务状态,只查询出需要处理的任务)
    Flow.FlowEngine.GetTasks(lFlowParam, lTaskParam, lTasks);
    SystemCore.TSystemCore.FuncManager.RunTask(SystemCore.TSystemCore.Operator.Positions[0], lTasks[0]);
  finally
    lFlowParam.Free;
    lTaskParam.Free;
    lTasks.Free;
  end;
end;
回复 支持 反对

使用道具 举报

发表于 2007-10-31 08:15:31 | 显示全部楼层
上面问题自己已搞定
如何得到这个流程是第几步骤。。。是开始还是完成。。。等
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-31 08:35:27 | 显示全部楼层
lTasks[0]是TTask类的实例
下面红色的属性可以得到任务的环节ID

TTask = class(Business.System.TPersistent)
protected
  procedure GetNeedSaveTaskMessages(AList: Business.System.TList);
public
  constructor create;
  procedure Assign(Source: Business.System.TPersistent); override;
  procedure CloneFrom(Source: TTask); virtual;
  procedure Destroy; override;
  procedure GetOrgURLs(AList: Business.Model.Org.TOrgURLs; AInKinds: Business.Model.Org.TOrgUnitKinds; AInStates: TTaskMessageStates);
  procedure LoadFromDataSet(ATaskDataSets: array of Business.Data.TDataSet);
  procedure LoadFromDB(AGUID: string);
  procedure Refresh;
  procedure RefreshTaskMessage;
  procedure SaveToDB;
  property BizDatas: TTaskBizDataList;
  property BizGroup: string;
  property BizGroupName: string;
  property BizKind: string;
  property CreateTime: Double;
  property Description: string;
  property DocRelevancies: Business.Document.TDocRelevancyList;
  property ExecuteMode: TTaskExecuteMode;
  property ExtendAttributeAsString[string]: string;
  property ExtendAttributes: Business.System.TStringList;
  property FinishTime: Double;
  property Flag: string;
  property FlowGUID: string;
  property FuncURL: string;
  property GroupGUID: string;
  property GUID: string;
  property HasGroup: Boolean; readonly;
  property HasLeading: Boolean;
  property HasParent: Boolean; readonly;
  property HasSuccedent: Boolean;
  property IsAsynchronous: Boolean;
  property Kind: string;
  property LastChangeTime: Double;
  property LimitTime: Double;
  property NeedProcess: Boolean;
  property NextGUID: string;
  property ParentGUID: string;
  property Party: string;
  property PartyName: string;
  property Plan: string;
  property PlanFinishTime: Double;
  property PlanName: string;
  property PlanStartTime: Double;
  property PreemptMode: TTaskPreemptMode;
  property PrevGUID: string;
  property Priority: TTaskPriority;
  property ProcUnitID: string;
  property ProcURL: string;
  property SenderDeptID: string;
  property SenderDeptName: string;
  property SenderID: string;
  property SenderName: string;
  property SenderOgnID: string;
  property SenderOgnName: string;
  property SenderPositionID: string;
  property SenderPositionName: string;
  property StartTime: Double;
  property State: TTaskState;
  property Subject: string;
  property TaskMessages: TTaskMessages;
  property TaskType: string;
  property TaskTypeName: string;
  property UpdateFlag: string;
  property WarningTime: Double;
end;
回复 支持 反对

使用道具 举报

发表于 2007-10-31 16:10:35 | 显示全部楼层
现在发现严重问题。。。引用4楼的流程处理了 没权限也能流转。。。怎么办
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-31 16:18:01 | 显示全部楼层
没权限也能流转

是什么意思?
回复 支持 反对

使用道具 举报

发表于 2007-10-31 16:35:28 | 显示全部楼层
看附件一下

流程.rar

676.93 KB, 下载次数: 77

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-31 17:18:28 | 显示全部楼层
没权限也能流转 = 李四没有权限但是可以处理这个任务
当然了,你看看2楼可以按照接受者来定位任务,你只要增加上这个执行者的条件,就可以得到自己的任务了
请楼主多看看2楼的帖子,按照你的条件来做,我给的例子是告诉你可以这样做,至于你需要什么条件,要根据2楼的描述,自己去写的
回复 支持 反对

使用道具 举报

发表于 2007-10-31 17:21:36 | 显示全部楼层
定位任务2楼哪?

直接给下 。谢谢。。。

传给某人 只能某人可以处理 其他只能查看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-31 17:34:31 | 显示全部楼层
2楼 TLoadTaskParam任务条件中
  //任务的接收者列表
  property Receivers: Business.Model.Org.TOrgURLs;
定义这个条件就可以了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-22 23:36 , Processed in 0.039776 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表