Создания уведомлений

Добрый вечер!
Подскажите как создать уведомление, если можно ещё добавить ссылку в уведомление на созданного Лида.

var insert = new Insert(UserConnection).Into("Reminding")
        .Set("ContactId", Column.Parameter(Entity.GetTypedColumnValueGuid>("SalesOwnerId")))
        .Set("SubjectCaption", Column.Parameter("Добавлен новый лид"))
        .Set("RemindTime", Column.Parameter(DateTime.Now))
        .Set("SourceId", Column.Parameter(new Guid("a66d08e1-2e2d-e011-ac0a-00155d043205")));
        insert.Execute();

Я так понимаю ещё нужно что-то вставить в колонку SysEntitySchema
Вот что не знаю.

Нравится

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

ИД объекта раздела, на который вешаются напоминалки
получить можно так:

select Id from SysSchema where UId = 
(select SysEntitySchemaUId from SysModuleEntity where ID = 
(select SysModuleEntityId from SysModule where Caption = 'Активности'))

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

С уважением,
Группа компаний Terrasoft

"Андросов Дмитрий" написал:

ИД объекта раздела, на который вешаются напоминалки

получить можно так:

SELECT Id FROM SysSchema WHERE UId =

(SELECT SysEntitySchemaUId FROM SysModuleEntity WHERE ID =

(SELECT SysModuleEntityId FROM SysModule WHERE Caption = 'Активности'))

Не приходит никакое уведомление, единственное что SELECT UId FROM SysSchema, а не SELECT Id FROM SysSchema, так как там 5 записей и UId у них одинаковый, а Id разные и WHERE Caption = 'Лиды')

Разобрался, создается, только на уведомлении количество не появляется и если от текущей даты отнимать почему-то 3 часа, в базу пишется реальное время -3 часа и тогда появлятся, но красная циферка(количество уведомлений не появляется).

"Сергей Консимпл" написал:

... и если от текущей даты отнимать почему-то 3 часа, в базу пишется реальное время -3 часа ...

В базе время хранится в формате UTC для корректного отображения в разных часовых поясах.
А Insert заносит значение "так как есть".
Поэтому для корректного использования времени необходимо при использовании класса Insert использовать UtcNow:

        .Set("RemindTime", Column.Parameter(DateTime.UtcNow))

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

var insert = new Insert(UserConnection).Into("Reminding")
        .Set("ContactId", Column.Parameter(Entity.GetTypedColumnValue<Guid>("OwnerId")))
        .Set("SubjectCaption", Column.Parameter("Добавлен новый лид"))
		.Set("SubjectId", Column.Parameter(Entity.GetTypedColumnValue<Guid>("Id")))
        .Set("RemindTime", Column.Parameter(DateTime.UtcNow))
        .Set("TypeCaption", Column.Parameter("Задача"))
	.Set("AuthorId", Column.Parameter(new Guid("410006E1-CA4E-4502-A9EC-E54D922D2C00")))
		.Set("SysEntitySchemaId", Column.Parameter(new Guid("25D7C1AB-1DE0-4501-B402-02E0E5A72D6E")));
        insert.Execute();

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

Спасибо, разобрался, нужно ещё послать сообщение.

"Сергей Консимпл" написал:нужно ещё послать сообщение

какое сообщение?)

"Андросов Дмитрий" написал:
Сергей Консимпл пишет:

нужно ещё послать сообщение

какое сообщение?)


SynchronizeRemindings. Решил посмотреть как это сделано на объекте Активности и там нашел вот это и заработало теперь появляется циферка с количеством.

"Сергей Консимпл" написал:
Андросов Дмитрий пишет:

Сергей Консимпл пишет:

нужно ещё послать сообщение

какое сообщение?)

SynchronizeRemindings. Решил посмотреть как это сделано на объекте Активности и там нашел вот это и заработало теперь появляется циферка с количеством.

Сергей, а можно подробнее - как послать это сообщение?

Вам необходимо запустить процесс "Получить количество уведомлений". Для этого Вам необходимо сгенерировать сигнал SynchronizeRemindings. Используйте для этого промежуточный генерирующий сигнал.
Посмотрите реализацию процесса в объекте Активности пакета Base.

Демьяник Алексей,

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

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