среда, 28 ноября 2018 г.

Заполнение текущего пользователя в PeoplePicker

В этой статье я расскажу, как можно заполнять текущего пользователя в поле PeoplePicker
Для этого нам понадобятся две функции:
1. Получает текущего пользователя
2. Меняет значение в поле PeoplePicker

конечный резульрат

понедельник, 21 мая 2018 г.

Обновление фотографий пользователей из AD (SharePoint 2016)

Наверное, ни для кого не секрет, что в SP 2016 убрали FIM и на его основе сделали MIM. Но как быть если хочется погружать свойства из AD в свойства пользователей и при этом не ставить MIM.
В этой статье я расскажу, как можно с помощью PowerShell загрузить фото.
Принцип работы такой:
  • Из AD получаем всех пользователей, у которых есть фото.
  • Далее пробегаем по ним и сохраняем файлы фотографий локально на диск сервера.
  • Следующим этапом циклом проходим по файлам на диске и загружаем их SP

пятница, 6 апреля 2018 г.

Изменение лимита workflow manager

Последнее время участились случаи, когда при массовых обновлениях элементов SharePoint из других систем память заканчивалась. Я тешил изменить настройки лимитов и согласно статье https://msdn.microsoft.com/ru-ru/library/jj680843(v=azure.10).aspx
Нужно поменять параметр WorkflowServiceMaxLoadedInstances и жизнь должна наладиться, но мои попытки сделать это через PowerShell заканчивались ошибкой.

Set-WFServiceConfiguration : ActivityId клиента Базовое соединение закрыто: Непредвиденная ошибка при приеме.: 599cc617-c030-0007-31cf-af5930c0d301.
строка:1 знак:1
+ Set-WFServiceConfiguration
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Set-WFServiceConfiguration], WorkflowCommunicationException
    + FullyQualifiedErrorId : Microsoft.Workflow.Client.WorkflowCommunicationException,Microsoft.Workflow.Commands.SetServiceConfigCommand

понедельник, 27 ноября 2017 г.

Отображение Ribbon для конкретного пользователя

Рассмотрим задачу, когда нужно скрыть риббон и верхнюю панель.
это сделать не так сложно, нужно добавить всего пару строчек CSS
#suiteBarDelta{
  display: none;
}
#s4-ribbonrow{
     display: none;
}


Но возникает проблема, ведь часть кнопок скрыта и администрировать становится не возможным. Конечно можно открыть панель разработчика в браузере и отобразить требуемы контент, но при частой работе с риббоном это не удобно.

вторник, 10 октября 2017 г.

Как получить значение поля в DispForm

Некоторое время назад появилась задача произвести манипуляции с полем (скрыть/показать) на форме просмотра.
Можно пойти по пути обращения к полю по его названию, но мне этот вариант не нравиться.

среда, 27 сентября 2017 г.

Заполнение пользователя в поле, если форма изменена в дизайнере

Допустим  мы изменили форму через дизайнер и у нас есть задача указать поле "Пользователь или группа" определенного пользователя.
мы можем это сделать прибегнув к jQuery


jQuery("table.ms-usereditor").find("div").text("user login");
jQuery("table.ms-usereditor").find("td:eq(2)").children().eq(0).click();




данное решение будет работать если в форме поле выбора пользователя только одно.

четверг, 7 сентября 2017 г.

Всплывающие подсказки - callout

В этой статье я расскажу, как можно добавить Callout (popover от MS).

Я не буду в даваться в детали, т.к. примеров в инете достаточно, а покажу как можно сделать универсальное решение.

пятница, 4 августа 2017 г.

Утверждение задач WorkFlow через PowerShell

В этой статье я расскажу, как можно массово через PowerShell утвердить задачи РП созданные через рабочий процесс "Утверждение"

и так нам понадобится 

U2U Caml Query Builder  

с помощью которого мы формируем CAML
полученный CAML вставляем в скрипт

$web = Get-SPWeb http://portal/sites/Doct
$List = $web.Lists["Задачи"]

$Query = New-Object Microsoft.SharePoint.SPQuery;
$Query.Folder = $List.RootFolder;
$camlQuery =   "9"
$camlQuery
$Query.Query = $camlQuery;
$Query.RowLimit = 100;
$List.GetItems($Query)  |  foreach-object {

    $item = $_
    write-host $item.Name $item.Id  
    $item['WorkflowOutcome']='Утверждено'
    $item['ExtendedProperties'] = $item['ExtendedProperties'] + "ows_TaskStatus='Утверждено' ows_FieldName_Comments=''"         
    $item['PercentComplete']= 1
    $item['Completed']=1
    $item['Status']= 'Завершена'
    $item.Update()

}
$web.Dispose()