Добрый день.

Возможно кто-то разбирался, как реализован вызов нужного метода по указанному названию класса макроса в шаблоне email сообщения?

Хотелось бы разобраться, так как бизнес-задача - создавать черновики email сообщений по шаблону с макросами без отправки, что приходится делать через код (low код тут не помогает), и никаких примеров я не нашла ни на академии, ни в сообществе.

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

Буду благодарна за помощь, спасибо!

Нравится

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

Надежда, добрый день!

Не совсем понимаю о каком вызове нужного метода по указанному названию класса макроса в шаблоне email сообщения вы говорите.

Речь о подстановке макроса при его выборе в меню отправки сообщений обращения?

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

Добрый день!



Подскажите пожалуйста, каким образом можно настроить автоматический ответ на письмо, как в Outlook? Например: на любое входящее сообщение CRM должна отсылать шаблонный ответ "Письмо получено. Спасибо за обращение."

Нравится

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

Письмо єто активность с типом Emailте как вариант создать БП со стартовым сигналом слушающим добавление входящего Email и использовать элемент БП Отправить письмо для формирования ответа

Письмо єто активность с типом Emailте как вариант создать БП со стартовым сигналом слушающим добавление входящего Email и использовать элемент БП Отправить письмо для формирования ответа

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

Товарищи подскажите как решить проблему. 

При вставке в в тело письма значения процесса получаю следующую ошибку:

