Как лучше задать условие в фильтре НЕ РАВНО?
Сейчас ситуация такая: подскажите, как в фильтре задать условие не равно ПУСТО (IS NOT NULL)
По вводным: суть вопроса как это сделать через форму фильтра в админке, в массиве это примерно так "!PROPERTY_493"=>FALSE
По вводным: задаю условие в фильтре в админке
По вводным: на выходе получаю вот так
array(3) { [0]=> array(2) { ["?SECTION_ID"]=> int(112) ["INCLUDE_SUBSECTIONS"]=> string(1) "Y" } ["!PROPERTY_493"]=> string(5) "FALSE" ["LOGIC"]=> string(3) "AND" }
Сейчас ситуация такая: в фильтр попадает строка FALSE, он не понял, что это булево значение.
Может как-то по другому нужно?
Нужно понять: я могу конечно на выходе массив перебрать и правильно записать, но мб есть что-то проще?
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

В Битриксе условие “свойство не пустое” в массиве фильтра обычно задаётся через отрицание false:
'!PROPERTY_CODE' => falseили'!PROPERTY_493' => false. Но в админской форме фильтра это не всегда можно выразить напрямую, потому что UI фильтра поддерживает не все варианты сложных условий.В коде это выглядит так:
$filter = [ 'IBLOCK_ID' => 10, 'ACTIVE' => 'Y', '!PROPERTY_493' => false, ];
Для “равно пусто” обычно используют:
$filter = [ 'PROPERTY_493' => false, ];
Если речь именно про форму фильтра в админке, зависит от типа свойства и версии Битрикса. Иногда нужно выбрать оператор “не равно” и оставить значение пустым, но не все административные фильтры это корректно переводят в
!PROPERTY. Для списков элементов часто проще сохранить нужный фильтр в URL или сделать кастомную административную страницу/доработку.Проверьте ещё тип свойства:
Для множественных свойств “не пусто” может работать иначе, потому что значения лежат в отдельной таблице свойств. Если фильтр в админке не даёт нужного результата, проверьте тот же фильтр через CIBlockElement::GetList в тестовом скрипте. Если в коде работает, значит ограничение именно в UI админского фильтра.
Итог: в PHP используйте
'!PROPERTY_493' => false. Через стандартную форму админки это может быть недоступно или зависеть от конкретного фильтра, тогда нужен кастомный фильтр или сохранённый URL.