Добрый день, Коллеги!
Кейс:
Возникла потребность запуска "Действия процесса" (аналог элемента "Выполнить действие процесса") скриптом.
Речь идёт о действии 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 или чего-то не хватает.
Нравится
Добрый день!!
Элемент [Задание сценарий] не предназначен для запуска и обработки элементов процесса.
Попробуйте использовать связку [Выполнить действие процесса] + [Задание-сценарий]. В ScriptTask замапиться на параметры элемента [Выполнить действие процесса - > Обработать шаблон письма с макросами].
Зарицкий Олег,
Спасибо за информацию! Вытащили скрипт действия в методы!