Вопрос

Отображение форматирования в письме

Здравствуйте, столкнулся с проблемой. При создании в шаблоне подписи отображаются html форматирование текста. С чем может быть связано.

Изображение удалено.

Нравится

12 комментариев

Добрый день!



Уточните, пожалуйста, текст с подписью был скопирован из другого источника? Данные теги отображаются и при ручном вводе?

Не совсем понятен первый вопрос, кроме самого ФИО ничего в этой подписи не менял, она подтянулась именно так. Если их стереть и ввести данные самому, то все будет нормально. Но эти данные из подписи, подтягивающиеся автоматически.

Письмо клиенту отправляется именно в таком виде (с тегами).

Булат Хабирзянов,

Благодарю за уточнение. Я правильно понял, что Вы подтягиваете шаблон из справочника, и подпись в нём подтягивается с html-тэгами? Если так, проверьте, пожалуйста, при открытии шаблона в справочнике, он отображается корректно?

Роман Казекин,

Шаблона у письма как такового нет, менеджер сам заполняет письмо, проблема только в настроенной подписи. Письмо создается сценарием

 

Булат Хабирзянов,

Спасибо за дополнительную информацию!

1. То есть, Вы выполнили настройку подписи в почтовом ящике, и при заполнении конкретного письма, данная подпись подтягивается с тэгами вёрстки?

2. Уточните, пожалуйста, в настройке почтового ящика подпись отображается корректно?

Роман Казекин,

1. Все верно

2. Все отображается корректно, и еще заметил, что в других письмах формирующихся автоматом отображается все корректно. Возможно, в скрипте дело, прикрепил скрипт

uid ActivityEmailId = Get<Guid>("ActivityEmailId");
Guid AttachmentType = Get<Guid>("AttachmentType");
Guid documentId = Get<Guid>("DocumentId");
Guid documentFileId = Guid.Empty;
byte[] documentData = Array.Empty<byte>();
string filename = "";
var mySelect = new Select(UserConnection)
    .Column("Id")
    .Column("Data")
    .Column("Name")
    .From("DocumentFile")
    .Where("DocumentFile", "DocumentId").IsEqual(Terrasoft.Core.DB.Column.Parameter(documentId)) as Select;
try 
{
	using (DBExecutor dbExecutor = UserConnection.EnsureDBConnection())
	{
	    using (IDataReader dataReader = mySelect.ExecuteReader(dbExecutor))
	    {
	        while (dataReader.Read())
	        {
 
	            documentFileId=dataReader.GetColumnValue<Guid>("Id");
	            documentData = dataReader.GetColumnValue<byte[]>("Data");
	            filename = dataReader.GetColumnValue<string>("Name");
	        }
	    }
	}
 
	var entity = UserConnection.EntitySchemaManager.GetInstanceByName("ActivityFile");
	var fileEntity = entity.CreateEntity(UserConnection);
	fileEntity.SetDefColumnValues();
	fileEntity.SetColumnValue("ActivityId", ActivityEmailId);
	fileEntity.SetColumnValue("TypeId", AttachmentType);
	fileEntity.SetColumnValue("Name", filename);
	fileEntity.SetColumnValue("Data", documentData);
	fileEntity.Save();
	//var emailClientFactory = ClassFactory.Get<EmailClientFactory>(new ConstructorArgument("userConnection", UserConnection));
	//var activityEmailSender = new ActivityEmailSender(emailClientFactory, UserConnection);
	//activityEmailSender.Send(ActivityEmailId);
}
catch (Exception e)
{
    throw;
}
return true;

 

Еще забавная вещь. если переключить, то все выводится нормально. Только отступы появились

Булат Хабирзянов,

 

Две данных кнопки предназначены для работы с html-разметкой. Кнопка с бесцветным текстом отвечает за обычный режим редактирования, а кнопка с синей буквой - за html-режим.



Приведу пример.



Мы пишем в обычном режиме код:

<br><h1>BOLDBR<br></h1>

 

Переходим в html-режим (нажимаем на кнопку с синей буквой а) и видим текст с учётом указанной нами разметки (скриншот прилагаю).

Данный функционал нигде не описан, мы направили запрос на Академию с просьбой добавить описание данного функционала.

Спасибо!

Хорошо, понятно. Но тут возникает вопрос, при формировании письма текст отображается с тэгами, не думаю, что каждый менеджер знает что такое html, теги и все такое. Можно ли как-то поставить вид отображения без тэгов по умолчанию?

Булат Хабирзянов,

Пользовательскими средствами изменение данного поведения невозможно. Только средствами разработки.

Роман Казекин,

Здравствуйте. подскажите, а какая схема отвечает за формирование письма. Чтобы знать куда смотреть и где копаться.

 

Булат Хабирзянов, 

 

Здравствуйте! Сам модуль ckeditor лежит в пакете NUI, файлы расположены по пути TerrasoftWebApp/Resources/ui/CKEditor.

Показать все комментарии