Добрый вечер, создали NotificationProvider для разделов “База знаний” и “Продукты” по примеру провайдера контрагентов, провайдеры добавили в таблицу Reminding, но возникла проблема с гиперссылками, в уведомлении о новом продукте гиперссылка корректно открывается, а при уведомлении о статье и контрагенте не срабатывает, подскажите, пожалуйста, в чем может быть причина?

Нравится

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

Здравствуйте,
К сожалению, без доступа к БД сложно что-то подсказать, напишите данную проблему на поддержку: support@terrasoft.ru

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

Добрый вечер, как я понимаю, чтобы для уведомлений из пользовательского раздела отображался колокольчик с +1 необходимо создать в схемах провайдер, и затем с помощью sql запроса его зарегистрировать в общем NotificationProvider, но я не могу найти как выполнить sql запрос. Запросили партнерское решение (https://marketplace.terrasoft.ru/app/49) , но пока тихо, подскажите, пожалуйста, есть ли какой-нибудь нативный способ подключить провайдер уведомлений в bpmonline 7.9? :smile:

Нравится

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

A почему бы не воспользоваться закладкой "SQL-запросы" в свойствах пользовательского пакета? :)

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

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

2) Написать простой запрос в консоли используя entityschemaquery (так как esq проверяет права пользователя - выполнять его необходимо под пользователем, имеющим права на изменение объекта).

И да, прикрепить скрипт на вкладке sql сценарии в конфигурации и выполнить.

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

таблица NotificationProvider, колонка type

Большое спасибо, помогло с отображением счетчика в нужном месте :smile:
А не подскажете в чем может быть ошибка с отображением пустой иконки в уведомлениях, для раздела иконка установлена, в таблице NotificationsSettings необходимо что-то добавить?

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

Предполагаю, что нет записи развязки между изображением раздела и объектом раздела.

Проверьте заполнение полей SysImageId и SysEntitySchemaUid.

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

