Работа со списком пользователей

Часто необходимо сделать в списке столбец для отображения сотрудников. Например, это может быть реестр отпусков в виде календаря, или перечень сертификатов и удостоверений. Стандартно SharePoint при создании столбца в списке дает возможность выбрать тип «Пользователь или группа», и он будет хранить ссылку на сотрудника. Но тут можно выбрать только один тип того, что будет отображаться: имя, должность, отдел, офис, именно что-то одно. Если нужно сделать ссылку на сотрудника и выводить сразу несколько столбцов, например, показывать сразу имя, офис и подразделение сотрудника с возможностью раздельной фильтрации, то такой тип столбца не поможет.

Напрашивается вариант использования для нового столбца типа «Подстановка». Казалось бы, если бы можно было выбрать в качестве подстановочного список всех сотрудников, можно было бы легко заполнить нужный список и вывести одновременно любые столбцы смежного списка (и отдел, и должность, и все что угодно в разных столбцах). Но такой список сотрудников недоступен для выбора в интерфейсе, хотя и существует.

Если перейти по URL вида /_catalogs/users/detail.aspx в любой коллекции сайтов, то отобразится таблица со всеми пользователями. У нее будут все нужные нам столбцы, но напрочь ответствует интерфейс управления (в том числе нет ленточной панели). Доступна только сортировка колонок. Но даже без интерфейса этот список можно править. Для правки нужно узнать его идентификатор. Надо правой кнопкой мыши нажать на имя любого сотрудника, скопировать URL через контекстное меню и увидеть в этом URL такое:

 /_layouts/listform.aspx?PageType=4&ListId={4C911BA8-C7FB-4562-B2CD-733D8F9276F0}&ID=14

Отсюда надо взять GUID (тот, что в скобках после ListId) и скопировать его в другой URL:

/_layouts/listedit.aspx?List={guid}

После перехода по новому URL, откроется страница «Список сведений о пользователях: Параметры». Здесь в обычном режиме можно настраивать для этого списка пользователей все что угодно, включая представления.

Именно этот список требуется сделать доступным для выбора при создании столбцов подстановки. Он формируется и обновляется автоматически, импортируя данные из Active Directory. Он является служебным и скрыт из интерфейса, но это можно исправить, выполнив код на PowerShell в консоли SharePoint:

# URL коллекции сайтов и имя списка с сотрудниками по умолчанию
$siteUrl  = "http://sharepoint/sites/collection/"
$listName = "Список сведений о пользователях"

$site = New-Object Microsoft.SharePoint.SPSite($siteUrl)
$web  = $site.OpenWeb()
$list = $web.Lists[$listName]
$list.Hidden = $false
$list.Update()

Теперь, если все корректно выполнилось, можно использовать список пользователей в качестве списка подстановки и создавать в своих списках столбцы с именем сотрудника, его должностью, офисом, подразделением. Будет очень удобно фильтровать записи в реестре по офису, например, или должности.

Источник: http://blog.sergey-lysenko.ru/2015/10/sharepoint-user-list-as-lookup-column.html

 

Advertisements

Протокол логов SharePoint 2013

Администратору или разработчику SharePoint 2013 может пригодиться знание, где располагаются у него логи и как их читать. В логи смотреть полезно не только в случаев разбора ошибок, но и для профилактики: иногда ошибки «глазами» не увидишь.

По умолчанию SharePoint 2013 хранит логи в текстовом формате в папке:

C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\LOGS

Логи пишутся в специальном формате Unified Logging Service/System (ULS). Читать их можно в любом текстовом редакторе, но гораздо лучше программой ULS Viewer. Она имеет простой и понятный интерфейс. При открытии одного из текстовых логов она выглядит примерно так:

Стоит отметить, что ULS Viewer умеет фильтровать записи, в том числе по Correlation ID. Когда пользователь получает ошибку на экран, SharePoint выдает ему информацию об этой ошибке, в том числе код Correlation ID. Он формируется для любого события, происходящего в SharePoint. Зная этот код, администратор может легко отфильтровать все записи, относящиеся к событию данной ошибки и гораздо быстрее понять ее причину и устранить. Очень удобно: не нужно расспрашивать пользователей, что там было во время ошибки, достаточно просто попросить ее код Correlation ID.

Источник: http://blog.sergey-lysenko.ru/2014/11/sharepoint-2013-logs.html

SharePoint 2013: Show status field in color

In this post we will discuss how we can show colors based on status column value in SharePoint 2013 using calculated column. Here I have a test list which has a choice column known as “Status” column and it has values like:

  • Started
  • InProgress
  • Incomplete
  • Critical
  • Done

So based on this value we want to show different color in the list view, so that by color it will be easy to differentiate from one and other.

For this we took a calculated column and in that calculated column we put the below logic.

=”

&nbsp&nbsp

“,IF([Status]=”InProgress”,”#FFFF00;’> &nbsp&nbsp

“,IF([Status]=”Incomplete”,”#FF9900 ;’>&nbsp&nbsp

“,IF([Status]=”Critical”,”#FF0000;’> &nbsp&nbsp

“,IF([Status]=”Done”,”#00B050;’> &nbsp&nbsp

“)))))

And also make sure that you need to choose “Number” in the “The data type returned from this formula is:” section for the calculated column. It will look like below:

After this based on the status, the color will come like below:

Color Statuses

Screenshot (SharePoint 2013)

 

Hope this will be helpful.