PROPERTY_HIT - свойство типа список, содержит Новинка, Акция, Хит и т.д.
фильтрую элементы по значению "Новинка", что бы этих элементов не было в выборке
$arFilter = Array(
"IBLOCK_ID"=>$IBLOCK_ID,
"ACTIVE"=>"Y",
">=DATE_CREATE"=>date($DB->DateFormatToPHP(CLang::GetDateFormat("SHORT")), mktime(0,0,0,$date)),
"!PROPERTY_HIT_VALUE"=>array("Новинка"),
);
$productQuery = CIBlockElement::GetList(Array(), $arFilter,false,false, Array("ID","IBLOCK_ID","DATE_CREATE","NAME","PROPERTY_HIT"));
получаю всё равно этот элемент, т.к. у него ещё и "Акция" в свойстве.
array(14) {
["ID"]=>
string(5) "34255"
["~ID"]=>
string(5) "34255"
["IBLOCK_ID"]=>
string(2) "53"
["~IBLOCK_ID"]=>
string(2) "53"
["DATE_CREATE"]=>
string(19) "14.08.2018 14:45:58"
["~DATE_CREATE"]=>
string(19) "14.08.2018 14:45:58"
["NAME"]=>
string(4) "test"
["~NAME"]=>
string(4) "test"
["PROPERTY_HIT_VALUE"]=>
string(10) "Акция"
["~PROPERTY_HIT_VALUE"]=>
string(10) "Акция"
["PROPERTY_HIT_ENUM_ID"]=>
string(2) "91"
["~PROPERTY_HIT_ENUM_ID"]=>
string(2) "91"
["PROPERTY_HIT_VALUE_ID"]=>
string(6) "224294"
["~PROPERTY_HIT_VALUE_ID"]=>
string(6) "224294"
}
если убрать из фильтра PROPERTY_HIT_VALUE вообще, то на выходе будет 2 одинаковых элемента разница будет только в PROPERTY_HIT_VALUE.
как отфильтровать элементы что бы они не попадали под выборку !PROPERTY_HIT_VALUE = Новинка