Здравствуйте! Вопрос по бизнес процессу.
В процессе через скрипт создаются задачи в зависимости от выбранных данных (количество произвольное).
Процесс должен продолжаться только после завершения всех этих задач.
Скрипт:
var s = new Select(context.UserConnection)
.Column("Id")
.From("Contact")
.Where("BusinessConsultant").IsEqual(Column.Const(1));
// create activities
((Select)s).ExecuteReader((IDataReader reader) => {
CreateActivity(context.UserConnection, reader.GetGuid(0));
});
}
Метод CreateActivity:
var schema = userConnection.EntitySchemaManager.GetInstanceByName("Activity");
var entity = schema.CreateEntity(userConnection);
entity.SetDefColumnValues();
entity.SetColumnValue("Title", "Создать выборку целевой аудитории");
entity.SetColumnValue("OwnerId", ownerId);
entity.SetColumnValue("TypeId", "FBE0ACDC-CFC0-DF11-B00F-001D60E938C6");
entity.Save();
return entity;
}
Как реализовать проверку завершения всех созданных задач?
Нравится
Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу
Без ухищрений, думаю, не получится.
Можно сохранять идентификаторы созданных активностей в EntityCollection параметр процесса. И ожидать завершения первой задачи из коллекции. При завершении идти в скрипт, в котором удалять из коллекции активности, которые завершены. Если после скрипта, коллекция не будет пуста - идти снова ожидать завершения первого элемента коллекции, если пуста - значит условие соблюдено и можно двигаться дальше по процессу.