起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 271|回复: 0

[分享]3000版本-加分类任务工作台**

[复制链接]
发表于 2008-7-17 11:45:43 | 显示全部楼层 |阅读模式
新版本加分类任务工作台的方法是这样的
1、模仿 业务模型\协同系统\任务\任务中心信息\任务导航(待办)2  做一个新的工作台。代码要一模一样,注意,因为这个是继承的,直接复制不行,必须手工继承 业务模型\协同系统\任务\任务中心信息\任务导航(基类),copy代码。  我的新的工作台叫:业务模型\协同系统\任务\任务中心信息\任务导航(待办类别|XXX)
2、我利用 任务表的扩展字段 ESField06  做分类,比如有XXX的,为我要过滤出来的任务。
  业务模型\协同系统\任务\任务中心资源
在  TFilterBuilder = class(TObject)    的public里面加一个变量
……
public
     //按照自定义类型过滤任务
    FNewTaskType:String;
     function GetNewFilter: string;
……

加一个构造sql的函数
//new
function TFilterBuilder.GetNewFilter: string;
var
   Fsql:string;
begin
   fsql:='ESField06 = ''%s''';
   result:='';
   if FNewTaskType<>'' then
     result:=sysutils.Format(fsql,[FNewTaskType]);
end;

//添加这个新的限制
function TFilterBuilder.GetFilter: string;
begin
  Result := AddFilter('', GetTypeFilter);
  Result := AddFilter(Result, GetDateRangeFilter);
  Result := AddFilter(Result, GetOrgFilter);
//new
   Result := AddFilter(Result, GetNewFilter);
//  Result := AddFilter(Result, GetStateFilter);
end;
//创建这个对象的时候,把我的变量赋初值
constructor TFilterBuilder.Create(AContext: TContext);
begin
  //new
  FNewTaskType:='';
……
3、业务模型\协同系统\任务\任务中心信息\任务导航(待办类别|XXX  代码里面添加

procedure TRWDH_JHMDB_2.FormDocCreate(Sender: TObject);
begin
  Inherited;
// new
    FFilterBuilder.fNewTaskType:='XXX';
    FilterTypeStr := TRTLConsts.NeedProcessTaskTypeStr;
end;
4、把这个工作台配置到桌面上即可。如果发现你的工作台里面又套一个待办任务,请按照待办任务(2)修改,把不要的控件隐藏起来。

5我们这个工作台的更多也链接  我的任务,但没有按照XXX过滤
。如果需要过滤功能,需要修改  业务模型\协同系统\任务\任务中心资源\任务桌面过滤,和  业务模型\协同系统\任务\我的任务
具体方法 和上面类似 ,只不过是修改 任务桌面过滤的 FFilterBuilder: TFilterBuilder;  里面的构造sql部分,并自定义规则,把参数传递进来
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-19 13:02 , Processed in 0.035450 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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