Чтобы забрать выбранные данные с пользовательского поля типа "список" в 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
будут содержаться выбранные значения пользовательского поля "список" из объекта Бизнес-процесса. Вы можете применять эти значения в дальнейшей логике вашего БП.
Не забывайте делать проверки на существование объектов и корректность данных для обеспечения безопасности и стабильности работы вашего приложения.