В Битрикс24 есть возможность выполнить поиск по элементам смарт-процесса из объекта "Контакт". Для этого необходимо использовать метод "SearchComponentWorkflowStatus" класса "Bitrix24CRMWrapper".
Прежде всего, следует убедиться, что у вас есть доступ к объекту "Контакт" и его атрибутам. После этого вы можете использовать следующий код для выполнения поиска по элементам смарт-процесса:
$contactId = 123; // ID контакта, для которого выполнить поиск $workflowStatus = 'Completed'; // Статус смарт-процесса, который нужно найти $searchQuery = 'some search query'; // Поисковый запрос // Определяем объект контакта $contact = new CCrmContact(false); $contactData = $contact->GetByID($contactId); // Если контакт найден, выполняем поиск по смарт-процессу if($contactData) { $workflow = new CBPWorkflow(false); // Входные параметры для поиска $arWorkflowParameters = array( 'CONTACT_ID' => $contactId, 'WORKFLOW_STATUS' => $workflowStatus, 'SEARCH_QUERY' => $searchQuery, ); // Ищем элементы смарт-процесса $arSearchResults = $workflow->SearchComponentWorkflowStatus($arWorkflowParameters); // Обработка результатов поиска if(is_array($arSearchResults) && count($arSearchResults) > 0) { foreach($arSearchResults as $arResult) { // Вывод информации о найденных элементах смарт-процесса echo 'Найден элемент смарт-процесса: ' . $arResult['ID'] . '<br>'; echo 'Статус смарт-процесса: ' . $arResult['STATUS'] . '<br>'; // Дополнительные параметры элемента смарт-процесса... } } else { echo 'Ничего не найдено'; } } else { echo 'Контакт не найден'; }
Вышеуказанный код демонстрирует пример использования метода "SearchComponentWorkflowStatus" для поиска элементов смарт-процесса, связанных с определенным контактом. Вы можете адаптировать его под свои потребности, добавив или удалив дополнительные параметры поиска.
Если вы работаете с Битрикс24 через REST API, то можете использовать метод CRM.App.Workflow.Status.list для выполнения аналогичной операции поиска элементов смарт-процесса из объекта "Контакт".