none
SharePoint 2016: Непонятное поведение рабочего процесса... RRS feed

  • Общие обсуждения

  • Здравствуйте.
    Подскажите пожалуйста что может быть и куда копать: Суть такая - есть рабочий процесс согласования проекта. Проблем с ним никогда не было. Люди по цепочке согласуют документ, если зайти в рабочий процесс, видно кому назначено, кто выполнил задачу, и на ком она ещё выполняется.

    Сегодня меня сбило с толку то, что 6 участников выполнили свои задачи по согласованию, процесс находится в состоянии "Выполняется", но никому другому (дальше по цепочке) согласование не идёт. Рабочий процесс как будто завис или находится на паузе.

    Нигде ошибок нет, в логах чисто. Как будто кто-то держит процесс и не дает создаться задаче для 3-х других участников..

    Подскажите, куда посмотреть, что сделать, чтобы хотя бы понимать что происходит с процессом?

    5 апреля 2018 г. 5:32

Все ответы

  • Попробуйте перезапустить службу Таймера(cmd, PowerShell):
    net stop SPTimerV4
    net start SPTimerV4
    5 апреля 2018 г. 6:58
  • Михаил, я это попробовал сразу же, как столкнулся с проблемой. 

    Единственный момент - я это делал из GUI через оснастку служб. И НЕ перезапускал IIS после этого.

    5 апреля 2018 г. 7:02
  • У вас не написано эти задачи открываютя в форме? Возможно они до сих пор открыты у авторизующего.
    5 апреля 2018 г. 7:04
  • Дело в том, что те задачи, которые уже завершены по этому рабочему процессу, они открываются.

    А те что ещё должны создаться для последних трёх участников - их просто нет. Т.е. я не могу их открыть, т.к. их ещё не существует по сути.

    Те. следующим шагом, рабочий процесс должен создать задачу для зам ген. директора (к примеру), но почему то не создаёт...

    И в итоге получается, по тем участникам которым успели создаться задачи - всё выполнено.
    Рабочий процесс в стадии "Выполняется" и не создает следующие задачи для оставшихся трёх участников.

    • Изменено VARD32 5 апреля 2018 г. 7:10
    5 апреля 2018 г. 7:06
  • Сейчас сделал интересный "финт".

    На странице рабочего процесса выбрал пункт "Добавить или обновить утверждающих..."
    И на InfoPath-форме "переопределил" человека, для которого не создалась задача.

    Нажал кнопку "Обновить".

    Теперь задача создалась и пользователь её согласовал, но для двух оставшихся пользователей, пришлось делать то же самое. Переопределять их.

    Теперь все задачи выполнены, но процесс до сих пор "Выполняется". Как его корректно завершить?

    5 апреля 2018 г. 9:39
  • Написал скрипт, который правильно находит и отображает нужный мне рабочий процесс:

    $env:SPpath = "${env:CommonProgramFiles}\Microsoft Shared\web server extensions\16\"
    [System.Reflection.Assembly]::LoadFrom("$env:SPPath\ISAPI\Microsoft.SharePoint.dll")
    $SpSite = New-Object -TypeName "Microsoft.SharePoint.SPSite" -ArgumentList "http://portal/projects";
    $SpWeb = $SpSite.OpenWeb();
    $SpWeb.AllowUnsafeUpdates = $true;
    
    $SpList = $SpWeb.GetList("http://portal/projects/Projects");
    
    $SpList.Items | foreach {
        $item = $_;
        $item.Workflows | foreach {
            $wf = $_;
            if ($wf.InstanceId -eq '406871ac-0825-4c10-b0ed-1d874827fd21') {
               Write-Host $wf.ItemName : $wf.StatusValue
               #$wf.StatusValue = 16
               
            }
        }
    }
    
    $SpWeb.AllowUnsafeUpdates = $false;
    $SpWeb.Dispose();

    $wf - содержит нужный мне экземпляр рабочего процесса. Я хочу его просто утвердить.

    если бы можно было писать в StatusValue, то мои мучения закончились бы после

    $wf.StatusValue = 16

    но это свойство только для чтения.

    Подскажите, как программно, при помощи PowerShell завершить рабочий процесс (не его задачи) с результатом Approved ?

    5 апреля 2018 г. 12:09