кейс: КЦ обрабатывает обращения и назначает ответственных. Для разных отделов должны быть свои шаблоны. На данный момент система позволяет отправить один шаблон для всех единичных ответственных и один шаблон для групп ответственных.

задача: создать разные шаблоны для разных групп ответственных

Нравится

4 комментария
Лучший ответ

К с,

Извините, не показалось у меня уведомление о сообщении.

Скрины прилагаю, но, возможно, у нас сложнее условия. Но кратко - вычисляем SLA по разным условиям, из него по параметрам определяем шаблон.
Сам механизм посылки писем взят из Creatio service (это не элемент Send email, а скрипт - он более гибкий).

 

Мы делали свой бизнес-процесс, в котором выбирали шаблон по нужным условиям. Соответственно, стандартный процесс делали неактивным.

Владимир Соколов,

спасибо!

 

К с,

можете скрин показать?

К с,

Извините, не показалось у меня уведомление о сообщении.

Скрины прилагаю, но, возможно, у нас сложнее условия. Но кратко - вычисляем SLA по разным условиям, из него по параметрам определяем шаблон.
Сам механизм посылки писем взят из Creatio service (это не элемент Send email, а скрипт - он более гибкий).

 

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

Добрый вечер!

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

Ошибку выдает: "Object reference not set to an instance of an object."

В тексте письма есть ссылки на сайт и элемент отписки.

В чем может быть ошибка?

Нравится

1 комментарий

А есть полностью стек после «Object reference not set to an instance of an object»? Такое сообщение значит, что где-то в коде обращаются к переменной как к объекту, а там пусто. А в чём именно дело, можно понять, увидев, откуда именно вызов.

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

Здравствуйте!

Подскажите, пожалуйста, как вставлять в е-майл рассылку (или шаблон) табличные данные.

В частности как отправить контакту список его заказов за последние 30 дней или список обращений, на которые от него не получен ответ?

На сколько я понимаю в 7.13 есть возможность вставки только одной колонки, но никак не табличных данных. 

Нравится

1 комментарий

Стандартно такой возможности нет и в маркете ничего подходящего не вижу.

Как вариант, можно попробовать программно формировать содержимое списка в специально созданном текстовом поле объекта, а потом выводить в шаблон его.

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

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

Настроил свой БП на обращения. В нем есть отправка письма.

Для отправки письма используется мультиязычный шаблон. Для формирования письча делаю читать данные схемы Case, потом Действие процесса Обработать шаблон письма с макросами (где указан мой шаблон), затем добавляю данные в раздел Активности и далее отправляю письмо скриптом:

var activityId = Get<Guid>("AddDataID");
if (UserConnection.GetIsFeatureEnabled("UseAsyncEmailSender")) {
	AsyncEmailSender emailSender = new AsyncEmailSender(UserConnection);
	emailSender.SendAsync(activityId);
} else {
	var emailClientFactory = ClassFactory.Get<EmailClientFactory>(new ConstructorArgument("userConnection", UserConnection));
	var activityEmailSender = new ActivityEmailSender(emailClientFactory, UserConnection);
	activityEmailSender.Send(activityId);
}
return true;

Все работает за исключение того, что всегда отправляется только английский вариант письма.

Пример такой настройки взят и стандартного БП Отправка письма при смене статуса обращения.

Вопрос как мне заставить отправлять письмо по настройкам языка получателя?

Нравится

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

EmailSender скорее всего берет тело сообщения из активности, а там уже лежит текст сообщения на каком то языке.

Почему бы не воспользоваться стандартным блоком "Отправить Email"?

Письмо должно быть привязано в хронологию обращения. К тому делал через отправку стандартным блоком Отправить Email и постоянно какие то ошибки. Не дружу я с ним )

К тому же все стандартные процессы по отправке писем не используют блок Отправить Email, а отправляют скриптами

Попробуй поигратся со сменой языковой культуры перед отправкой

Как то так

cultureId = UserConnection.CurrentUser.SysCultureId;

//cultureId бери из настроек пользователя те тот язык на котором хочешь чтобы было письмо пользователя

esq.SetLocalizationCultureId(cultureId);

Ну или более глобально как то так

userConnection.CurrentUser.SysCultureName = "en-US";

 

В итоге выяснилось путем тестов. Элемент БП Выполнить действие -  - Обработать шаблон письма с макросами не учитывает мультиязычные шаблоны.  Делал подмену шаблона из таблицы EmailTemplate на EmailTemplateLang. 

var mailTemplateID = Get<Guid>("MailTemplateID");
var usrLangId = Get<Guid>("UserLanguageID")==Guid.Empty
    ? new Guid("6EBC31FA-EE6C-48E9-81BF-8003AC03B019")
    : Get<Guid>("UserLanguageID");
var newMailTemplate = new EmailTemplateStore(UserConnection);
Set<Guid>("MailTemplateID", newMailTemplate.GetTemplate(mailTemplateID, usrLangId).PrimaryColumnValue);
return true;

