Sergey Belskiy Technical Blog

All about SharePoint

Автоматическое закрытие задач в SharePoint 2013

Добрый день, коллеги.

Сегодня я хотел бы поделиться маленьким опытом, который как ни странно не реализован в стандартном функционале платформы SharePoint 2013, хотя существует много способов реализации. Сценарий такой, Вам необходимо написать процесс согласования, который назначает задачи определенным сотрудникам на утверждение. Все вроде стандартно, но тут есть одно условие – если задачи в течении определенного периода не будут отработаны, процесс должен пойти далее. Или наоборот, если задачи отработаны, то процесс должен пойти далее.

Это можно реализовать стандартными активностями в SharePoint Designer 2013.

Вот пример использования:

Screen Shot 2016-07-26 at 10.52.19 PM

Screen Shot 2016-07-26 at 10.52.46 PM

Итак по порядку. Вначале необходимо создать переменную и присвоить ей дату +3 дня от текущей. Это значит, что процесс может простоять в ожидании 3х дней или же сотрудник раньше закроет свою задачу и процесс пойдет далее.

Вторая активность – это назначение задача сотрудникам. Обязательное условие, что система не ждет закрытия задач в этой активности, то есть необходимо снять галочку ожидания.

Screen Shot 2016-07-26 at 10.56.34 PM

Следующая активность отвечает за создание заголовка далее используемого запроса REST, о котором будет рассказано ниже в статье. Следующий шаг является цикличным, пока не выполниться одно из поставленных условий. Вначале вызывается активность приостановки процесса на 5 минут, чтобы дать возможность сотрудникам обработать свои задачи. Далее идет активность вызова REST запроса к списку задач, отфильтрованных по связанным задачам с этим элементом, на котором запущен процесс, а также всех незакрытых задач. В результате этого запроса мы получим число незакрытых задач, что и будет нам знаком о то, что нет еще необходимости переходить на следующий шаг в процессе. Следующие активности именно об этом и говорят.

Всем спасибо, если у кого то есть еще идеи как сделать это по другому, пишите в комментариях.