Добрый день!
При выборе шаблона email сообщения, в Обращении, заполняется тема из указанного шаблона, но при отправке подставляется номер и тема из Обращения
После выбора шаблона тема: "SR00540466 Проверка технической возможности, Київська обл,Київ,вул"
При отправке тема: "Re: SR00540466 Новое включение Включение"
Просьба подсказать как исправить
Нравится
Юрий, это не ошибка, это так специально. Ещё с 7.10:
Уведомления по обращению содержат тему из исходного письма, по которому зарегистрировано обращение. Это позволит заявителю отследить историю писем по обращению. Если обращение регистрируется по другим каналам (например, по звонку), то в поле [Тема] уведомлений указывается тема из шаблона письма.
Чтобы поменять, смотрите логику в схеме EmailWithMacrosManager, там в SendEmail и её аналогах вызывают функции, заполняющие заголовок:
/// <summary>
/// Builds an e-mail activity then sends it.
/// The sender and recipients will be obtained automatically.
/// Use this method to reply to all the participants of the parent (root) e-mail activity.
/// </summary>
/// <param name="caseId">Case record identifier.</param>
/// <param name="tplId">Template record identifier.</param>
public virtual void SendEmail(Guid caseId, Guid tplId) {
Activity activity = CreateActivity();
PreProcess(activity, caseId, tplId);
CaseData data = GetCaseData(caseId);
activity.Sender = GetSender(data);
FillActivityWithCaseData(activity, data);
FillTitle(activity, caseId, tplId);
activity.Save();
SendActivity(activity.Id);
}
...
/// <summary>
/// Fills an <paramref name="activity"/> with given <paramref name="data"/>.
/// </summary>
/// <param name="activity">Activity entity.</param>
/// <param name="data">Case data.</param>
protected virtual void FillActivityWithCaseData(Activity activity, CaseData data) {
activity.Title = data.Title;
activity.Recepient = data.Recipient;
activity.CopyRecepient = data.CC;
activity.BlindCopyRecepient = data.BCC;
if (data.ParentActivityInReplyTo.IsNotNullOrEmpty()) {
activity.HeaderProperties = AddInReplyToHeaderProperty(data.ParentActivityInReplyTo, activity.HeaderProperties);
}
}
...
/// <summary>
/// Sets activity title as a subject from e-mail template if it is not specified yet.
/// Otherwise, adds a replying prefix (<see cref="ReplyingPrefix" />)
/// to an <paramref name="activity"/>'s title.
/// </summary>
/// <param name="activity">Activity entity.</param>
/// <param name="caseId">Case record identifier.</param>
/// <param name="tplId">Template record identifier.</param>
protected void FillTitle(Activity activity, Guid caseId, Guid tplId) {
var title = activity.Title;
activity.Title = title.IsNullOrEmpty()
? GetTemplateSubject(SchemaName, caseId, tplId)
: ApplyPrefix(title);
}Видимо, Вам нужно переделать, чтобы всегда брался только GetTemplateSubject, а не тема из обращения с добавлением в начале префикса «Re:».