Коллеги, доброго вечера!
Есть задача отображать уведомления о Днях рождения контактов всем пользователям, а не только соответствующих условиям (https://academy.terrasoft.ru/documents/sales-enterprise/7-9/kak-rabotat-...). Техподдержка дала направление работы:
За загрузку коллекции знаменательных событий отвечает метод loadNotifications: function(isLoadNew, callback) {…} на схеме BaseNotificationsSchema.
За настройку самого запроса select для заполнение указанной коллекции отвечают методы:
addColumns: function(select) {…},
removeColumns: function(select) {…},
addFilters: function(select) {…} на схеме AnniversaryNotificationsSchema
и метод
initializePageableOptions: function(select, config) {…} на схеме BaseNotificationsSchema

Изучил эти методы, но, честно говоря, так и не понял, как отключить эту фильтрацию по ответственным пользователям. Создал замещающую схему к BaseNotificationsSchema, в ней в методе getNotificationsSelectFilters закоментирировал

filters.add("CurrentContact", this.Terrasoft.createColumnFilterWithParameter(comparisonType.EQUAL,
                                                                "Contact", currentContactId));

и добавил
this.callParent();

внчале метода, но это не помогло. На что ещё обратить внимание?

Нравится

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

Заместите, скопируйте код getNotificationsSelectFilters, закомментите что необходимо, сохраните.
Без this.callParent(), иначе фильтры добавятся.
Терзают, однако, меня смутные сомнения, что это поможет. Уж больно много условий в уведомлениях по знаменательным событиям и мало фильтров в методе.

Да, вот так заработало. Видимо, callParent и правда было зря. Данила, спасибо!

не всё так просто, как оказалось. Этот код стал теперь отображать все уведомления по всем задачам всем пользователям. Так понимаю, нужно добавить условие по типу уведомления и тогда либо добавлять, либо не добавлять доп. фильтр по ответственному, верно?

Антон, естественно, NotificationType должен быть Anniversary

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

Здравствуйте!
Реализую процесс визирования, сделал на основе визирования счетов – бизнес-процессы, кнопка меню действия, провайдер уведомлений, добавил запись в таблицу NotificationProvider
Бизнес процесс отрабатывает, записи в детали визирования появляются, ошибок нет, но уведомления в ленте не появляются.
Подскажите, пожалуйста, в какую сторону копать (sales 7.8.0.1134).

Нравится

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

Добрый день!

Следует убедится:
1. Уведомление действительно создается в таблице Reminding.
2. В уведомлении указано корректное время и адресат.
3. Если запись в таблице есть, но уведомление не отображается в коммуникационной панели – не создан/некорректно создан провайдер уведомления для объекта. Пример можно посмотреть в схеме – InvoiceVisaNotificationProvider.

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

В бизнес-процессах визирования счёта ни чего подобного не нашёл...

Добрый день!

Прошу прощение, перепутал с другим процессом уведомлений.
Процесс визирования и уведомления работает с одним объектом, для счетов это – InvoiceVisa, уведомления соответственно приходят согласно провайдеру – InvoiceVisaNotificationProvider.
Т.е. по предыдущему комментарию первые два пункта можно пропустить.

В InvoiceVisa запись появляется но Уведомлений нет... буду разбираться с провайдером
Я так понимаю что с периодичностью указанной в настройке "Интервал проверки уведомлений" (RemindingsCheckInterval) происходит опрос всех провайдеров из таблицы NotificationProvider, каждый в свою очередь выполняет запрос к сущностям для которых он создан, и раскидывает результаты по уведомлениям ленты, правильно я полагаю?

Все верно.

Заметил что появляются оповещения внизу у часов, а вот в самой ленте ни чего, прилагаю скриншот

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

При попытке отладки через Visual Studio поставил точки останова в методах нескольких провайдеров в том числе и созданного... но ни одна из них так и не сработала, какой механизм вызывает эти провайдеры?

Как оказалось конфигурация Team по умолчанию не имеет вкладки визирование, её необходимо добавлять основываясь на продукте Enterprice...
... цитирую ответ от техподдержки:
"В продукте Sales Enterprise за добавления вкладки отвечает схема CenterNotificationSchema (пакет SalesEnterprise), метод getTabsConfig()."

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

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

Добрый день!
itil 7.6
Подскажите, пожалуйста,почему может не работать счетчик уведомлений для уведомлений, связанных с объектом "изменение"
( причем с объектом "обращение" счетчик работает)
Выглядит это так
- на иконке кол-во не отображается, но уведомления есть

Сверяли уведомления в таблице Reminding - заполнены корректно

Нравится

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

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

А подключение по websocket есть?

Добрый день!
А где это проверить необходимо?

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

Давайте по другому - у Вас работают процессы (элементы взаимодействия с пользователем открываются)?

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

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

За обновление количества уведомлений отвечает процесс "Получить количество уведомлений". Он журналируется. Проверьте, пожалуйста, он завершается с ошибкой или нет.

Также, уточните следующие параметры:
1) Часовой пояс на локальной машине пользователя
2) Часовой пояс в профиле пользователя
3) Часовой пояс на сервере, где развернуто приложение.

Добрый день, Алексей!
Процесс "Получить кол-во уведомлений" с ошибкой НЕ завершается.
С часовыми поясами тоже все в порядке.
Дело не в конкретном пользователе

Проверяем как на облачной базе, так и на базе он-сайт тестовой.
Смотрите, какая ситуация:
Вообще счетчик уведомлений работает, но он работает только, если уведомление связано с объектом "Обращение"- только их он считает.
Если же уведомление связано с объектом "Проблема" или "Изменение" - то счетчик Не считает такие уведомления, он их не учитывает,хотя они есть - их можно посмотреть.

Есть три аналогичных процесса.
1. Создает уведомление по обращению - такое уведомление попадает в счетчик
2.Создает уведомление по проблеме - такое уведомление НЕ попадает в счетчик
3.Создает уведомление по изменению - такое уведомление НЕ попадает в счетчик

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

