Как сделать проверку по кастовому полю если такое значение?

В Битрикс24, для проверки значений кастомного поля можно использовать метод CUserFieldEnum::GetList().

Например, у нас есть кастомное поле "Тип товара" у элементов инфоблока, и мы хотим проверить, существует ли у нас значение "Электроника" в этом поле.

Для начала, необходимо получить список всех значений кастомного поля с помощью функции CUserFieldEnum::GetList(). Затем, мы можем пройти по каждому элементу полученного списка и проверить, совпадает ли он с нашим искомым значением.

Пример кода для проверки значения кастомного поля "Тип товара" на наличие значения "Электроника":

<?php
$fieldName = "UF_TYPE"; // Наименование кастомного поля
$enumValue = "Электроника"; // Значение, которое мы ищем

// Получаем ID инфоблока
$iblockId = CIBlockTools::GetIBlockId(
    "catalog", // Код типа инфоблока
    "products" // Код инфоблока
);

// Получаем список значений кастомного поля
$enumValues = CUserFieldEnum::GetList([], [
    "USER_FIELD_NAME" => $fieldName,
    "IBLOCK_ID" => $iblockId,
]);

// Проходим по каждому значению и проверяем совпадение
while ($enumValueItem = $enumValues->Fetch()) {
    if ($enumValueItem["VALUE"] === $enumValue) {
        // Значение найдено, выполняем необходимые действия
        // ...
        
        break;
    }
}
?>

В данном примере мы используем функцию CIBlockTools::GetIBlockId() для получения ID инфоблока по его коду. Затем, используя CUserFieldEnum::GetList(), мы получаем список значений кастомного поля с указанным именем и для указанного инфоблока.

Затем, мы проходим по каждому элементу полученного списка и сравниваем его значение ($enumValueItem["VALUE"]) с искомым значением ($enumValue). Если значение совпадает, выполняем необходимые действия.

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