вторник, 11 февраля 2014 г.

Как в тело письма, которое генерируется в SingleTask activity, добавить ссылку на задачу?

Долго искал как делается этот трюк, пока знающие люди не подсказали. :-)

Суть вопроса такова. Необходимо c помощью Visual Studio создать в SharePoint 2013 новый рабочий процесс (Workflow 4). В рамках этого рабочего процесса мы используем Single Task activity, чтобы создать новую задачу и назначить её на некоего пользователя. Single Task activity позволяет нам не только назначить задачу на сотрудника, но и тут же отправить ему на почту оповещение о том, что ему назначена новая задача. При этом мы можем отредактировать как тело письма, так и его тему.



Как видно, тело письма это обычный HTML.
Единственный минус в том, что по умолчанию, в теле письма нет ссылки на эту самую, новую назначенную задачу и пользователь несколько теряется, не понимая что же ему делать дальше.

Как оказалось, решить данную проблемы чрезвычайно просто. Достаточно добавить в тело письма вот такую вот ссылку:

 <a href='%TaskSpecial: TaskUrl%'>%Task: Title%</a>  

Вот как это будет выглядеть в итоге:

А вот так будет выглядеть письмо, пришедшее пользователю:

Тут можно найти и другие токены, которые могут вам пригодиться:

NameDescription
Public field Static memberAssignedToReplace the %Task: AssignedTo% token with the individual or group to whom the task is currently assigned.
Public field Static memberDescriptionReplace the %Task: Body% token with the description of the task.
Public field Static memberDueDateReplace the %Task: DueDate% token with the date the task is due.
Public field Static memberRegularFormatThe regular format for the token replacement.
Public field Static memberRelatedItemTitleReplace the %TaskSpecial: RelatedItemTitle% token with the title of the task’s related item.
Public field Static memberRelatedItemUrlReplace the %TaskSpecial: RelatedItemUrl% token with a link to the task’s related item.
Public field Static memberSpecialFormatThe special format for the token replacement.
Public field Static memberTaskUrlReplace the %TaskSpecial: TaskUrl% token with a link to the task.
Public field Static memberTitleReplace the %Task: Title% token with the title of the task.