У проблемы и изменения есть " состояние ", так что непонятно отсутствие провайдера.
Если у каждого раздела есть свой провайдер, который считает кол-во уведомлений,то не очень понятно почему же забыли создать такие провайдеры для разделов "Проблемы", "Изменения", "Релизы" и т.д.

Создавать техническую активность вообще не выход,это приведет к захламлению системы ненужными активностями, да и уведомление должна создаваться к объекту, а не к активности.

Как тогда включить необходимый провайдер?
В счетчике должны отображаться уведомления по всем объектам, к которым можно создать уведомления - по крайней мере к основным разделам системы уж точно.
Алексей, ну он должен быть заложен в систему.
То, что уведомления создаются, но не считаются в счетчике - это же ошибка(
Причем сами эти уведомления отражаются в панели уведомлений справа

создали UsrProblemNotificationProvider
по аналогии с CaseNotificationProvider

Но ничего не изменилось, видимо где-то этот новый провайдер надо подключить?

Добавили
вот такую строчку в sql
insert into NotificationProvider
(ClassName,Type)
values('Terrasoft.Configuration.UsrProblemNotificationProvider',1)
Уведомления для проблем включены.
По аналогии поступим со остальными разделами.
Но очень странно, конечно, что провайдеров изначально не было
Спасибо)

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

Добрый день.
Столкнулся с проблемой в процессе настройки механизма уведомления по документам.
DocumentNotificationProvider в системе уже был, его добавил в NotificationProvider.
Уведомления создаются так же, как и в активностях. Запись в Reminding создается корректно.
Уведомление появляется, но не понятно почему в виде "от 05.04.2016" без гиперссылки и иконки.
Буду благодарен за идеи!
Версия 7.7.0.2223

Нравится

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

Добрый день!

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

В процессе объекта при сохранении и удалении запускается действие Синхронизировать уведомление по объекту со следующими параметрами, заданными в элементе скрипт:

SynchronizeReminding.IsSubjectDelete = Entity.IsInDeleting;
SynchronizeReminding.Active = !Entity.IsInDeleting;
SynchronizeReminding.SubjectPrimaryColumnValue = Entity.PrimaryColumnValue;
SynchronizeReminding.Contact = Entity.GetTypedColumnValue<Guid>("OwnerId");
SynchronizeReminding.Source = new Guid("a76d08e1-2e2d-e011-ac0a-00155d043205");
SynchronizeReminding.RemindTime = Entity.GetTypedColumnValue<DateTime>("SxRemindingDate");
SynchronizeReminding.SysEntitySchema = Entity.Schema.UId;
SynchronizeReminding.Description = "Договор №" + Entity.GetTypedColumnValue<string>("Number");
SynchronizeReminding.NotificationType = RemindingConsts.NotificationTypeRemindingId;
SynchronizeReminding.TypeCaption = "Договор";

Добрый день!
Немогли бы Вы прикрепить все замещенные схемы?

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

Добрый день!

Посмотрите реализацию схемы SystemNotificationsSchema, метод getNotificationItemConfig().
На этом примере можно реализовать отображение необходимых данных как гиперссылок.

Я так и не понял, почему напоминания по активностям, которые создаются таким же образом отображаются корректно? Так же в предыдущих версиях bpm проблем с напоминаниями не было и не нужно было что-то реализовывать сверх добавления записи в Reminding и провайдера. И не понятно что и где нужно теперь реализовывать...

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

В 770 были изменены отображения уведомлений. Теперь на вкладке "Уведомления" можно делать ссылки только на счета и активности. Другие уведомления считаются системными (на самом деле зависит от значения в поле NotificationType).
Об этом Вы можете прочитать здесь.

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

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

Обойти возможно все) Формально, можно создать уведомление на активность, при открытии которой будет открываться счет. Для этого Вы можете воспользоваться функционалом бизнес процессов. В бизнес процессе есть элемент "Страница редактирования". Этот элемент создает активность, но при открытии активности, открывается страница другой сущности. В настройках элемента "Открыть страницу редактирования" в поле "Напомнить за" Вам необходимо указать значение, отличное от 0. В результате, уведомление будет сформировано.

