Ответы пользователя по тегу 1С-Битрикс
  • Почему не приходят уведомления пользователям при делегировании задания бизнес-процесса в 1с-Битрикс Корпоративный портал?

    mknk
    @mknk Автор вопроса
    Разработчик 1С-Битрикс
    В итоге реализовал через события бизнес-процессов.
    Если кому надо, то код ниже рабочий.

    <?php
    
    use Bitrix\Main\Loader;
    
    class BizprocEvents
    {
        public static function OnTaskDelegate($taskId, $fromUserId, $toUserId)
        {
            $arTask = self::getTask($taskId);
            self::addNotify($toUserId, $arTask["NAME"], $arTask["DESCRIPTION"]);
            return true;
        }
    
        private static function getTask($taskId)
        {
            global $DB;
            $taskId = intval($taskId);
            $strSql = "SELECT DESCRIPTION, NAME, DOCUMENT_NAME FROM b_bp_task WHERE ID = '" . $taskId . "'";
            $result = $DB->Query($strSql);
            return $result->Fetch();
        }
    
        private static function addNotify($toUserId, $name, $text)
        {
            Loader::includeModule("im");
    
            $arMessageFields = array(
                "TO_USER_ID" => $toUserId,
                "FROM_USER_ID" => 0,
                "NOTIFY_TYPE" => IM_NOTIFY_SYSTEM,
                "NOTIFY_MODULE" => "bizproc",
                "NOTIFY_MESSAGE" => $name . "[BR]" . $text . "[BR][url=тут урл]Перейти к бизнес-процессам[/url]",
                "NOTIFY_MESSAGE_OUT" => $name . "[BR]" . $text . "[BR][url=тут урл]Перейти к бизнес-процессам[/url]"
            );
            CIMNotify::Add($arMessageFields);
        }
    }
    Ответ написан
    Комментировать