Доброго всем дня.

 

Некоторое время назад появилась ошибка: "1 of 0 records imported from the source file "". 4294967295 record(s) not imported.".

Периодически появляется в коммуникационной панели в системных уведомлениях: http://prntscr.com/ru3qoq

 

Откуда ноги растут - не понятно, за исключением догадки, что это могло произойти с момента или попытки импорта данных через Excel. Логи журнала процессов и т.п. чистились, неизвестно с какого момента ошибка начала воспроизводится.

 

По данным записям (ошибкам) в таблице Reminding колонка SubjectId с "нулевым" Id: http://prntscr.com/ru3l3r

 

Сталкивался ли кто с подобной ошибкой? 

Нравится

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

Дарья, эти уведомления генерируются ошибочно по результату получения входящих лидов/обращений с посадочной страницы.

Для устранения нужно установить пакет FileImportNotificationFix_20.04.07_12.51.35.zip на сайт (лучше сначала проверить на тесте) или дождаться, когда выйдет очередное обноление, его включающее.

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

Большое спасибо, Александр! 

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

Вопрос

В рамках процесса создается Активность, в участников добавляются пользователи. Данная Активность подразумевает встречу участников для решения вопроса. Необходимо, чтобы информацию о данной встрече отправлялась не просто письмом, а в виде Meeting Request, чтобы встреча была отражена в MS Exchange у пользователя.

Ответ

На данный момент наш механизм синхронизации встреч с MS Exchange выполняет все изменения без отправки уведомлений. Так сделано из-за того, что первично расписание в bpm'online используется как механизм планирования рабочего времени (в т. ч. допустимы многократные переносы).

Для решения вашего кейса нужно настроить синхронизацию календаря, после чего в Outlook будет синхронизировать то же самое расписание, как в bpm'online. Когда нужно будет оправить уведомление, необходимо перейти в Outlook и, например, в контекстном меню нажать "Invite Attendies". В будущих версиях системы планируется добавить возможность отправки уведомления прямо из интерфейса bpm'online.

Нравится

Поделиться

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

Было бы очень полезно, чтобы новые сообщения, поступающие в Ленту (не комментарии и лайки, а просто новые сообщения в Ленту), на которую подписан пользователь, также отображались в CTI панели, например на значке Ленты.

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

Здравствуйте, Сергей!

Я передал Ваше пожелание аналитикам продукта.
Они рассмотрят возможность его реализации в одной из последующих версий программного продукта.

Мы обязательно уведомим, когда оно будет включено в релиз.

Да, и нельзя оставить комментарий к комментарию, поэтому также не видно, что на твой комментарий ответили.
Без этих небольших изменений инструмент не рабочий, хотя потенциал огромный. Осталось чуток доработать и инструмент станет рабочим и им будут пользоваться.
Сейчас клиенты не видят смысла в нем в текущей реализации.

Есть какие-то сдвиги по этому вопросу? Люди просят.

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

Реализация данного функционала запланирована в ближайших версиях продукта.

Скоро будем праздновать годовщину идеи

Здравствуйте, коллеги! Спасибо за идею. Функционал уведомления подписчиков канала будет реализован в одном из ближайших релизов. Мы обязательно сообщим, как только данная функция попадет в релиз.

Добрый день, коллеги! На маркетплейсе опубликован темплейт https://marketplace.bpmonline.com/template/feed-notifications-account-r…, в котором можно посмотреть пример реализации для указанной задачи. А именно при создании контакта по контрагенту, на которого подписан пользователь, ему отображается сообщение о добавлении нового контакта в Центре уведомлений на вкладке Лента.

Федоренко Михаил Юрьевич,

уже месяц празднуем =)

Подскажите пожалуйста, функционал добавили?

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

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

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

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

Коллеги, день добрый.

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

Есть Активность, в которой Автор и Исполнитель отличаются. Как только Исполнитель завершает задачу Автору должно выводиться уведомление (в коммуникационной панели во вкладке уведомлений) о том, что конкретная задача завершена.

Сделал бизнес-процесс, который добавляет Уведомление по сигналу изменения состояния Активности. Само уведомление в панели появляется, но счётчик не меняется.

Попробовал создать отдельного провайдера (по аналогии с DocumentNotificationProvider и ForecastNotificationProvider), но словил ошибку 400. Подозреваю, что на один раздел может быть только один провайдер уведомлений.

Получилось отловить ошибку, которая выдаётся в консоли:

Сервер обнаружил ошибку при обработке запроса. Сообщение об исключении: "Значение не может быть неопределенным.