Спасибо, будем пробовать!

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

Здравствуйте.
Был построен бизнес-процесс, где после завершённой задачи будет приходить электронное сообщение на конкретный адрес.
Цепочка была проверена работает. Однако, за 4 тестовых выполненных задачи пришло 130 писем.
Помогите разобраться с данным вопросом:
1. Как настроить уведомления, чтобы приходило 1 письмо, а не 130?
2. В теле письма нужно указать по какой именно выполненной задачи пришло данное сообщение.
Скриншоты БП прилагаются.
Буду очень признателен за помощь.

Нравится

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

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

"Демьяник Алексей Олегович" написал:

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

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


Отправил вам запрос на удалённое подключение

Показать все комментарии
Всем привет!Предлагаю информацию о новых уведомлениях выводить не только в коммуникационную панель справа, но и в саму вкладку сверху. Тогда пользователь будет оперативно получать уведомления не только когда он на странице системы, но и на любой странице браузера. Например это очень удобно сделано в Ya.Почте:
1 комментарий

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

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

Приятного дня!

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

Скажите пожалуйста, как посчитать к-во активностей типу звонок(за некоторыми критериями) и выводить на новую иконку в SideBarTopMenuModule. обновлять эту информацию каждую минути.

Нравится

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

Владимир, модуль называется LeftPanelTopMenuModule. Заместить его нельзя, можно только переопределить полностью, что очень очень плохо.
Здесь я описывал, как работают уведомления в 7.х. Можно сделать по аналогии.

Здравствуйте. Спасибо за ответ. Я не могу понять как в бизнес процесе GetRemindingCounters обновляет число активностей. Что делает PostMessage ? Куда дальше переходить процесс после channel.PostMessage(SimpleMessage); ?

"Maxim Gritsenko" написал:

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

Здесь я описывал, как работают уведомления в 7.х. Можно сделать по аналогии.

Здравствуйте. Спасибо за ответ. Я не могу понять как в бизнес процесе GetRemindingCounters обновляет число активностей. Что делает PostMessage ? Куда дальше переходить процесс после channel.PostMessage(SimpleMessage); ?

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

Спасибо. Сейчас разберусь)

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

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

Подскажите, как в БП сгенерировать полноценное уведомление. Я в элементе добавить данные указываю объект Уведомление, заполняю колонки Кому, Заголовок, Описание. Однако в результате уведомление не появляется.
Возможно нужно заполнить ещё какие-то колонки?

Заранее спасибо!

Нравится

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

Акмаль, проверьте, пожалуйста, добавляются ли данные непосредственно в таблицу БД.
При создании уведомления необходимо заполнять поля Время, Объект и Источник

Хочу уточнить, что при создании активности типа "E-mail" собственно электронное письмо не отправляется адресатам. Для отправки письма необходимо дополнительно настроить соотв. "Рассылку".

Наталия, а какими значениями можно заполнять указанные Вами поля?

Вы хотите сказать, что уведомление создаётся с помощью элемента E-mail?

Время - период, в который должно отобразиться уведомление.
Объект - идентификатор записи активности, по которой создается уведомление.
Источник - идентификатор источника уведомления (уведомление создается автору либо ответственному активности).
Источник, скорее всего, можно пропустить.

"Салихов А" написал:Вы хотите сказать, что уведомление создаётся с помощью элемента E-mail

Смотря какие уведомления. Email уведомления создаются с помощью элемента E-mail.

Наталия, а объектом может быть запись инцидента? Или только активность?

И ещё вопрос - как можно в поле Кому поставить руководителя команды, которая занималась инцидентом?

Наталия, в таблицу Reminding ничего не добавляется...

Судя по всему возникает проблема с полем Объект. Я в это поле заношу Id созданной ранее задачи. При открытии страницы уведомления в колонке Объект надпись "Нет доступа". При двойном клике на уведомлении переход на задачу не осуществляется - возникает ошибка.

Разобрался - в Объект нужно записывать схему объекта Активность.

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