起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 76|回复: 2

【结贴】如何将部门表中的扩展信息设为必填**

[复制链接]
发表于 2007-8-29 16:00:39 | 显示全部楼层 |阅读模式
如何将部门表中的扩展信息设为必填,直接在表上设置字段为必填不起作用,新建部门时点确定后窗口关闭,然后才返回错误框

如何在窗口关闭前截获扩展信息没有填

最好有代码
回复

使用道具 举报

发表于 2007-8-29 16:33:04 | 显示全部楼层
修改 业务模型\系统空间\系统功能\组织机构\组织机构资源库\新建 中的代码
加红字部分

function TCREATEORG.CheckInvalid: Boolean;
var
  lOrgUnit: TOrgUnit;
  lID, lMsg: String;
  lNode: TObjectNode;
  lBizURL: TBizURL;
begin
  Result := False;
  DataSetOrgan.DisableControls;
  lBizURL := TBizURL.Create;
  try
    DataSetOrgan.First;
    while not DataSetOrgan.Eof do
    begin
      lID := DataSetOrgan.FieldByName('FID').AsString;
      lNode := nil;
      lOrgUnit := nil;
      if not TCommonFunc.CheckIDInvalid(lID) then
      begin
        jsDialogs.ShowError('ID值不符合规则,只能数字、英文字母或是下划线', 'ID无效');
        Exit;
      end;
      if TCommonFunc.CheckNameInvalid(DataSetOrgan.FieldByName('FDisplayName').AsString) then
        exit;
      lMsg := '';
      case DataSetOrgan.Tag of
        1, 2: begin
            lOrgUnit := OrgSys.OrgSystem.FindUnit(lID, '', '');
            lMsg := '与机构、部门或工作组“%s[%s]”ID冲突,不能新建';
        end;
        3: begin
            lOrgUnit := OrgSys.OrgSystem.FindUnit('', lID, '');
            lMsg := '与岗位“%s[%s”]的ID冲突,不能新建此岗位';
        end;
        4: begin
            lOrgUnit := OrgSys.OrgSystem.FindUnit('', '', lID);
            lMsg := '与人员“%s[%s]”ID冲突,不能新建此人员';
            if SysUtils.SameText(lID, 'system') then
            begin
              jsDialogs.ShowError('人员ID不能是“System”', '错误');
              exit;
            end;
        end;
        5: begin
            lOrgUnit := OrgSys.OrgSystem.FindUnit(lID, '', '');
            lMsg := '与机构、部门或工作组“%s[%s]”ID冲突,不能新建此工作组';
        end;
        else begin
            try
              lBizURL.URL := 'Org:\Position\' + lID;
              lNode := BizTree.BizTreeStructure.FindNodeByBizURL(lBizURL);
              lMsg := '新建文件夹与文件夹“%s”ID冲突,不能新建此文件夹';
            except
            end;
        end;
      end;
      if Assigned(lOrgUnit) then
      begin
        jsDialogs.ShowError(SysUtils.Format(lMsg, [lOrgUnit.ID, lOrgUnit.DisplayName]), '错误');
        exit;
      end;
      if Assigned(lNode) then
      begin
        jsDialogs.ShowError(SysUtils.Format(lMsg, [lNode.DisplayName]), '错误');
        exit;
      end;
   
     
      if assigned(DataSetOrgan.FieldByName('你的扩展字段ID')) then
      begin
        if DataSetOrgan.FieldByName('你的扩展字段ID').isnull then
        begin
          jsDialogs.ShowError('sadfsa','错误');
          exit;
        end;
      end;
      

      DataSetOrgan.next;
    end;
    Result := True;
  finally
    lBizURL.Free;
    DataSetOrgan.EnableControls;
  end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-30 14:56:36 | 显示全部楼层
搞定,对谢
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-15 17:39 , Processed in 0.034932 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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