И подавал на вход Элементу Обработать шаблон письма с макросами - результате пустое письмо. Поэтому перешел на другую отправку писем:

var contactEmail = Get<string>("ContactEmail");
var senderEmail = Get<string>("SenderEmail");
var caseId = Get<Guid>("RecordId");
var templateId = Get<Guid>("MailTemplateID");
var emailTemplateMacrosManager = new EmailWithMacrosManager(UserConnection);
emailTemplateMacrosManager.SendEmailFromTo(caseId, templateId, senderEmail, contactEmail);
return true;

Хорошо что раздел обращения. Полагаю в другом разделе такая отправка не заработает (

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

В среде разработки сделал шаблон письма мультиязычный. 

Сделал привязку данных к пакету. В среде разработки вижу данные в нем. Выгрузил пакет в Архив. Установил на тестовой среде, а нового шаблона там не появилось.

Что не так сделал и как же мне перенести этот шаблон письма?

Нравится

4 комментария
Лучший ответ

SysEmailTemplateLcz посмотрите

Поправьте — Тип установки: "Установка".

Поправил. Помогло на 50%. Перенесся только английский вариант письма. А вот на Русском языке нет. Где посмотреть что не так?

SysEmailTemplateLcz посмотрите

Варфоломеев Данила,

Спасибо. Наводка помогла. Добавил в данные объект "Таблица локализации для шаблонов" - EmailTemplateLang

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

В существующем шаблоне письма, рассылаемого из бизнес-процесса при подтверждении продаже сотрудникам кампании в заголовке и теме письма есть ссылка на #Документ. OpportunityNumber#, вместо которого подставляется соответствующее значение из таблицы продаж. При этом в карточке шаблона поле "Запрос для макросов" пустое. Помогите, пожалуйста, вспомнить, откуда подставляется значение. Под дурачка попытка добавить в тело шаблона, например, #Документ.OpportunityTitle# ни к чему не привела и в письме так и отображается мнемокод вместо названия продажи. Просто забыл как делать. Спасибо!

Нравится

1 комментарий
Лучший ответ

Там в шаблоне есть вариант макорс вставить, а есть вариант выбрать колонку из parent объекта, который в свойствах шаблона был указан при создании. Вам второй вариант вроде нужен, а в процессе просто id записи передаётся.

Там в шаблоне есть вариант макорс вставить, а есть вариант выбрать колонку из parent объекта, который в свойствах шаблона был указан при создании. Вам второй вариант вроде нужен, а в процессе просто id записи передаётся.

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

Добрый день!

Необходимо отправлять email-оповещение при назначении обращения по шаблону из справочника.

Сообщение из раздела обращений которое нужно прочитать:

Upd. Процессом считывания данных и заполнением шаблона занимается бизнес-процесс "SendEmailToSROwner", пакет "CaseService". 

Есть ли возможность вытащить из ленты в бизнес-процессе последнее сообщение?

Нравится

2 комментария
Лучший ответ

Те как написал Саша, в БП через элемент чтения данных только отсортируй их по убыванию даты создания.

Лента — это обычный объект ESNNotification и связанный с ним SocialMessage. Можно читать стандартными элементами чтения данных.

Те как написал Саша, в БП через элемент чтения данных только отсортируй их по убыванию даты создания.

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

Вопрос

В настройках общего почтового ящика установлен признак "Использовать подпись при отправке" и добавлена подпись. При отправке письма по процессу подпись из настроек почтового ящика не подтягивается в письмо.

Ответ

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

Для решения этой проблемы рекомендуем добавить необходимую подпись в сам шаблон уведомления. Шаблон уведомления для редактирования можно выбрать в справочнике [Шаблоны email сообщений].

Нравится

Поделиться

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

Добрый день! Необходимо реализовать след. задачу: при сохранении карточки документа формировать письмо в Outlook'е со след. параметрами:
1
Вероятно нужно создать шаблон письма? Как это делается, хотелось бы знать в общих чертах.

Нравится

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

Да, Антон Владимирович, это делается с использованием раздела "Шаблоны сообщений". О нём можно почитать в инструкции, стр. 462-487. В двух словах, сначала создаётся пользовательский запрос, вытягивающий нужные поля из таблиц, потом на его основе - шаблон письма.

Разделы "Шаблоны сообщений" и "Запросы" находятся в верхнем меню "Интструменты".
раздел шаблонов
Запрос конструируется в таком вот построителе запросов:
построитель запросов
А шаблон - в окне нового письма Аутлука с подключеным плагином Terrasoft:
Аутлук

Понятно, спасибо. Когда я указываю раздел "Документы" и запрос для шаблона сообщения, на вкладке макросы доступны лишь поля запроса. А мне необходимо еще #Контакты.Обращение#, то есть Обращение контакта, которому посылается письмо. Его динамически можно в шаблон потом подставить или сразу можно как то в шаблон вставить?

А этот контакт имеет отношение к документу? Если да, можно вытянуть это поле в запрос, выбрав в построителе в дереве слева.

имеет) спасибо, что то не подумал сразу.

