Этот пример вам не подойдет. В нем иллюстрируется добавление пункта меню в сделки.
Файл init.php создается вручную в папке `/local/php_interface/`. Но прежде чем делать это, почитайте про него в
курсе
Бездумное использование этого файла может приводить к падению сайта в любом месте.
Но в вашем случае, можно обойтись без него.
В вашем случае алгоритм действий такой:
1. Почитать про
события.
2. Вам нужны
события задач
Пример подключения обработчика события(это не готовый пример для вас, его нужно изменить под себя):
\Bitrix\Main\EventManager::getInstance()->RegisterEventHandler(
'tasks',
'OnBeforeTaskUpdate',
$this->MODULE_ID,
'\MyCompany\Handlers\CTask',
'OnBeforeTaskUpdate',
"1"
);
Подробнее про 'RegisterEventHandler'
тут
Этот код можно выполнить в консоли, в админке. Но имейте ввиду, что удалять его нужно тоже выполнением кода или вручную в БД.
3. В этом обработчике вам нужно определять, является ли задача родительской. Если да, то запрашивать ее дочерние задачи и смотреть, если ли среди них открытые. Если да, то отменять событие закрытия задачи.
Список задач можно получить
так