Вызов "Действия процесса" через ScriptTask

Добрый день, Коллеги!

Кейс:

Возникла потребность запуска "Действия процесса" (аналог элемента "Выполнить действие процесса") скриптом.

Речь идёт о действии 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 или чего-то не хватает.

 

Нравится

2 комментария

Добрый день!!

Элемент [Задание сценарий] не предназначен для запуска и обработки элементов процесса.

Попробуйте использовать связку [Выполнить действие процесса] + [Задание-сценарий]. В ScriptTask замапиться на параметры элемента [Выполнить действие процесса - > Обработать шаблон письма с макросами].

Зарицкий Олег,

Спасибо за информацию! Вытащили скрипт действия в методы!

Показать все комментарии