Предложенный вариант Александра хочется немного дополнить автоматизацией:

  • Дабавив шаблон получите его ID в Terrasoft Administrator: сервис Mail\Dictionaries\Templates\Main Grid\sq_MailTemplate, к примеру в моем случае - это  '{F8D4D576-DA9C-43BA-815D-14DC4ED92A21}'
  • В сервис Documents\General\Main Grid\scr_DocumentEdit перед блоком // Event handlers добавьте две вспомогательные функции:
    function ProcessSendEmail(Dataset) {
    	if (Self.Attributes('SkipSendEmail')) {
    		return;
    	}
    	if (ShowConfirmationDialog(
    		"Отправить E-mail клиенту?") != wmrYes) {
    		return;
    	}
    	var AddressList = [];
    	var ContactID = Dataset.Values('ContactID');
    	GetMailAddressesByContactID(ContactID, AddressList);
     
    	SendIncidentEmailToContact(Dataset, AddressList);
    }
     
    function SendIncidentEmailToContact(DocumentDataset, AddressList) {
    	var EmailSubject = "Коммерческое предложение №" +
    		DocumentDataset.ValAsStr('DocumentNumber');
    	var TemplateID = '{F8D4D576-DA9C-43BA-815D-14DC4ED92A21}';
    	var ID = DocumentDataset.Values('ID');
    	SendEmailByTemplate(TemplateID, {RecordID: ID, Address: AddressList, Subject: EmailSubject});
    }
  • В обработчик события dlDataOnDatasetAfterPost(Dataset) добвьте вызов ранее вставленной функции:
    function dlDataOnDatasetAfterPost(Dataset) { 
    	ProcessCopyOfferingDetail(Dataset);
    	ProcessSendEmail(Dataset)	
    }

Спасибо за дополнение, Павел!

Нужно реализовать условный макрос. Читал в руководстве следующее:

3

Что такое Пол в этом выражении? Вероятно это название макроса Пол, из запроса для этого шаблона?

Уже разобрался

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

Подскажите, где есть примеры создания шаблона email-уведомления, и работы с ним в JavaScript? До этого делал все в коде, но это неудобно в плане форматирования текста письма.

Нравится

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

Чем не устраивает радел E-mail и его шаблоны? Создйте там шаблон, а потом подгружайте его в скрипте. См. tbl_MailTemplate

Примеры отправки писем Вы можете посмотреть в скрипте scr_TaskUtils

В функциях
function ProcessSendTaskEmailToContactsInTask
и
function ProcessSendTaskEmailByContactFieldName

"Клименко Николай" написал:

Спасибо за подсказку! Будем посмотреть.

Пробую создать шаблон сообщения ("Инструменты - Шаблоны сообщений") - все создается нормально, в качестве шаблона импортирую msg-файл, сохраненный из Аутлука, сохраняю шаблон. После это нажимаю на "Обновить", или перезапускаю клиента - нового шаблона нет в списке, никаких фильтров нет.

UPDATE:При этом в таблице tbl_MailTemplate - запись с новым шаблоном есть. И еще - при импорте шаблона(*.msg или *.oft файла Outlook), группа полей "Параметры шаблона" не заполняется.

Какие версии клиента Террасофт и Outlook?

"Романо" написал:Какие версии клиента Террасофт и Outlook?

Террасофт v3.3.2.182.
Outlook 2010.

Необходимо детальное тестирование данной ситуации. Согласно Вашего запроса заведен инцидент 084351.
Пришлите на support@tscrm.com письмо с темой содержащей номер инцидента, с указанием Ваших контактных данных

Действительно, не работает.

"Клименко Николай" написал:Пришлите на support@tscrm.com письмо с темой содержащей номер инцидента, с указанием Ваших контактных данных

Отправил.

Для исправления данной ошибки необходимо загрузить в конфигурацию сервис из прикрепленного архива sq_MailTemplate и сделать следющие изменения в сервисе scr_MailTemplatesWorkspace в методе ApplyMailTemplateFileters():

function ApplyMailTemplateFileters() {
	var Dataset = BaseWorkspace.GridDataset;
	ApplyStandardWorkspaceFilter();
 
	var UserSettingsWindow = GetUserSettings();
	if (UserSettingsWindow) {
		if (UserSettingsWindow.MailClientID == mcLotus) {
			ApplyDatasetFilter(Dataset, 'BodyFormatID', mbf_Lotus, true);
			// Эту строку нужно добавить
                                    EnableDatasetFilters(Dataset, false, 'NotBodyFormatFilters');
		} else {
			ApplyDatasetFilter(Dataset, 'NotBodyFormatID', mbf_Lotus, true);
			// Эту строку нужно добавить
			EnableDatasetFilters(Dataset, true, 'NotBodyFormatFilters');
		}
	}
}
Показать все комментарии