Как отфильтровать элементы по значению свойства?

Для фильтрации элементов по значению свойства в 1C-Bitrix можно воспользоваться функцией CIBlockElement::GetList(). Эта функция позволяет получить список элементов инфоблока с заданными условиями поиска.

Прежде всего, необходимо определить параметры фильтрации. В данном случае нам понадобится фильтровать элементы по значению свойства. Для этого мы будем использовать ключ "PROPERTY_VALUE" фильтрации. Значением этого ключа будет массив, содержащий ID свойства, тип свойства и значение, по которому нужно выполнить фильтрацию.

Пример кода для фильтрации элементов по значению свойства:

// Загружаем модуль инфоблока
if (!CModule::IncludeModule('iblock')) {
    die('Модуль инфоблоков не установлен');
}

// Определяем параметры фильтрации
$filter = [
    'IBLOCK_ID' => <ID инфоблока>,
    'ACTIVE' => 'Y',
    'PROPERTY_VALUE' => [
        'ID' => <ID свойства>,
        'TYPE' => <Тип свойства>,
        'VALUE' => <Значение свойства>,
    ],
];

// Получаем список элементов, удовлетворяющих условиям фильтрации
$res = CIBlockElement::GetList([], $filter, false, false, ['ID', 'NAME']);

// Выводим результаты
while ($ob = $res->GetNextElement()) {
    $arFields = $ob->GetFields();
    echo 'ID: ' . $arFields['ID'] . '<br>';
    echo 'NAME: ' . $arFields['NAME'] . '<br><br>';
}

В данном примере мы указываем ID инфоблока, в котором находятся элементы, которые нам нужно отфильтровать. В ключе PROPERTY_VALUE мы предоставляем ID свойства, его тип и значение, по которому нам нужно выполнить фильтрацию. В данном примере мы выводим на экран только ID и название элементов, но вы можете определить другие поля для вывода.

Не забудьте заменить <ID инфоблока>, <ID свойства>, <Тип свойства> и <Значение свойства> на соответствующие значения в вашей системе.

Учитывайте, что при работе с большим количеством элементов может потребоваться установить лимит и сортировку для более эффективной работы.