Битрикс, руководитель как наблюдатель во все задачи

Если ваш бизнес для ведения задач использует коробочную версию битрикс встает задача, чтобы руководитель или офис менеджер был наблюдателем всех задач в системе.
В облаке и в коробке можно использовать приложение Куратор. Однако в кураторе нельзя задать настройку сразу всем пользователям требуется подтверждение со стороны наблюдаемого и бывают задержки в добавлении. Можно сделать и свой модуль, однако я решил обойтись простым обработчиком события.

Приступим к реализации.
1) заходим в директорию bitrix/php_interface, тут создаем новый файл, допустим будет Custom.php, это будет наш кастомный класс куда будем допиливать свои обработчики.
2) в init.php подключим наш файл, но чтоб избежать проблем, сделаем это с проверкой на наличие файла, вот так:

if (file_exists($_SERVER["DOCUMENT_ROOT"]."/bitrix/php_interface/Custom.php"))
        require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/php_interface/Custom.php");

Теперь перейдем к содержимому самого кастомного класса:

<?
#подключаем на событие OnTaskAdd наш класс CustomClass и вызываем в нем функцию CustomAddAuditors
AddEventHandler("tasks", "OnTaskAdd",array("CustomClass","CustomAddAuditors"));

#ниже наш класс
class CustomClass {
#получаем нашу новую задачу и через метод AddAuditors добавляем в нее ID наблюдателей через массив, например 1 и 5 (директор и офис менеджер)

static function CustomAddAuditors($ID)  {
		if (CModule::IncludeModule("tasks"))
		{
			$arAuditors = array(1,5);		
			CTasks::AddAuditors($ID, $arAuditors);
		}
   }
}
?>

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

static function CustomAddAuditors($ID, $arFields) {
if (CModule::IncludeModule("tasks"))
{
if ($arFields[RESPONSIBLE_ID] == 578)
{
$arAuditors[] = 531;
}
CTasks::AddAuditors($ID, $arAuditors);
}
}

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

Оцените документ
Обновлено 03.02.2025

Один комментарий на ««Битрикс, руководитель как наблюдатель во все задачи»»

  1. Аватар пользователя Владимир

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *