понедельник, 29 июня 2015 г.

Применение фильтров к полям в представлении с помощью кнопок

Захотел облегчить работу пользователей в SharePoint, и добавить кнопки фильтрации по полю.
Т.к. значений там не много, то я создал кнопки при клике, на которую переходили по адресу http://текущий_адрес.aspx?FilterField1=Vendor&FilterValue1=VMware
В FilterField1 указываем интернал нейм поля, в FilterValue1 значение.
Представлений стало много (активные заявки, выполненные и т.п.) и для каждого представления прописывать руками жестко адрес было лень сделал более универсальный код, который сам берет текущий адрес и работает с ним.
Для красоты добавил Bootstrap.





воскресенье, 28 июня 2015 г.

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

После установки весенних обновлений веб-часть отображений дней рождения (о которой написал статьи) стала выдавать ошибку.


Замечено, что проблема бывает только в Internet Explorer.
После более глубокого изучения стало понятно, что дело в языковых параметрах.
Путь первый:
Если в расладке клавиатуры по умолчанию использовать En, то в Internet Explorer вываливается ошибка и язык интерфейса SharePoint становится En. (экспериментировал с Win 8.1)

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

В этом случае не учитывается параметры раскладки локальной машины и сайт отображается на русском и с веб-частью проблем не заметил.
Но как сделать это у всех?

На помощь может прейти знакомый PowerShell

$mySiteUrl = "http://my.sites.com" 

#Connect to User Profile Manager service 
$site = Get-SPSite $mySiteUrl 
$context = Get-SPServiceContext $site 
$profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context) 

for($i=1; $i -le $profileManager.Count; $i++ )
{

    $user = $profileManager.GetUserProfile($i)
    write-host $user.AccountName - $user['SPS-MUILanguages']
    $user['SPS-MUILanguages'].Value = "ru-RU"
    $user.Commit()
}


пятница, 5 июня 2015 г.

работа с Flexi Task Nintex с помощью javascript

В компании, для автоматизации бизнес процессов применяется Nintex и вот появилась задача, вывести на форме элемента кнопки согласования. В интернете много решений с использованием InfoPaht, но так как я его не люблю, то использовал javascript.