...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/activity/provider/call.php
- Класс: Bitrix\Crm\Activity\Provider\Call
- Вызов: Call::getUncompletedActivityIdList
static function getUncompletedActivityIdList(int $activityId, int $options = 0): array { $bindings = CCrmActivity::GetBindings($activityId); if (!is_array($bindings)) { return []; } if (empty($bindings)) { return []; } // fetch not completed CALL activities $dbResult = CCrmActivity::GetList( [], [ 'TYPE_ID' => CCrmActivityType::Call, 'PROVIDER_ID' => static::getId(), '=PROVIDER_TYPE_ID' => static::ACTIVITY_PROVIDER_TYPE_CALL, '=CHECK_PERMISSIONS' => 'N', '=COMPLETED' => 'N', 'BINDINGS' => $bindings, ], false, false, ['ID', 'SETTINGS'] ); $missedOnly = $options & self::UNCOMPLETED_ACTIVITY_MISSED; $incomingOnly = $options & self::UNCOMPLETED_ACTIVITY_INCOMING; $result = []; while ($arResult = $dbResult->Fetch()) { if ($missedOnly) { $isMissedCall = isset($arResult['SETTINGS']['MISSED_CALL']) && $arResult['SETTINGS']['MISSED_CALL']; if ($isMissedCall) { $result[] = (int)$arResult["ID"]; } } else { // all call activities excluding last created call activity if ($activityId !== (int)$arResult["ID"]) { $result[] = (int)$arResult["ID"]; } } if ($incomingOnly) { $result = array_filter( $result, fn($activityId): bool => IncomingChannel::getInstance()->isIncomingChannel($activityId) ); } } return array_values(array_unique($result)); }