Добрый день
В Е-мейл активности при нажатии на кнопку нужно добавить в HtmlBody этой Е-мейл-активности имя контакта текущего пользователя. Пишу скрипт:
string html = Page.DataSource.ActiveRow.GetTypedColumnValue("HtmlBody");
Guid contactId = UserConnection.CurrentUser.ContactId; //id контакта текущего пользователя
string contactName = UserConnection.CurrentUser.ContactName; //имя контакта текущего пользователя
string str = String.Concat(contactName, html);
var defValuesId = Entity.GetTypedColumnValue("ActivityId");
var defValues = ? // что здесь нужно написать?
defValues.Add("HtmlBody", str);
Заранее спасибо.
Нравится
Что именно написать в коде, зависит от того, что Вы хотите получить.
Если вбить в поиск по конфигурации «var defValues =», получим:
var defValues = new Dictionary <string, object>();
Вообще, поиском по конфигурации можно найти много готовых приёмов, которые можно использовать в своих целях. Рекомендую поискать в коде других страниц похожую логику.
Получилось и работает:
string html = Page.DataSource.ActiveRow.GetTypedColumnValue("HtmlBody");
Guid contactId = UserConnection.CurrentUser.ContactId; //id контакта текущего пользователя
string contactName = UserConnection.CurrentUser.ContactName; //имя контакта текущего пользователя
string str = String.Concat(contactName, html);
Page.DataSource.ActiveRow.SetColumnValue("HtmlBody", str);
return true;
Если поставить теги
, то в BPMOnline вид текста в е-мейл активности отображается с учетом переносов на новую строчку. Но, отправив на эл.адрес эту е-мейл, вижу: в Qutlook в полученном электронном письме текст слился в одну строчку. Подскажите, пожалуйста, как можно этого избежать? Заранее спасибо
Полный текст:
string html = Page.DataSource.ActiveRow.GetTypedColumnValue("HtmlBody");
Guid contactId = UserConnection.CurrentUser.ContactId; //id контакта текущего пользователя
string contactName = UserConnection.CurrentUser.ContactName; //имя контакта текущего пользователя
string contactmail = Terrasoft.Configuration.CommonUtilities.GetEntityTypedColumnValue(UserConnection, "Contact", "Email", contactId);
string contactdol = Terrasoft.Configuration.CommonUtilities.GetEntityTypedColumnValue(UserConnection, "Contact", "JobTitle", contactId);
string contactphone = Terrasoft.Configuration.CommonUtilities.GetEntityTypedColumnValue(UserConnection, "Contact", "Phone", contactId);
string contactMobilePhone = Terrasoft.Configuration.CommonUtilities.GetEntityTypedColumnValue(UserConnection, "Contact", "MobilePhone", contactId);
string s6 = "Добрый день"+"
С уважением,
"+ contactName + "
" + contactdol + "
Департамент информационных технологий
АО «ДКС»"+ "
Tel :"+ contactphone + ", " + contactMobilePhone + "
e-mail :"+ contactmail +" , www.dkc.ru";
string str = String.Concat(s6, html);
Page.DataSource.ActiveRow.SetColumnValue("HtmlBody", str);
Перенос строк в письме формата HTML делается так же, как и в других HTML-страницах: при помощи тега
<br>
или более сложных конструкций вёрстки. Обычные переносы строк в тексте по Enter при этом не учитываются.
Решение — не использовать картинки или использовать их вставку в таком формате, в котором текст выглядит правильно. Сформируйте вручную в почтовом клиенте письмо нужного формата и посмотрите, что за HTML-код получается.