/** * Применение кастомной логики к объекту umiSelection * * @param umiSelection $selection Объект umiSelection */ public function applyCustomCountFilters(&$selection) { $arCustomFilters = $this->customLogic->filters(); $oType = umiObjectTypesCollection::getInstance()->getType($this->objectsTypeId); if (!$oType) { return; } foreach ($arCustomFilters as $arCustomFilter) { $iFieldId = $oType->getFieldId($arCustomFilter[0]); $sOperator = $arCustomFilter[1]; $value = $arCustomFilter[2]; switch ($sOperator) { case "eq": $selection->addPropertyFilterEqual($iFieldId, $value); break; case "noteq": $selection->addPropertyFilterNotEqual($iFieldId, $value); break; case "null": $selection->addPropertyFilterIsNull($iFieldId); break; case "notnull": $selection->addPropertyFilterIsNotNull($iFieldId); break; case "gt": $selection->addPropertyFilterMore($iFieldId, $value); break; case "lt": $selection->addPropertyFilterLess($iFieldId, $value); break; case "like": $selection->addPropertyFilterLike($iFieldId, $value); break; } } }