Имя параметра: type". Дополнительные сведения см. в журналах сервера. Трассировка стека исключений:
в System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
в System.Activator.CreateInstance(Type type, Object[] args)
в Terrasoft.Configuration.RemindingsHelper.GetResult(Guid sysAdminUnitId, NotificationProviderType type, DateTime date, String methodName)
в Terrasoft.Configuration.RemindingsHelper.GetCount(Guid sysAdminUnitId, NotificationProviderType type, DateTime date)
в Terrasoft.Configuration.RemindingsHelper.GetRemindersCounter(Guid sysAdminUnitId, String dueDate)
в Terrasoft.Configuration.RemindingsHelper.GetPopupConfigResponse(Guid sysAdminUnitId, String dueDate)
в SyncInvokeGetPopupConfig(Object , Object[] , Object[] )
в System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
в System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
в System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

 

Нравится

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

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

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

Так же убедитесь, что в таблице NotificationProvider существует запись для нового провайдера.

"Попробовал создать отдельного провайдера (по аналогии с DocumentNotificationProvider и ForecastNotificationProvider), но словил ошибку 400."
- Скорее всего могли быть допущены ошибки в созданном провайдере.
Но если уже есть базовый провайдер уведомлений по Активностям, то нет смысла создавать новый(только если хотите использовать другой тип уведомлений).

Илья, да, записи в Reminding добавляются корректно (и время и прочитано), все записи корректно отображаются на коммуникационной панели.

Запись для нового провайдера тоже добавлял.

Я как раз и хочу добавить провайдер уведомлений по Активностям с типом "Уведомления" (базовый работает с напоминаниями).

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

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

Так а в чем проблема была, решили?

Сомневаюсь, что логи за 2017 год сейчас сохранились.

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

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

Нравится

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

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

Задачу можно решить с помощью бизнес-процесса. Дизайн процесса будет выглядеть следующим образом:
1. Стартовый сигнал по добавлению записи в объект Лид.
2. Читать данные в лиде, где Id = Пункт 1. Id
3. Читать данные в контакте, где Id = Пункт 2. Ответственный. Подразумевается, что ответственный в лиде и есть менеджер, которому необходимо отправить уведомление.
4. Отправить письмо, в поле Кому указать Пункт 3. Email.
5. Добавить активность, в активности указать Лид = Пункт 2. Id
6. Элемент “Исключающее ИЛИ по событиям”. От этого элемента выходит два потока:
- первый поток ведет к элементу “Таймер”. В таймере указать 60 минут. После таймера добавить элемент “Изменить данные” в активности, где Id = Пункт 5. Id созданной записи, установить нужное состояние активности (в данном случае Просрочена)
- второй поток ведет к элементу “Обработка сигнала”. Элемент будет ожидать изменение состояния активности, где Id = Пункт 5. Id созданной записи, с фильтром Состояние = Выполнена.

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

