none
Календарь Sharepoint - чистка, удаление нескольких элементов за определенный период. RRS feed

  • Вопрос

  • Приветствую! Есть портал Sharepoint 2013. Есть календарь, который интенсивно заполняется с 2011 года. В нем уже более 5000 элементов.

    Необходима чистка календаря. Задача - удалить старые элементы (события 2011-2014 годов). Ручное удаление элементов очень длительное и бессмысленное.

    Вопросы: Есть ли варианты автоматической очистки календаря?

    Возможна ли очистка от событий за определенный период (например, удаление событий за 2011-2014 годы).

    Может быть есть вариант выбрать новые события (2015-2016 годы) и вставить их в чистый календарь?

    Возможен ли экспорт календаря в приложение (Excel, Access) с возможностью редактирования в нем?

    Спасибо.


    25 марта 2016 г. 12:42

Ответы

  • Приветствую! Есть портал Sharepoint 2013. Есть календарь, который интенсивно заполняется с 2011 года. В нем уже более 5000 элементов.

    Необходима чистка календаря. Задача - удалить старые элементы (события 2011-2014 годов). Ручное удаление элементов очень длительное и бессмысленное.

    Вопросы: Есть ли варианты автоматической очистки календаря?

    Возможна ли очистка от событий за определенный период (например, удаление событий за 2011-2014 годы).

    Может быть есть вариант выбрать новые события (2015-2016 годы) и вставить их в чистый календарь?

    Возможен ли экспорт календаря в приложение (Excel, Access) с возможностью редактирования в нем?

    Спасибо.


    В вопросе удаления можно использовать PowerShell, диапазон дат можно выставить через условие CamlQuery:

    [void][System.reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
    $site = new-object Microsoft.SharePoint.SPSite("http://sitecollectionURL") 
    $web = $site.rootweb 
    $list = $web.Lists["Name of the List"]
    $caml='<Where>
            <Leq>
                <FieldRef Name="Created" />
                <Value IncludeTimeValue="TRUE" Type="DateTime">2011-12-31T02:32:20Z</Value>
            </Leq>
        </Where>'
    $query=new-object Microsoft.SharePoint.SPQuery 
    $query.Query=$caml | Write-Output
    $items=$list.GetItems($query) 
    $listItemsTotal = $items.Count;
    for($x=$listItemsTotal-1;$x -ge 0; $x--)
    {
            $items[$x].Delete()
    }
    $web.Dispose() 
    $site.Dispose() 


    25 марта 2016 г. 13:20
  • Добрый день

    т.к. календарь - это тоже список, то можно попробовать разнести по папкам. 

    не знаю как будет работать сам календарь с элементами в папках.

    есть обсуждение в соседней ветке


    мой блог Немного о SharePoint

    25 марта 2016 г. 13:33
    Модератор

Все ответы

  • Приветствую! Есть портал Sharepoint 2013. Есть календарь, который интенсивно заполняется с 2011 года. В нем уже более 5000 элементов.

    Необходима чистка календаря. Задача - удалить старые элементы (события 2011-2014 годов). Ручное удаление элементов очень длительное и бессмысленное.

    Вопросы: Есть ли варианты автоматической очистки календаря?

    Возможна ли очистка от событий за определенный период (например, удаление событий за 2011-2014 годы).

    Может быть есть вариант выбрать новые события (2015-2016 годы) и вставить их в чистый календарь?

    Возможен ли экспорт календаря в приложение (Excel, Access) с возможностью редактирования в нем?

    Спасибо.


    В вопросе удаления можно использовать PowerShell, диапазон дат можно выставить через условие CamlQuery:

    [void][System.reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
    $site = new-object Microsoft.SharePoint.SPSite("http://sitecollectionURL") 
    $web = $site.rootweb 
    $list = $web.Lists["Name of the List"]
    $caml='<Where>
            <Leq>
                <FieldRef Name="Created" />
                <Value IncludeTimeValue="TRUE" Type="DateTime">2011-12-31T02:32:20Z</Value>
            </Leq>
        </Where>'
    $query=new-object Microsoft.SharePoint.SPQuery 
    $query.Query=$caml | Write-Output
    $items=$list.GetItems($query) 
    $listItemsTotal = $items.Count;
    for($x=$listItemsTotal-1;$x -ge 0; $x--)
    {
            $items[$x].Delete()
    }
    $web.Dispose() 
    $site.Dispose() 


    25 марта 2016 г. 13:20
  • Добрый день

    т.к. календарь - это тоже список, то можно попробовать разнести по папкам. 

    не знаю как будет работать сам календарь с элементами в папках.

    есть обсуждение в соседней ветке


    мой блог Немного о SharePoint

    25 марта 2016 г. 13:33
    Модератор