Стоит задача: Есть задача (активность в bpm), нужно послать письмо ответственному и автору какие поля были изменены. С отправлением письма разберусь, а как в bpm5 получить список всех полей сущности, и как по названию поля получить его заголовок. Думаю понятно объясню в коде
Entity CurrentEntity = this.Entity; //Текущая запись - задача
string[] arFieldsNames = ;//как получить в массив строк полей по сущности?
string[] arFieldsTitles = ;//как получить массив заголовков полей либо ниже, как по названию поля, получить его заголовок?
var emailBody = "Измененные значения:
";//тело для письма
for(var i=0;iarFieldsNames.Length;i++) {
//Сравниваем старое и новое значение
if (CurrentEntity.GetColumnOldValue(arFieldsNames[i]) != CurrentEntity.GetColumnValue(arFieldsNames[i])) {
var fieldTitle = ;//как получить сроку "Ответственный" по строке "Owner" или "OwnerId"?
emailBody += fieldTitle + ": " + CurrentEntity.GetColumnDisplayValue() + "
";//Записываем в тело письма
}
}
Грубо говоря хотелось бы получить такое
Измененные значения:
Ответственный: Пользователь2
Состояние: В работе
Можно конечно тупо в массивы забить названия и заголовки полей Активности, но вдруг это понадобится для Документов, Продаж и т.д. Постоянно вбивать как-то не очень хочется, а хочется универсальности.