Чтобы выполнить фильтр с отрицанием по множественному свойству в 1C-Bitrix, вам потребуется использовать объект класса CIBlockElement и его метод GetList.
Для начала, необходимо определить параметры фильтрации. В вашем случае, вы хотите найти элементы, у которых множественное свойство не содержит определенное значение. Предположим, у вас есть инфоблок с кодом IBLOCK_CODE и множественное свойство PROPERTY_CODE.
Код, выполняющий поиск, будет выглядеть следующим образом:
$filter = array( 'IBLOCK_CODE' => 'IBLOCK_CODE', '!PROPERTY_PROPERTY_CODE_VALUE' => 'VALUE', ); $select = array( 'ID', 'NAME', 'PROPERTY_PROPERTY_CODE', ); $res = CIBlockElement::GetList(array(), $filter, false, false, $select); while ($ob = $res->GetNextElement()) { $arFields = $ob->GetFields(); // дальнейшая обработка найденных элементов }
В данном примере мы используем массив $filter для определения параметров фильтрации. В строке '!PROPERTY_PROPERTY_CODE_VALUE' указываем, что мы хотим найти элементы, у которых свойство PROPERTY_CODE не содержит значение VALUE.
Затем, в массиве $select указываем, какие поля элемента необходимо выбрать.
После этого, вызываем метод GetList класса CIBlockElement, передавая параметры фильтрации, а также массив $select для выбора полей элемента. Полученный объект результата $res перебираем с помощью цикла while, и для каждого найденного элемента получаем его поля при помощи метода GetFields.
Дальнейшую обработку найденных элементов вы можете выполнять по вашему усмотрению.
Вот и все, теперь вы знаете, как выполнить фильтр с отрицанием по множественному свойству в 1C-Bitrix при помощи объекта CIBlockElement и его метода GetList.