System.InvalidCastException: Не удалось привести тип объекта "System.String" к типу "Terrasoft.Core.Entities.Entity".

   в Terrasoft.Core.Process.Configuration.ProcessEmailUserTaskMacrosWorker.GetMacrosColumnValue(Object macrosValue, String columnUId)

   в Terrasoft.Core.Process.Configuration.ProcessEmailUserTaskMacrosWorker.<>c__DisplayClass17_0.b__2(MacrosInfo macrosInfo)

   в System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()

   в System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)

   в Terrasoft.Core.Process.Configuration.ProcessEmailUserTaskMacrosWorker.Proceed(IEnumerable`1 macrosInfoCollection, Object arguments)

   в Terrasoft.Configuration.Utils.MacrosHelperV2.GetMacrosValues(List`1 macrosCollection, Dictionary`2 arguments)

   в Terrasoft.Configuration.Utils.MacrosHelperV2.GetPlainTextTemplate(String textTemplate, String requestedEntityName, Guid requestedEntityId)

   в Terrasoft.Core.Process.Configuration.BaseEmailUserTaskMacrosHelper.GetPlainTextTemplate(String textTemplate)

   в Terrasoft.Core.Process.Configuration.BaseEmailUserTaskMacrosHelper.ReplaceMacroses(EmailMessage emailMessage)

   в Terrasoft.Core.Process.Configuration.BaseProcessEmailMessageProvider.GetEmailMessage()

   в Terrasoft.Core.Process.Configuration.AutoEmailUserTaskSender.Execute(IEmailUserTaskMessageProvider messageProvider, ProcessExecutingContext context)

   в Terrasoft.Core.Process.ProcessActivity.Execute(ProcessExecutingContext context)

Если туже переменную указывать в названии письма все нормально

В других бизнес процессах все нормально

Вот тело письма: 

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

Нравится

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

Добрый день, Роман!

Такая ошибка возникает на версии 7.11.1, в более новой версии ошибка исправлена. 

Для того что бы решить проблему на текущей версии вы можете обратиться в службу технической поддержки support@terrasoft.ru.

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

Добрый день.

При попытке отправки письма из кастомного раздела http://prntscr.com/ihb4m0 возникает ошибка: "Не удалось отправить письмо. Значение с именем "UsrSectionTitleId" не найдено", где UsrSectionTitle - название раздела.

Id в разделе естественно присутствует, но называется не "UsrSectionTitleId" а просто "Id".

Подскажите, пожалуйста, в чем может быть проблема.

Нравится

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

Здравствуйте Станислав,

Причины данной ошибки могут быть разными. К сожалению, для определения истока проблемы нужен более тщательный анализ и данные. Пожалуйста, обратитесь в службу поддержки и Вам помогут с решением данной проблемы.

Спасибо!

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

Добрый день, коллеги

Я из бизнес-процесса отправляю email по шаблону. Шаблон в справочник добавила. В шаблон передаю Id обращения и в конечном итоге на почту получаю письмо, которое в себе содержит определенные данные обращения (номер, ответственный, контакт\контрагент и тд).

Подскажите, а могу ли я как-то в шаблон отправить данные с детали (например, Жизненный цикл обращения)?

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

Здравствуйте, Елена!

В текущей реализации приложения bpm'online нет возможности вывести в шаблон значение из связанного объекта (детали) или агрегирующие значения. Я зафиксировал и передал Ваше пожелание аналитикам продукта. Они рассмотрят возможность реализации в будущих версиях программного продукта.

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

Приветствую всех!

Тногда возникает такая ситуация, что при отправки письма по контакту или по контрагенту с помощью функции [Действие] - письмо формируется в текстовом формате. А это означает, что подписи, логотипы и форматирование текста не поддерживается.

Для решения такой ситуации, прошу открыть TSAdmin и найти сервис scr_MailUtils.
В данном сервисе

if (Params.BodyFormat) {
                Message.BodyFormat = Params.BodyFormat;
        } else if (!Params.Template) {
                Message.BodyFormat = 1;
        }

поменяйте на

if (Params.BodyFormat) {
                Message.BodyFormat = Params.BodyFormat;
        } else if (!Params.Template) {
                Message.BodyFormat = 2;
        }

Сохраняем сервис.
Перезаходим в приложение.
проверяем отправку.

Всем хорошего дня!

Нравится

Поделиться

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

Здравствуйте, господа.

Помогите сформировать письмо для отправки в Terrasoft XRM 3.3.2

В Terrasoft CRM 3.3.0.49 я формировал письмо следующим образом.

var MailUtils = GetMailUtilsWithoutMacroses();
// трололо, делаю всё, что надо
var Result = MailUtils.SendEmail(Subject, ToAddress, CopyToAddress,
                        BlindCopyToAddress, Body, HTMLBody, OutlookMesageBodyFormat,
                        CodePage,OutlookMessageImportance, ShowMessageWindow,
                        SendImmediately,TemplateFileName);

И, естественно, подключал скрипт scr_MailUtils. Сейчас методов, которыми пользовался раньше, использовать нельзя (их попросту нет).

Подскажите, пожалуйста, как правильно сформировать письмо в Terrasoft XRM 3.3.2.43.

Нравится

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

Добрый день, Сергей!
В версии 3.3.2.х механизм отправки почты несколько изменился. Теперь отправка письма без шаблона осуществляется функцией SendEmail (скрипт scr_MailUtils), которая в качестве аргументов принимает объект с объявленными свойствами. Перечень доступных параметров можно подсмотреть в функции CreateOutlookMessage, примеры - с помощью GrepSearch по слову SendEmail, например, функция SendByEmail() в скрипте scr_FilesDetailGridArea.
В Вашем случае нужно разобраться с параметрами функции SendEmail и использовать ее для отправки сообщений.

Спасибо, Дмитрий, воспользовавшись вашим советом нашел почти все, что интересовало.

Один лишь момент. Как отправить письмо с телом в HTML? Если задавать HTMLBody, теги все равно не обрабатываются. Пробовал менять значение параметра BodyType( 0,1,2) - никаких изменений.

Сергей, исчерпывающего примера показать, к сожалению, пока не могу. Могу лишь посоветовать собрать одну большую строку, содержащую правильный HTML-документ с тэгами, и присвоить ее в Body, при этом указать параметр BodyFormat = 2 (видимо, он означает HTML-формат). Посмотрите внимательно в самый конец функции CreateOutlookMessage, там этот случай как раз описан.

Подскажите,пожалуйста, где можно найти эту ф-ию CreateOutlookMessage?

Ф-ия нашлась в скрипте scr_OutlookUtils :)

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