起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: dragonsoft

【搞定】急!如何有代码刷新工作台的任务列表?**

[复制链接]
 楼主| 发表于 2007-4-4 19:03:44 | 显示全部楼层
这是对象浏览器截图:

desktop.jpg

39.67 KB, 下载次数: 230

回复 支持 反对

使用道具 举报

发表于 2007-4-5 08:48:40 | 显示全部楼层
那就是对的啊,你是在Studio中直接调试运行这个功能,还是从初始化运行的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-5 12:44:05 | 显示全部楼层
studio直接调试运行又不会出现工作台

我是在studio中初始化运行的
回复 支持 反对

使用道具 举报

发表于 2007-4-6 09:24:04 | 显示全部楼层
怎么会有两个信息呢?
那你改一下
const
  cDesktopURL = 'Biz:\COLLABORATION\DesktopFunc.Func';
  cTaskCenterURL = 'Biz:\COLLABORATION\TASKCENTERINFO.INFO';
var
  lBizObject: TBizObject;
  i: Integer;
  lContext: TContext;
begin
  lContext := Context.FindParentContext(BizSys.IL_PERSON);    //人员环境
  //在人员环境找工作台功能
  for i:=0 to lContext.ChildCount-1 do
  try
    if SysUtils.SameText(cDesktopURL, (lContext.Children.Owner as TFunc).BizClassURL.BizURL.URL) then
      lBizObject := lContext.Children.Owner;
  except
  end;
  if lBizObject=nil then exit;
  //在工作台功能上找任务中心信息
  lContext := lBizObject.Context;
  for i:=0 to lContext.ChildCount-1 do
  try
    if SysUtils.SameText(cTaskCenterURL, (lContext.Children.Owner as TInfo).BizClassURL.BizURL.URL) then
    begin
      lBizObject := lContext.Children.Owner;
    //刷新数据集
      if (lBizObject as TInfo).DataSetByID('TaskIndex').Active then
    (lBizObject as TInfo).DataSetByID('TaskIndex').Refresh;

    end;
  except
  end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-6 09:30:41 | 显示全部楼层
谢谢
8楼代码是可行的。
原来不行的原因是: 工作台上有2个infobroker都关联到任务信息(11楼图片)。好像有一个没设置自动代理。
而代码读到了没自动代理的那个业务信息。 所以把其中的一个代理去掉就好了。

可以结帖了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-6 09:33:42 | 显示全部楼层
o 好巧...  原来alang已经答复了,刚才都没看到。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-29 10:13 , Processed in 0.042005 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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