起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 212|回复: 8

【结贴】怎么修改代码

[复制链接]
发表于 2009-11-9 15:11:45 | 显示全部楼层 |阅读模式
lOrgURLs := TStringList.Create;
  APersonMemberURLs := TStringList.Create;
  try
    ADeptID := 'ZR';
    lOrgExpr := 'OrgChildren(OrgKey(''%s'', '''', ''''), OrgCondition(''*.PSM'', '''', ''''), True, False)';
    OrgSys.OrgSystem.GetBizURLsByOrgExpr(SysUtils.Format(lOrgExpr, [ADeptID]), lOrgURLs);
    APersonMemberURLs.AddStrings(lOrgURLs);
    ADeptID := 'FZR';
    OrgSys.OrgSystem.GetBizURLsByOrgExpr(SysUtils.Format(lOrgExpr, [ADeptID]), lOrgURLs);
    APersonMemberURLs.AddStrings(lOrgURLs);

    if APersonMemberURLs.count >0 then
       begin
           lFlowTask.Executors.Clear;   //删除缺省执行者
           for I := 0 to APersonMemberURLs.count - 1 do
           begin
              strGZFZRID := APersonMemberURLs.Strings[I];
              lOrgURL := TOrgURL.Create(strGZFZRID);
              lFlowTask.Executors.Add(lOrgURL);//添加执行者
           end;
       end;
  finally
    lOrgURLs.Free;
    APersonMemberURLs.Free;
  end;

我想取得两个部门的全部人员,然后修改默认执行者,现在是OrgURL创建的不对,请问怎么修改?
回复

使用道具 举报

发表于 2009-11-9 15:37:48 | 显示全部楼层
lOrgURL := TOrgURL.Create(strGZFZRID);
楼主,你说的是这个语句么?

你直接用这句试试
lOrgURL := TOrgURL.Create(lOrgURLs);
回复 支持 反对

使用道具 举报

发表于 2009-11-9 15:47:27 | 显示全部楼层
楼主,你查询平台类库参考,
可以看到TOrgURL下
constructor create(AOwner: Business.System.TComponent);
你的strGZFZRID是个TStringList。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-9 15:56:49 | 显示全部楼层
to zfang
提示没有匹配方法
回复 支持 反对

使用道具 举报

发表于 2009-11-9 15:57:14 | 显示全部楼层
2楼错了:strGZFZRID是什么对象?
TOrgURL.Create(此参数需是一个BIZURL);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-9 15:59:54 | 显示全部楼层
to FBO
我看了参考,明白传的参数不对,可是OrgSys.OrgSystem.GetBizURLsByOrgExpr得到的不是BizRUL对象吗?放到TstringList转换一下就用不了了?那我怎么用?你们的参考只把函数列出来了,但是参数,函数的功能都要自己去猜,太麻烦了

qq截图未命名4.jpg

103.75 KB, 下载次数: 129

回复 支持 反对

使用道具 举报

发表于 2009-11-9 16:00:41 | 显示全部楼层
参考代码 如下
var
lOrgURL : TOrgURL;
lBizUrl : TBizURL;
begin
  lBizUrl := TBizURL.Create;
    for i := 0 to lStrings.Count - 1 do
    begin
      lBizUrl.URL := lStrings;
      lOrgURL := TOrgURL.Create(lOrgUnit.BizURL);

      Dialogs.ShowMessage(lOrgURL.PersonID);
    end;
    lBizUrl.Free;
end
回复 支持 反对

使用道具 举报

发表于 2009-11-9 16:08:26 | 显示全部楼层
恩,你抓的图不对吧,我查类库也不对,正确的是下面这样:
NameSpace: Business.Model.Org
--------------------------------------------------------------------------------
TOrgURL = class(Business.System.TPersistent)
public
  constructor create; overload;
  constructor create(ABizURL: Business.Model.TBizURL); overload;
  constructor create(ADeptID: string; APositionID: string; APersonID: string); overload;
  procedure Assign(Source: Business.System.TPersistent); override;
  procedure Destroy; override;
  function Equals(AOrgURL: TOrgURL): Boolean;
  function IsNull: Boolean;
  procedure SetBizURL(ABizURL: Business.Model.TBizURL);
  procedure SetIDs(ADeptID: string; APositionID: string; APersonID: string);
  property BizURL: Business.Model.TReadOnlyBizURL; readonly;
  property DeptID: string; readonly;
  property Kind: Business.Model.TBizObjectKind; readonly;
  property PersonID: string; readonly;
  property PositionID: string; readonly;
end;


你再查询下,是不是抓图抓错了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-9 16:51:23 | 显示全部楼层
搞定,谢谢

to FBO
我用的类库参考就是那个,从开发环境按F1进去的就是,不清楚是否还有别的类库参考。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-14 20:23 , Processed in 0.046317 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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