Добрый день, Коллеги!
Кейс:
Возникла потребность запуска "Действия процесса" (аналог элемента "Выполнить действие процесса") скриптом.
Речь идёт о действии FillEmailTemplateUserTask - обработать шаблон письма с макросами.
Ранее добавил простой тестовый шаблон в справочник, а так же добавил в него два простых макроса. Привязку к объекту как источнику макросов не осуществляю.
Необходимо:
1) Вызвать скриптом Обработку подготовленного шаблона, передавая в него необходимые параметры такие как:
RecordId
TemplateId
SysEntitySchemaId
2) Создать активность типа email.
В тело и тему подставить соответственно Subject и Body, обработанные FillEmailTemplateUserTask.
Пример выполняемого скрипта:
var userConnection = Get<UserConnection>("UserConnection");
var processEmailTemplateUserTask = new FillEmailTemplateUserTask(userConnection);
//передал Guid шаблона
processEmailTemplateUserTask.TemplateId = new Guid("7EDBEDDE-9E1E-4D80-953D-B7652E6B5F97");
//get UId схемы объекта Изменение
processEmailTemplateUserTask.SysEntitySchemaId = Get<Guid>("UsrSysShemaUId");
//get Id записи объекта Изменение
processEmailTemplateUserTask.RecordId = cangeId;
processEmailTemplateUserTask.Execute(context);
var activity = new Terrasoft.Configuration.Activity(userConnection);
activity.SetDefColumnValues();
activity.TypeId = Terrasoft.Configuration.ActivityConsts.EmailTypeUId;
activity.Recepient = "testRecepient@yandex.ru";
activity.Title = processEmailTemplateUserTask.Subject;
activity.Body = processEmailTemplateUserTask.Body;
activity.ChangeId = cangeId;
activity.IsHtmlBody = true;
activity.Sender = "testSender@yandex.ru";
activity.Save();
Проблема:
Пытаюсь передать в создаваемую активность Title и Body после выполнения по идее элемента FillEmailTemplateUserTask.
Однако БП завершается с ошибкой: "Заголовок должен быть заполнен" (обязательная колонка). То есть На моменте создания активности я не получаю обработанной темы и тела письма шаблона с макросами.
Коллеги, подскажите, пожалуйста, что именно делаю не так. Нет окончательного понимания, как именно вызвать "Выполнение" действия процесса и возвращает ли оно мне что-либо, могу ли я вообще таким образом получить обработанную тему и тело.
Такое впечатление, что просто не правильно задаю Execute или чего-то не хватает.