Этот пример вам не подойдет. В нем иллюстрируется добавление пункта меню в сделки. <br/> Файл init.php создается вручную в папке `/local/php_interface/`. Но прежде чем делать это, почитайте про него в <a href="https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2916&LESSON_PATH=3913.4776.2916" rel="nofollow">курсе</a> <br/> Бездумное использование этого файла может приводить к падению сайта в любом месте. <br/> В вашем случае алгоритм действий такой: <br/> 1. Создать init.php <br/> 2. Чтобы его не засорять, в нем подключить файл, обрабатывающий <a href="https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&CHAPTER_ID=03493&LESSON_PATH=3913.3516.3493" rel="nofollow">события</a> . <br/> 3. Вам нужны <a href="https://dev.1c-bitrix.ru/api_help/tasks/events/index.php" rel="nofollow">события задач</a> <br/> Пример подключения обработчика события(это не готовый пример для вас, его нужно изменить под себя): <br/> <pre><code class="php">\Bitrix\Main\EventManager::getInstance()->RegisterEventHandler(
'tasks',
'OnBeforeTaskUpdate',
$this->MODULE_ID,
'\MyCompany\Handlers\CTask',
'OnBeforeTaskUpdate',
"1"
);</code></pre> <br/> Подробнее про 'RegisterEventHandler' <a href="https://dev.1c-bitrix.ru/api_d7/bitrix/main/EventManager/index.php" rel="nofollow">тут</a> <br/> 4. В этом обработчике вам нужно определять, является ли задача родительской. Если да, то запрашивать ее дочерние задачи и смотреть, если ли среди них открытые. Если да, то отменять событие закрытия задачи. <br/> Список задач можно получить <a href="https://dev.1c-bitrix.ru/api_help/tasks/classes/ctasks/getlist.php" rel="nofollow">так</a>