Порой бывают случаи, когда у ряда элементов нужно запустить определенный
РП.
Руками такой процесс может занять продолжительное время и
как всегда на помощь приходит PowerShell
И так, в текущем примере я запустил Workflow у элемента с Id равным
731. Воспользовавшись u2u caml query builder можно построить запрос и запустить
РП только у требуемых элементов
Сам скрипт
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | $list = $web .Lists[ 'Заявки' ] cls $manager = $web .Site.WorkFlowManager $assoc = $list .WorkflowAssociations.GetAssociationByName( "Согласование" , "ru-ru" ) # заменить первый параметр на требуемое (название РП) $data = $assoc .AssociationData $Query = New-Object Microsoft.SharePoint.SPQuery; $Query .Folder = $List .RootFolder; $camlQuery = "< where > <eq> <fieldref name= "ID" > <value type = "Counter" >731</value> </fieldref></eq> </ where >" $Query .Query = $camlQuery ; $Query .RowLimit = 100; $items = $List .GetItems( $Query ) $items .Count foreach ( $item in $items ) { $wf = $manager .StartWorkFlow( $item , $assoc , $data , $true ) $item [ 'Title' ] } $manager .Dispose() $web .Dispose() |
как пользоваться:
заменить адрес сайта и название рабочего процесса.
Комментариев нет:
Отправить комментарий