в бизнес-процессе преобразовать коллекцию записей в строку
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;
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать