Как забрать выбранные данные с пользовательского поля (список) БП?

Чтобы забрать выбранные данные с пользовательского поля типа "список" в 1С-Битриксе, необходимо использовать соответствующие методы работы с Бизнес-процессами (БП). В данном случае предполагается, что у вас уже есть созданное пользовательское поле типа "список" и вы хотите получить выбранные значения этого поля из экземпляра конкретного БП.

Первым шагом необходимо получить объект БП с помощью метода CBPDocument::GetByID, передав в качестве аргумента идентификатор экземпляра БП, либо какой-то другой способ получения нужного объекта БП в соответствии с вашей логикой выполнения.

Далее, для того чтобы получить данные из пользовательского поля "список", вы можете использовать метод CBPFieldsReference::GetFieldOptions. Этот метод позволяет получить все доступные варианты значений поля "список". Пример использования этого метода:

$documentId = $documentObject->GetDocumentId();
$fieldId = 'UF_YOUR_FIELD_CODE'; // код вашего пользовательского поля "список"
$fieldOptions = CBPFieldsReference::GetFieldOptions($documentId, $fieldId);

Теперь переменная $fieldOptions содержит массив доступных значений вашего пользовательского поля "список". Вы можете использовать этот массив для дальнейших операций, например, чтобы получить выбранные пользователем значения, необходимо обратиться к свойству Selected каждого элемента массива:

$selectedValues = [];
foreach ($fieldOptions as $option) {
    if ($option['Selected'] === 'Y') {
        $selectedValues[] = $option['Value'];
    }
}

Теперь в переменной $selectedValues будут содержаться выбранные значения пользовательского поля "список" из объекта Бизнес-процесса. Вы можете применять эти значения в дальнейшей логике вашего БП.

Не забывайте делать проверки на существование объектов и корректность данных для обеспечения безопасности и стабильности работы вашего приложения.