Привет. Возникла необходимость напоминать пользователям участвующим в согласовании документов о необходимости проголосовать в случае их неактивности.Этот вопрос решился, лучшим способом напоминания оказалось напоминание в живую ленту от админа. Остальные уведомления часто игнорируются.
Теперь через определенные промежутки времени, в зависимости от срочности, пользователям, которые не предпринимают действий по бизнес процессу приходят напоминания в живую ленту. Но лента начинает засоряться однотипными напоминаниями. Можно, конечно, чистить руками через b_sonet_log или авторизовавшись от админа, но хочется автоматизировать из бизнес процесса.
Проблема в том, что я не разработчик, php увидел, когда столкнулся с необходимостью делать БП в Битрикс. Как достать ID сообщения я уловил, параллельно публикации напоминания запускаю блок с PHP кодом:
Код |
---|
CModule::IncludeModule("blog");
CModule::IncludeModule("socialnetwork");
//определяем id блога
$arBlog = CBlog::GetByOwnerID(1);
$arSelectFields= array(
"ID",
"BLOG_ID"
);
$dbRecordsList = CBlogPost::GetList(
array("ID" => "DESC"),
array('BLOG_ID'=>$arBlog),
false,
false,
$arSelectFields
);
$arRecord = $dbRecordsList->getNext();
$rootActivity = $this->GetRootActivity();
$rootActivity->SetVariable("b_id",$arRecord['ID']);
|
В переменную "b_id" получаю корректный код поста. Но никак не могу составить код для его удаления, чтобы перед следующим напоминанием старое, с полученным ID автоматически удалялось.
Если у кого-нибудь есть идеи, буду благодарен.