Описанная задача может быть решена созданием бизнес-процесса. Логика процесса:
1) Стартовый сигнал по событию добавления записи в объект "Лид"
2) Элемент "Добавить данные" для создания записи в объекте "Активность". Необходимо заполнить поля:
Тип
Категория
Ответственный
Заголовок
Дата начала
Дата завершения
Лид
3) Элемент "Добавить данные" для создания уведомления. Необходимо заполнить следующие поля:
NotificationType: [#Справочник.Тип уведомлений.Reminding#]
Время: [#Системная переменная.Текущее значение даты и времени#]
Кому: [#Ответственный#]
Объект: [#Справочник.Объект раздела (представление).Активность#]
Уникальный идентификатор заголовка: [#Создать активность.Id созданной записи#]
4) Конец процесса.

В результате при создании лида будет запущен созданный процесс, который создаст активность и уведомление по активности

Большое спасибо за помощь. :smile:
Еще такой вопрос: если создавать активность и по активности выводить уведомление в панель - все отлично работает. Но если я вывожу уведомление по созданию нового контакта без активности, то уведомление как бы приходит, но в таком виде: 30 и звоночек не появляется.
ContactNotficationProvider в схемах присутствует. В чем может быть проблема?

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

А провайдер зарегистрирован? Подобная тема обсуждалась здесь.

Добрый вечер, спасибо за отклик.
ContactNotificationProvider шел изначально в сборке
, его тоже необходимо дополнительно регистрировать?
Не подскажите какими средствами осуществлять запуск sql скриптов в bpmonline 7.9, чтобы осуществить регистрацию?

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

Для выполнения sql запросов в системе Вы можете воспользоваться партнерским решением https://marketplace.terrasoft.ru/app/49

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

Коллеги, подскажите, как создать из процесса уведомление пользователю в центр уведомлений?

Нравится

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

Павел,
Задача решается с помощью элемента “Добавить данные”. Записи хранятся в таблице Reminding. Самый простой способ – добавить уведомление из приложения, посмотреть какие поля заполнены в таблице БД и по аналогии заполнить эти поля в процессе.
Также следует учитывать – в системе существуют провайдеры, которые считают и обновляют кол-во уведомлений в зависимости от объекта привязки и типа уведомления. Для основных разделов такие провайдеры уже реализованы. При необходимости следует создать пользовательский провайдер. Пример в системе – ActivityNotificationProvider.

"Зарицкий Олег Васильевич" написал:

Павел,
Задача решается с помощью элемента “Добавить данные”. Записи хранятся в таблице Reminding. Самый простой способ – добавить уведомление из приложения, посмотреть какие поля заполнены в таблице БД и по аналогии заполнить эти поля в процессе.


Здравствуйте, а где можно посмотреть эти поля? В самом объекте Reminding?

Добрый день!
Reminding – развязочная таблица, которая хранит внешние ключи на разные сущности.
Название полей и их тип легче посмотреть в объекте [Уведомление/ Reminding].
Какие значения там хранятся можно посмотреть в таблице БД – Reminding.

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

Доброго времени суток!
Каким образом можно сменить подпись уведомления о новой визе в ком. панели? Чтоб выводилось в формате, к примеру: Заявка [номер], [цель], [получатель].

Нравится

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

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

На примере раздела "Заказы" логика реализована в OrderVisaNotificationProvider. Вам необходимо заместить логику этой схемы.

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

Уже разобрался. Формирую строку в БП, записываю в цель визы, и вывожу в ком. панель вместо имени объекта.

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

Здравствуйте.
Где и как можно настроить уведомление о новых сообщениях. Сообщения приходят, но в боковой панели не показывается уведомление. Возможно ли настройка уведомления?
Спасибо

Нравится

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

Здравствуйте!
Следует проверить доступ Вашего пользователя или роли, в которую он входит к объектам - "Уведомление", "Уведомление ленты" (раздел Администрирование: Доступ к объектам).
Также просьба уточнить название и версию Вашего продукта.

"Зарицкий Олег Васильевич" написал:

Здравствуйте!
Следует проверить доступ Вашего пользователя или роли, в которую он входит к объектам - "Уведомление", "Уведомление ленты" (раздел Администрирование: Доступ к объектам).
Также просьба уточнить название и версию Вашего продукта.

Здравствуйте.
bpm'online sales enterprise 7.6
Когда открываешь боковую панель с письмами, там показываются новые сообщения. Однако, уведомление о том, что пришло новое письмо или же изменения в ленте не показывается. Допустим, как приходит уведомление о новой визе или же обычные уведомления.
Спасибо.

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

На коммуникационной панели стоит разделять "Лента" и "Уведомления".
В Ленте отображается сообщения раздела ЛЕНТА (например, другой пользователь оставил Вам комментарий или "лайкнул" существующий, созданный Вами)
В Уведомлениях отображается системная информация (например - Импортированы новые записи),
напоминания по активностям. Уведомления о новом входящем письме не приходят, т.к. достаточно открыть рядом стоящую панель "Email".
Более детальную информацию Вы можете найти в документации.
http://academy.terrasoft.ru/documents/docs/product/bpm'online%20sales/e…?

Добрый день!
Возобновлю тему.
Подскажите, как при создании визы по БП сделать так, чтобы сразу появлялись и исчезали уведомления.?

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

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

Алексей, а с какими параметрами нужно запускать этот процесс?

Александр, в процесс необходимо передать параметры, которые есть у процесса. В процессе параметров нет, соответственно, туда ничего передавать не надо.
Элемент "Задание-сценарий" определяет userConnection пользователя, который инициировал процесс.

Алексей, спасибо. Все работает.

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

Здравствуйте, Владимир!

"Владимир Соколов" написал:

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

Уточните, пожалуйста, версию, на которой наблюдается такое поведение.

Задаю поля в Add Data (для Notification): To = ответственный, Title, Time = current date/time, Object = Document, Source = Owner, Unique caption Id = Record Id (из сигнала)
После этого запускаю Get number of reminders

В итоге само уведомление есть, а красная цифра не загорается.
Версия omnichannel English 7.6.0.938

Здравствуйте, Владимир!

Это зависит от часовых поясов на сервере, в профиле пользователя и на локальной машине пользователя. В версии 7.7.0. данное поведение поправили. Попробуйте убрать в профиле пользователя значение в поле "Часовой пояс".

"Демьяник Алексей" написал:Это зависит от часовых поясов на сервере, в профиле пользователя и на локальной машине пользователя. В версии 7.7.0. данное поведение поправили. Попробуйте убрать в профиле пользователя значение в поле "Часовой пояс".

Проверил в 7.10 - то же самое... Может, что-то забыл указать при создании Notification?

Владимир, здравствуйте!

В версии 7.10 система показывает, что появились новые сообщения без доработок.

Что касается уведомлений, то необходимо проверить подключения по websocket. Также для корректного получения уведомлений, при создании уведомления необходимо заполнять следующие поля:

  • NotificationType
  • Время
  • Заголовок
  • Кому
  • Объект
  • Уникальный идентификатор заголовка
Показать все комментарии

Здравствуйте! При внесении каких-либо изменений в контрагенте или контакте, в частности, при добавлении(изменении) комментария на детали «Описание» хотелось бы настроить автоматическое отправление ответственному за этого контрагента или контакта уведомления об этом. Уведомление желательно как внутреннее, так и внешнее - на почту. Можно ли это сделать? И какой порядок действий, если можно?

Нравится

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

Добрый день, Александр!
Необхрдимо привязать обработчик на событие OnDatasetAfterPost невизуального элемента dlData d сервисе Common\Details\Description\wnd_Description

Для этого откройте указанный сервис, перейдите к его невизуальным элементам, сфокусируйтесь на dlData. Ниже выберите закладку "События", найдите и встаньте на OnDatasetAfterPost. Оно по умолчанию не задано. Встаньте в поле Значение события (Value) и сделайте двойной клик. В результате этого действия Вы перейдете в сервису Common\Details\Description\wnd_DescriptionScript в котором каретка курсора уже будет стоять в новом обработчикие события:

function dlDataOnDatasetAfterPost(Dataset) {
	//TODO
}

Здесь реализуйте логику отправки уведомления сообщения.
Например: если нужно отправлять оповещения только в случае изменения описания добавьте условие:

var ParentWindow = Self.ParentContainer.ParentWindow;
if (ExtractUSICodeEx(ParentWindow.USI) == "wnd_AccountsWorkspace") {
	//TODO
}

Получить ID Контрагента и Ответственного можно из датасета

var AccountDataset = ParentWindow.ComponentsByName('dlAccounts').Dataset;

Отправить сообщение ответсвенному можно воспользовавшись базовой функцией SendEmail(Params) из сервиса Common\Library\scr_MailUtils (не забудьте его подключить к wnd_DescriptionScript).

Пример использования SendEmail:

	SendEmail({Address: 'support@tscrm.com', 
		Subject: "Запрос в службу поддержки Terrasoft",
		BodyFormat: 1, Body: "Hello!"});

Создать напоминание можно следующим образом:

	var RemindingDataset = GetSingleItemByCode('ds_Reminding');
	RemindingDataset.Append();
	RemindingDataset.ValAsGUID('ID') = Connector.GenGUID();
	RemindingDataset.Values('SubjectID') = AccountDataset.ValAsGUID('ID');
	RemindingDataset.Values('SubjectTypeID') = rst_Account; // берется из Common\Dictionaries\Reminding\enm_RemindingSubjectType
	RemindingDataset.Values('Description') = 'Напоминание по Контрагенту.'
	RemindingDataset.Values('RemindTime') = new Date().getVarDate();
	RemindingDataset.Values('ContactID') =  Connector.CurrentUser.ContactID;
	RemindingDataset.Post();
	RemindingDataset.Close();
Показать все комментарии

Добрый день!
Есть бизнес-процесс, в ходе которого создаются когда последовательно, когда параллельно
ряд задач.
Необходимо после создания каждой задачи, а также после ее выполнения посылать
e-mail уведомления ответственному и автору.

Как решить эту задачу, используя блок "Отправка E-mail" в бизнес-процессе.
В частности, какие параметры нужно указать в самом блоке,
и где, в какой момент заполнять параметры "ответственный", "автор" - кому отправить
и id задачи, по которой нужно отправить информацию?

Спасибо.

Нравится

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

Здравствуйте, Дарья.

Отправил ответ Вам на e-mail.

"Олейник Дмитрий" написал:

Отправил ответ Вам на e-mail.

С уважением,
Олейник Дмитрий
Эксперт 3-й линии поддержки


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

В качестве решения предлагается использовать SendEmailByTemplate из scr_MailUtils:

Отправлять примерно так:

var AddressList = [];
var OwnerID = Dataset.Values('OwnerID');
GetMailAddressesByContactID(OwnerID, AddressList);
var TemplateID = GetSystemParameterValueEx('IncidentEmailByContactTemplateID');
if (IsEmptyGUID(TemplateID)) {
   return;
}
var ID = Dataset('ID');
SendEmailByTemplate(TemplateID, {RecordID: ID, Address: AddressList,
    Silent: true, AutoSend: true});
Показать все комментарии