Для получения связанной задачи в коробочной версии Bitrix24 к сделке можно использовать следующий код:
// ID сделки, для которой нужно получить связанную задачу $dealId = 123; // Получаем объект класса CDeal $dealEntity = new CCrmDeal(false); $dealFields = $dealEntity->GetByID($dealId); // Получаем список связанных задач $taskList = CTaskItem::FetchList( [ 'ZOMBIE' => false, // исключаем удаленные задачи 'CHECK_PERMISSIONS' => 'N', // отключаем проверку прав доступа 'ORDER' => 'ID', // сортировка по ID задачи ], [ 'REAL_STATUS' => CTasks::STATE_PENDING, 'UF_CRM_TASK' => ['D_' . $dealId], // фильтр по связи сделки ] ); // Если найдены связанные задачи if ($taskList) { // Обрабатываем список задач while ($task = $taskList->Fetch()) { // Действия с задачей $taskId = $task['ID']; $taskTitle = $task['TITLE']; // ... } } else { // Связанные задачи не найдены echo "Связанные задачи отсутствуют."; }
В данном коде мы использовали вспомогательные классы CDeal
(для работы с сделками) и CTaskItem
(для работы с задачами), которые предоставляются в Bitrix24. Сначала мы получаем объект сделки по ее ID, затем выполняем поиск связанных задач с использованием метода FetchList()
класса CTaskItem
. Мы указываем необходимые фильтры для поиска задачи, в частности, фильтруем по полю UF_CRM_TASK
, чтобы найти связанную задачу с конкретной сделкой.
Если связанные задачи найдены, то можно выполнять необходимые действия с каждой задачей, например, получать ее ID или заголовок.
Если связанных задач не найдено, выводим соответствующее сообщение.
Обратите внимание, что указанный код работает с коробочной версией Bitrix24 и использует встроенные классы. В случае с веб-версией Bitrix24 API может отличаться, и необходимо использовать соответствующие методы для работы с сделками и задачами.