Создание напоминания о завершении задачи в сценарии

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

Пример сценария с использованием PublicAPI

Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.12.1 включительно.

Пространства имен:

using EleWise.ELMA.Model.Entities.EntityReferences;

Текст сценария:

var r = ReferenceOnEntity.Create(context.Zadacha); //создание ссылки на задачу      
var rem = PublicAPI.Portal.Objects.Common.Reminder.Create(); //создание напоминания
rem.RefObject = r; //ссылка на задачу, о которой следует напомнить
rem.RemindDate = context.SendTime; //время, в которое следует посылать напоминание
rem.RemindTo = context.Interval; //интервал времени, который остался до завершения задачи и который указывается в напоминании
rem.PropertyName = "StartDate"; //для задачи это может быть строка "StartDate" или "EndDate"
rem.Save(); //сохранение напоминания

Пример сценария без использования PublicAPI

Для корректной работы сценария необходимо подключить библиотеки:
EleWise.ELMA.Documents.Docflow
EleWise.ELMA.Projects
EleWise.ELMA.CRM

Пространства имен:

using EleWise.ELMA.Common.Models;
using EleWise.ELMA.Model.Entities.EntityReferences;
using EleWise.ELMA.Tasks.Models;
using EleWise.ELMA.Model.Services;

Текст сценария:

var r = ReferenceOnEntity.Create(context.Zadacha); //создание ссылки на задачу      
var rem = InterfaceActivator.Create<Reminder>(); //создание напоминания
rem.RefObject = r; //ссылка на задачу, о которой следует напомнить
rem.RemindDate = context.SendTime; //время, в которое следует посылать напоминание
rem.RemindTo = context.Interval; //интервал времени, который остался до завершения задачи и который указывается в напоминании
rem.PropertyName = "StartDate"; //для задачи это может быть строка "StartDate" или "EndDate"
rem.Save(); //сохранение напоминания