起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 230|回复: 15

【结贴】流转的时候组织机构显示有问题**

[复制链接]
发表于 2009-3-18 10:57:58 | 显示全部楼层 |阅读模式
为什么有两个组织机构,在开发段调试的时候是没有的,

未命名.gif

108.21 KB, 下载次数: 103

回复

使用道具 举报

 楼主| 发表于 2009-3-18 10:59:16 | 显示全部楼层
跟组织机构那7张表数据好像没关系,我昨天把那7张表的数据全部删除了,再重新加的数据
回复 支持 反对

使用道具 举报

发表于 2009-3-18 11:11:37 | 显示全部楼层
http://bbs.justep.com/forum.php?mod=viewthread&tid=27489
楼主你之前有问过这个问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-18 11:12:38 | 显示全部楼层
3002
开发段调试的时候最顶层显示的是组织模型
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-18 11:16:57 | 显示全部楼层
是呀,本来是不想解决的了,但客户这周列会又提这个问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-18 11:20:46 | 显示全部楼层
当时说要提供数据,被其他问题缠着了,所以这个搁一边了,昨天我把组织机构的那几张表清了,还出现这个问题,应该不是组织机构那几张表的事
回复 支持 反对

使用道具 举报

发表于 2009-3-18 11:38:50 | 显示全部楼层
楼主,你看按这种方式修改后的效果是否可以:
业务模型\系统空间\用户界面基础\界面库\系统接口\选择组织单元对话框
procedure TSELECTORGUNITSFORM.RefreshSource;  
    lKinds := lKinds + [TOrgUnitKind.boOrgServer, TOrgUnitKind.boPositionRoot, TOrgUnitKind.boPosition];

TOrgUnitKind.boOrgServer这个选项注释掉。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-18 14:29:32 | 显示全部楼层
不行 试过了  我把TOrgUnitKind.boOrgServer这个选项注释掉 还是不能解决问题
回复 支持 反对

使用道具 举报

发表于 2009-3-18 14:58:44 | 显示全部楼层
改完之后的效果是下面这样的,不知道客户能否满意

snap1.png

18.66 KB, 下载次数: 89

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-19 09:21:17 | 显示全部楼层
我把那个都改过来了,改成这样
procedure TSELECTORGUNITSFORM.RefreshSource;
var
  lKinds: TBizObjectKinds;
  lOrgNodes, lOrgTreeNodes: TStringList;

  I: Integer;
  lNodes: TList;
  lNode: TTreeNode;
begin
  lKinds := InKinds;
  if TOrgUnitKind.boPosition in InKinds then
  begin
    FileSys.FileSystem.Refresh('Org:\Position', false);
    lKinds := lKinds + [
    //TOrgUnitKind.boOrgServer,
    TOrgUnitKind.boPositionRoot, TOrgUnitKind.boPosition];
    TOrgUnitSelector(btbSearch.ToolBarModule).SearchRoots.Add('ORG:\POSITION\');
    TOrgUnitSelector(btbSearch.ToolBarModule).Kinds := TOrgUnitSelector(btbSearch.ToolBarModule).Kinds + [TBizObjectKind.boPosition];
  end;
  if TOrgUnitKind.boDept in InKinds then
  begin
    lKinds :=  lKinds + [
      //TOrgUnitKind.boOrgServer,
      TOrgUnitKind.boOrgRoot, TOrgUnitKind.boOrgan];
    TOrgUnitSelector(btbSearch.ToolBarModule).SearchRoots.Add('ORG:\ROOT\');
    TOrgUnitSelector(btbSearch.ToolBarModule).Kinds := TOrgUnitSelector(btbSearch.ToolBarModule).Kinds + [TBizObjectKind.boDept];
  end;
  if TOrgUnitKind.boPositionMember in InKinds then
  begin
    lKinds :=  lKinds + [
      //TOrgUnitKind.boOrgServer,
      TOrgUnitKind.boOrgRoot, TOrgUnitKind.boOrgan, TOrgUnitKind.boDept];
    TOrgUnitSelector(btbSearch.ToolBarModule).SearchRoots.Add('ORG:\ROOT\');
    TOrgUnitSelector(btbSearch.ToolBarModule).Kinds := TOrgUnitSelector(btbSearch.ToolBarModule).Kinds + [TBizObjectKind.boPositionMember];
  end;
  if TOrgUnitKind.boPersonMember in InKinds then
  begin
    lKinds := lKinds + [
      //TOrgUnitKind.boOrgServer,
      TOrgUnitKind.boOrgRoot, TOrgUnitKind.boOrgan, TOrgUnitKind.boDept, TOrgUnitKind.boPositionMember];
    TOrgUnitSelector(btbSearch.ToolBarModule).SearchRoots.Add('ORG:\ROOT\');
    TOrgUnitSelector(btbSearch.ToolBarModule).Kinds := TOrgUnitSelector(btbSearch.ToolBarModule).Kinds + [TBizObjectKind.boPersonMember];
  end;

  if FSourceIsAll then
  begin
    trvSource.StartWithNodes.Clear;
    trvSource.Nodes := nil;
    trvSource.AutoExpand := False;
    trvSource.ShowOptions := lKinds;
    trvSource.ReloadTree;
    trvSource.ShowOptions := [TOrgUnitKind.boFolder, TOrgUnitKind.boOrgServer] + lKinds;
    TOrgUnitSelector(btbSearch.ToolBarModule).SearchRoots.Add('ORG:\ROOT\');
    TOrgUnitSelector(btbSearch.ToolBarModule).SearchRoots.Add('OR:\POSITION\');
    Exit;
  end;

  lOrgNodes := TStringList.Create;
  lOrgTreeNodes := TStringList.Create;
  try
    GetOrgNodes(SourceOrgURLs, lOrgNodes);

    trvSource.StartWithNodes.Clear;
    trvSource.BaseTree.GetNodesTreeList(lOrgNodes, lOrgTreeNodes, False,
      False, True, True);
    trvSource.ShowOptions := [TOrgUnitKind.boFolder, TOrgUnitKind.boOrgServer] + lKinds;
    trvSource.Nodes := lOrgTreeNodes;
    if SourceOrgURLs.Count <= 8 then
      trvSource.FullExpand
    else
    begin
      lNodes := TList.Create;
      try
        for I := 0 to trvSource.Items.Count - 1 do
        begin
          lNode := TTreeNode(trvSource.Items[I]);
          if (lNode.Level = 1) then
            lNodes.Add(lNode);
        end;
        for I := 0 to lNodes.Count - 1 do
        begin
          lNode := TTreeNode(lNodes[I]);
          if not lNode.Expanded then
            lNode.Expand(False);
        end;
      finally
        lNodes.Free;
      end;
    end;

    // 强制刷新,是为了使上下滚动条处于树的顶部。要不然就会处于树的底部。
    lNode := trvSource.Selected;
    trvSource.Selected := nil;
    trvSource.Selected := lNode;
  finally
    lOrgTreeNodes.Free;
  end;
end;

还是没有你上面图的效果
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-23 21:13 , Processed in 0.041792 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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