Вопрос
в бизнес-процессе преобразовать коллекцию записей в строку
26 апреля 2021 15:02
Здравствуйте. Подскажите пожалуйста, как можно преобразовать коллекцию записей в строку в бизнес-процессе и эту строку записать в одно текстовое поле?
Нравится
2 комментария
26 апреля 2021 15:24
Добрый день.
Можно обработать коллекцию программно в элементе 'Задание-сценарий', а можно через подпроцесс обработки коллекции, в который Вы из главного процесса в дочерний будете передавать параметр строка и в него каждый раз будете дописывать нужное значение через элемент формула.
Подробнее об обработке коллекции в процессе можно почитать на Академии в этой статье.
23 июля 2021 09:19
У меня сделано так. Нужны только email, вот они в строку и записываются.
Guid commTypeId = new Guid("EE1C85C3-CFCB-DF11-9B2A-001D60E938C6"); var respGroupId = Get<Guid>("ObjectOwnerGroup"); string emails =""; Select selectQuery = new Select(UserConnection) .Column("Number") .From("ContactCommunication") .Join(JoinType.LeftOuter, "SysAdminUnit") .On("SysAdminUnit","ContactId").IsEqual("ContactCommunication", "ContactId") .And("ContactCommunication", "NonActual").IsEqual(Terrasoft.Core.DB.Column.Parameter(0)) .And("ContactCommunication", "CommunicationTypeId").IsEqual(Terrasoft.Core.DB.Column.Parameter(commTypeId)) .Join(JoinType.LeftOuter, "SysUserInRole") .On("SysAdminUnit", "Id").IsEqual("SysUserInRole", "SysUserId") .And("SysAdminUnit","Active").IsEqual(Terrasoft.Core.DB.Column.Parameter(1)) .Where("SysUserInRole", "SysRoleId").IsEqual(Terrasoft.Core.DB.Column.Parameter(respGroupId)) .And("ContactCommunication", "Number").Not().IsNull() as Select; // Выполнение запроса к базе данных и получение результирующего набора данных. using (DBExecutor dbExecutor = UserConnection.EnsureDBConnection()) { using (IDataReader reader = selectQuery.ExecuteReader(dbExecutor)) { while (reader.Read()) { emails = emails + ", " + reader.GetColumnValue<string>("Number"); // Обработка результатов запроса. } } } Set("ObjectOwnerGroupMail", emails); return true;
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать