Добрый день, у нас есть настроенный exchange listener. Если попробовать отправить письмо по желтому значку почты из обращения(в рабочем месте Сервис), то письмо отправляется. Так же у нас есть собственное рабочее место и Наряды, схожие по функционалу с обращениями. Вот из нарядов письмо не уходит, хотя штатный функционал, подскажите в какую сторону копать? В документации не смог найти ничего чтобы помогло.

Нравится

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

Добрый день.

Вам нужно проанализировать логи микросервиса Exchange Listener и самого приложения.

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

Показать все комментарии
Terrasoft.Core.Factories
Terrasoft.Mail.Sender
 
List<string> messageRecipients = new List<string>() { email };
var message = new EmailMessage
{
	From = sender,
	To = messageRecipients,
	Subject = emailSubject,
	Body = $"Добрый день, {name}. {messageBody}"
};
 
var emailClientFactory = ClassFactory.Get<EmailClientFactory>(new ConstructorArgument("userConnection",
	UserConnection));
var emailSender = new EmailSender(emailClientFactory, UserConnection);
emailSender.Send(message, true);

 

Нравится

Поделиться

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

Kulakov,

Добрый день!

Скорее всего необходимо настроить атрибут Body из класса EmailMessage. Если вы посмотрите на запрос PublishMessage в  Network, то там видно, что шаблоны применяються с помощью параметра Body. Также вы можете посмотреть на объект CaseMessageHistory и его параметр Message, чтобы увидеть, как выглядит сообщение с шаблоном.

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

Был создан БП с блоком отправки почты. В тело письма передается HTML-текст через параметр процесса. Всё работает корректно.

Но при повторном открытии и сохранении БП, параметр в графе "Тело Письма" сбрасывается, даже если не щелкать на блок отправки почты. Приходится при каждом изменении БП заново указывать параметр в тело письма. Иначе в письме содержится именно текст [#IsOwner....

Подскажите, можно ли как-то избежать повторения этих действий?

 

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

 

Нравится

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

Обратитесь в тех поддрежку Terrasoft (Creatio) не забыв указать номер версии используемой  у вас BpmOnline.

Обратитесь в тех поддрежку Terrasoft (Creatio) не забыв указать номер версии используемой  у вас BpmOnline.

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

Добрый день.

Подскажите, пожалуйста, как реализуется прикрепление файлов активности в элемент 'Отправка e-mail' в БП? 

Желательно поэтапно.

Версия 7.7.

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

Имеется такой БП, который отправляет письма со страницы активности, при нажатии на соответствующую кнопку.



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

Нравится

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

Добрый день.

На коммьюнити данная задача уже неоднократно обсуждалась, например, посмотрите этот пост.

Единственное, версия у Вас уж очень древняя. Возможно, что в ней могут быть нюансы, но принцип, думаю, тот же.

Рекомендую задуматься над обновлением laugh

Добрый день.

На коммьюнити данная задача уже неоднократно обсуждалась, например, посмотрите этот пост.

Единственное, версия у Вас уж очень древняя. Возможно, что в ней могут быть нюансы, но принцип, думаю, тот же.

Рекомендую задуматься над обновлением laugh

Алла Савельева,

Спасибо за ответ.

А без создания активности есть другие варианты?

stique,

Можно и без создания активности, но тогда история отправки e-mail храниться не будет.

Посмотрите, например, следующий пост.

Алла Савельева,

Я правильно понимаю, в БП нужно добавить элемент "Задание-сценарий" и прописать соответствующую реализацию из поста, который Вы приложили?)

stique,

Почти. В посте приведен пример метода отправки, Вам его нужно будет добавить в методы процесса, а вызывать с нужными параметрами из элемента 'Задание-сценарий'.

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

Добрый день! 

Может кто-нибудь поэтапно объяснить логику работы с шаблонами E-mail в БП?

Или ткните носом, где это подробно описано для версии 7.7?

Создаю тестовый БП

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

Завел параметр EmailTemplateId, в который прописал GuID нужного мне шаблона из таблицы "EmailTemplate".

 

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

Читаю данные из БД по нужному GuID 

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



Также добавил параметр EmailBodyTemplate, который устанавливает свойство Body элемента "Отправить e-mail 3".



Что нужно прописать в элементе "Установить тело письма", для того чтобы связать GuID шаблона с параметром EmailBodyTemplate?



Гугл выдает много похожих запросов с форума, но практически все решения, которые там приводятся ссылаются на удаленные страницы.

Заранее благодарен.

Нравится

3 комментария

Нигрескул Алексей,

Для 7.7 данные инструкции не совсем подходят.

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

Например, в 7.15 элемент SendEmailUserTask имеет Id «b749e6e7-cde4-4a2e-ade0-0b8cf36b0926» (смотреть в URL дизайнера).

Если запустить поиск по метаданным, можно будет найти прроцессы, где он использован:

SELECT *
  FROM [SysSchema]
  WHERE [MetaData] LIKE '%b749e6e7-cde4-4a2e-ade0-0b8cf36b0926%'

По сравнению с 7.15 набор процессов может отличаться, результаты не привожу.

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

Добрый день.

Пытаюсь из БП автоматически отправить письмо на электронную почту.

1. Создал системную настройку, в которой прописал e-mail получателя.

2. Синхронизировал учетную запись почты (тестовое письмо пришло).

3. Создал БП  с действиями "Начало" - "Отправка E-mail" - "Конец".

4. В действии "Отправка E-mail" заполнил поля: 

  - От кого: [#Справочник.Настройки синхронизации с почтовым ящиком.ТЕКУЩИЙ ПОЛЬЗОВАТЕЛЬ#].

  - Кому: [#Системная настройка.Email ИЗ НАСТРОЙКИ#]

  - Ну и собственно тело письма.

После сохранения запускаю БП, появляется иконка загрузки, пропадает, и ничего не происходит.

В чем может быть причина или что я делаю не так?

Нравится

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

Добрый день, посмотрите в журнале процессов выполнение вашего процесса

Nastol Eugene,

Обнаружил ошибку:

Terrasoft.Mail.Sender.EmailException: Не разрешена отправка с почтового ящика ---> Terrasoft.Mail.Sender.EmailException: Не разрешена отправка с почтового ящика

   at Terrasoft.Mail.SmtpClient.CreateMailCredentialByAddress(String address)

   at Terrasoft.Mail.SmtpClient.CreateSmtp(String address)

   at Terrasoft.Mail.SmtpClient.Send(EmailMessage emailMessage)

   --- End of inner exception stack trace ---

   at Terrasoft.Mail.SmtpClient.Send(EmailMessage emailMessage)

   at Terrasoft.Core.Process.Configuration.SendEmailUserTask.InternalExecute(ProcessExecutingContext context)

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

Что это может значить? Пользователь имеет роль "Системный администратор", доступ к операциям имеет, при синхронизации почтового ящика - тестовое письмо пришло.

Из-под супервизора синхронизировал почту пользователя, выполнил БП - письмо отправилось и пришло.  

stique пишет:

Что это может значить?

В коде схемы SmtpClient  же видно, где выводит это сообщение:

private MailCredentials CreateMailCredentialByAddress(string address, bool ignoreRights = false) {
	var mailboxESQ = new EntitySchemaQuery(_userConnection.EntitySchemaManager, "MailboxSyncSettings");
...
	EntitySchemaQueryColumn sendEmailsViaThisAccountColumn = mailboxESQ.AddColumn("SendEmailsViaThisAccount");
...
	IEntitySchemaQueryFilterItem senderEmailAddressFilter = mailboxESQ
		.CreateFilterWithParameters(FilterComparisonType.Equal, "SenderEmailAddress", address);
	mailboxESQ.Filters.Add(senderEmailAddressFilter);
...
	EntityCollection mailboxEntities = mailboxESQ.GetEntityCollection(_userConnection);
...
	Entity mailbox = mailboxEntities[0];
	if (!mailbox.GetTypedColumnValue&lt;bool&gt;(sendEmailsViaThisAccountColumn.Name)) {
		throw new Sender.EmailException("ErrorOnSend", NotAllowedSendingFromThisMailbox);
	}
...

Значит, у используемого ящика в свойствах не поставлена галочка разрешения отправки с него, в базе это поле SendEmailsViaThisAccount таблицы MailboxSyncSettings, в интерфейсе должно меняться тут:

 

scr_chapter_imap_synchronisation_edit_settings_page.png

Зверев Александр,

Большое спасибо за ответ.  

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

Посмотрел в базе, стоит 1

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

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

По поводу поля в базе, нужно смотреть, как выполняется функция. Возможно, в выборке пусто после наложения фильтра по адресу, если он написан по-разному. А когда ввели заново, написали одинаково.

Зверев Александр,

Да, Вы правы. При попытке настроить добавленный почтовый ящик, в консоли спамит ошибка:

Вы можете подсказать, в БД можно как-нибудь настроить почтовый ящик как общий?

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

Коллеги, добрый вечер!

Подскажите идеи пжлст для реализации следующей задачи:

в разделе Excel отчеты есть отчет. Его нужно отправлять каждый день по расписанию на определенный email.

 

Спасибо!)

Нравится

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

Елена К пишет:

А немного поправив, это вы что примерно имеете ввиду

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

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

Насколько я понимаю раздел Excel отчеты это не базовый функционал?

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

Отправка файлов в БП на этом форуме обсуждалась не раз и особой сложности не представляет.

По формированию вашего отчета подсказать затрудняюсь тк это или ваш кастомный раздел или вы ставили какое то приложение с маркетплэйса (возможно вам ктото дорабатывал систему). Если ставили какое то расширение для работы с отчетами укажите какое и ссылку на него иначе смотрите как у вас происходит формирование отчета, скорее всего этот процесс можно автоматизировать!

Григорий Чех,

Григорий, это приложение https://marketplace.terrasoft.ru/app/excel-reports-builder-bpmonline, выпущенное Terrasoft. При запуске  созданного в  разделе "Excel отчеты" отчета происходит скачивание файла Excel. У нас вопрос как через БП сгенерировать cамо вложение, а там дальше мы с ним уже разберемся). Спасибо!

 

Елена К,

Мы, например, используем другое дополнение -

https://marketplace.terrasoft.ua/app/reports-generator-bpmonline

И там отчеты, скорее всего сохраняются, так как, в результате генерируется ссылка в уведомлениях, и только оттуда их можно скачать.

Кроме того, в том же дополнении есть процесс запуска генерации отчета по расписанию ("Запуск формирования отчета по правилу"). Немного поправив его, можно файл не сохранять на диске сервера (как в оригинале), а прикреплять к письму, например

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

Владимир, да , это приложение тоже стоит, просто меньше используется, чем первое.  А немного поправив, это вы что примерно имеете ввиду?). 

Елена К пишет:

А немного поправив, это вы что примерно имеете ввиду

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

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

Елена К,

Судя по принскрину приведенному Владимиру,вы можете например создать активность с типом исходящее письмо и отчет не записывать на диск а прикреплять к этой активности и отправлять ее (Как отправлять письмо с вложениями неоднократно в этом форуме обсуждалось)

Коллеги, спасибо! будем пробовать.Как получиться, поделимся).

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

Добрый день!



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

Нравится

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

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

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

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

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

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

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

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

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

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

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

Всем привет!

Сегодня хочу поделить настройки Terrasoft для использования нескольких учетных записей в Outlook.
Для чего это нужно?

