首页 文章

SharePoint列表用户的显示管理器名称

提问于
浏览
0

我希望在列中显示管理器名称(在AD中为用户定义),具体取决于另一列中的选择 . 例如 .

第1栏 - 员工姓名栏目2 - 部门栏目3 - 经理

第1列填充了员工姓名并保存 . 它是“用户或组”类型列第2列是“人员或组”列,“显示字段”选项设置为部门 . 我有一个工作流,从一个新条目开始,该条目获取第1列数据并将其应用于第2列,从而显示用户部门 .

我的问题是在“显示字段”选项中没有经理选择 . 有没有办法将其显示为选择,还是有另一种方式让我根据员工的选择来填充用户经理?

我尝试过的另一个选项是为当前员工(输出到变量:manager)执行2010工作流,然后更新管理器列以使用变量管理器中的数据,但似乎没有显示任何内容 . enter image description here也许我在这里做错了..

任何帮助,将不胜感激 .

更新了截图信息
enter image description here

2 回答

  • 0

    Manager列的数据类型是什么?把它'Person or Group' . 在工作流程中,选择返回字段为'Login Name'并尝试 . 以下是截图 .
    enter image description here

  • 0

    您可以在New Form上获取所有三个值,然后保存它 . 使用SPServices jQuery . 只需下载最新的一个 . 下面是脚本 .

    <script type="text/javascript" src="/your path to JS/SiteAssets/JS/jquery-3.1.1.js"></script>  
    <script type="text/jscript" src="/your path to JS/SiteAssets/JS/jquery.SPServices.min.js"></script>  
    
    <script type="text/javascript">
    
    $(document).ready(function () {
    
            var managerName;
           
    
    	var userName = $().SPServices.SPGetCurrentUser();
    	
    
            $().SPServices({
                operation: "GetUserProfileByName",
                async: false,
                AccountName: userName,
                completefunc: function (xData, Status) 
    		{
    
                    managerName = $(xData.responseXML).text();
                    var managerLength = managerName.length;
                    var indexofManager = managerName.indexOf("ManagerPublic");
                    managerName = managerName.substring(indexofManager+13, managerLength);		
                    var indexOffalse = managerName.indexOf("false");		
                    managerName = managerName.substring(0, indexOffalse);
    		
                	}
            });	
    
    
    	var UserDept = $().SPServices.SPGetCurrentUser({  
    	fieldName: "Department",  	
    	debug: false  
    	});
    
    	var CurrentUser = $().SPServices.SPGetCurrentUser({
    	fieldName: "Title",	
    	debug: false
    	});
    
    	$("input[title*='Employee Name']").val(CurrentUser); // For assigning to SharePoint column named 'Employee Name'	 
    
    	$("input[title*='Department']").val(UserDept); // For assigning to SharePoint column named 'Department'  
    
    	var Mgr =  $().SPServices.SPFindPeoplePicker({
    	peoplePickerDisplayName: "Manager", // For assigning to SharePoint column named 'Manager'
    	valueToSet: managerName,
      	checkNames: true
    	}); 
    
    });
    </script>
    

相关问题