Всплывающие окна javascript


В последнее время занимаюсь кастомизацией небольшого проекта на SP2010 и возникла потребность в вызове диалоговых окон при помощи javascript.

Небольшой сниппет, используемый для этих целей.

 var options=SP.UI.$create_DialogOptions();
 options.url="http://yourserver/site/list/form/...";
 void(SP.UI.ModalDialog.showModalDialog(options));

Как сделать адрес списка или библиотеки понятным?

Наверное все уже давно заметили, что при создании новых списков или библиотек, если в названии указать имя на русском (например - Документы), то адрес созданной библиотеку будет в виде http://<mysite>/DocLib<№> (если список, то http://<mysite>/lists/list<№>).

Конечно можно вручную поменять адрес при помощи SPD, но есть более простой вариант. При создании списка или библиотеки указывайте имя на англ., а затем в параметрах через webUI замените на русский.


Плюс очевиден - для этого не нужно использовать SharePoint Designer :-)

Как узнать количество элементов во всех списках семейства сайтов


Скрипт пробегает по всем сайтам в семействе и выводит информацию по каждому списку и сайту.


Add-PSSnapin Microsoft.SharePoint.PowerShell
Start-SPAssignment -Global


$spSite = New-object Microsoft.SharePoint.SPSite("site collection address")
foreach ($web in $spSite.AllWebs)
{
   Write-Host
   $web.Title
   Write-Host "*********************"
   $cnt = 0
   foreach ($list in $web.Lists)
   {
        Write-Host "$list : " -nonewline
        $list.ItemCount
        $cnt += $list.ItemCount
   }
   Write-Host "-------------------"
   Write-Host "Всего по сайту : $cnt"
}


Stop-SPAssignment -Global
Remove-PsSnapin Microsoft.SharePoint.PowerShell

Удаление всех оповещений списка через powershell

$SPweb = Get-SPWeb "URL сайта"
$SPList = $SPweb.Lists["Имя списка"]
$IDS = "" # сюда будут складываться ИД оповещений
# Пробегаем по всем оповещениям сайта
foreach($alert in $SPweb.Alerts)
{
   # выбираем только те,которые относятся к нужному списку
    if($alert.ListID -eq $SPlist.ID)
    {
        $IDS += $alert.ID.tostring() + "|"
    }
    write-host -nonewline "*"
}
write-host "deleting..."
foreach($s in $IDS.Split("|"))
{
    write-host -nonewline "*"
    $spweb.alerts.delete([GUID]$s)
}
$SPweb.Dispose()

Разница между двумя датами с исключением выходных дней

Для подсчета разницы между двумя датами в вычисляемом столбце списка без подсчета выходных дней, можно воспользоваться следующей формулой:

=IF(AND((WEEKDAY([Срок по];2))<(WEEKDAY([Срок с];2));((WEEKDAY([Срок с];2))-(WEEKDAY([Срок по];2)))>1);(((DATEDIF([Срок с];[Срок по];"D")+1))-(FLOOR((DATEDIF([Срок с];[Срок по];"D")+1)/7;1)*2)-2);(((DATEDIF([Срок с];[Срок по];"D")+1))-(FLOOR((DATEDIF([Срок с];[Срок по];"D")+1)/7;1)*2)))

! Если установлена английская локализация,то вместо таких разделителей ; используйте запятые ,

SharePoint для профессионалов: Scrum в команде SharePoint

SharePoint для профессионалов: Scrum в команде SharePoint: Вчера завершился очередной спринт. По результатам: почти все задачи выполнены, большая часть из выполненных уже протестирована и закрыта, и ...

Как правильно организовать среду разработки

Использование виджетов в SharePoint