Например, Вы работаете с личной почтой, но рассылку от компании Вам необходимо выполнить от корпоративной учетной записи.

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

Но бывает, что данные действия всё равно не приводят к желаемому результату, тогда открываем TS Admin и находим сервис scr_OutlookUtils.

В нем находим функцию CreateNewOutlookMessageByCopy и меняем ее на следующую:

function CreateNewOutlookMessageByCopy(FileName) {
         var Message;
         if (FileName) {
                   if ((GetOutlookVersion() == '11.0') || (GetOutlookVersion() == '12.0')) {
                            Message = Outlook.Application.CreateItemFromTemplate(FileName);
                            RemoveOutlookMessageProperties(Message);
                   } else {
                            TemplateMessage = Outlook.Application.CreateItemFromTemplate(FileName);
                            RemoveOutlookMessageProperties(TemplateMessage);
                            Message = Outlook.Application.CreateItem(0);
                            if (TemplateMessage.SendUsingAccount != null) {
                                      Message.SendUsingAccount = TemplateMessage.SendUsingAccount;
                            }
                           
                            RemoveOutlookMessageProperties(Message);
                            Message.InternetCodepage = TemplateMessage.InternetCodepage;
                            Message.Subject = TemplateMessage.Subject;
                            Message.BodyFormat = TemplateMessage.BodyFormat;
                       var NewMailItemBodyFormat = GetMailItemBodyFormat(Message);
                       var MessageText;
         
                            if ((NewMailItemBodyFormat  == olFormatHTML) ||
                                      (NewMailItemBodyFormat  == olFormatRichText)) {
                                      MessageText = GetMailItemBody(TemplateMessage);
                                      if (GetMailItemBodyFormat(TemplateMessage) == olFormatPlain) {
                                        MessageText = PreparePlainTextForHTML(MessageText, true);
                                      }
                            } else {
                                      MessageText = TemplateMessage.Body;
                            }
         
                            CopyAttachments(TemplateMessage, Message, false, Log);
                            SetMailItemBody(Message, MessageText);
                           
                            var Recipient;
                            var SourceRecipient;
                            for (var i = 1; i = TemplateMessage.Recipients.Count; i++) {
                                      SourceRecipient = TemplateMessage.Recipients.Item(i);
                                      Recipient = null;
                                      if ((!IsEmptyValue(SourceRecipient.EntryID)) &&
                                               (SourceRecipient.AddressEntry.Type != 'EX')) {
                         Recipient = Message.Recipients.Add(SourceRecipient.Address +
                                                        ' ' + SourceRecipient.Name + '>');
                                      } else {
                         Recipient = Message.Recipients.Add(SourceRecipient.Name);
                         if ((!Recipient.Resolve()) && (!IsEmptyValue(SourceRecipient.EntryID))) {
                            Recipient.AddressEntry = SourceRecipient.AddressEntry;
                         }
                                      }
                                      Recipient.Type = TemplateMessage.Recipients.Item(i).Type;
                            }
         
                            TemplateMessage.Delete();
                   }
         } else {
                   GetOutlookCodePageOut();
                   Message = Outlook.Application.CreateItem(0);
                   if (Outlook.CodePageOut) {
                            Message.InternetCodepage = Outlook.CodePageOut;
                   } else {
                            Message.InternetCodepage = 20866;
                   }
         }
         return Message;
}

Сохраняем сервис, перезапускаем Terrasoft и проверяем отправку писем.

Приятной работы!

С уважением,
Белецкий Арсений
Группа компаний Terrasoft

Нравится

2 комментария

Арсений,
возможно ли использование нескольких учетных записей для отправки e-mail из BPMOnline CRM?
Как они настраиваются?

Анна, приветствую!

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

Возможно, в версии продукта 5.5 данная возможность уже будет.

С уважением,
Белецкий Арсений
Группа компаний Terrasoft

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