Начнем с наиболее простого для использования класса. Это umiSelectionsParser. Этот объект имеет всего два статических метода: runSelection и runSelectionCounts; каждый из которых принимает единственный аргумент - объект класса umiSelection. Задача umiSelectionsParser - произвести выборку объектов или элементов иерархии в соответствии с критериями, хранимыми в объекте umiSelection. Метод runSelection возвращает массив (возможно, пустой), состоящий из идентификаторов (id) объектов (umiObject) или элементов иерархии (umiHierarchyElement). Метод runSelectionCounts возвращает общее количество подходящих под данные критерии объектов или элементов, игнорируя ограничения по размеру выборки.

Приведем пример использования umiSelectionsParser:

$oSelectionCriteria = new umiSelection();
// Заполняем критерии. Смысл и правила использования будут объяснены ниже
...
$aObjectIDs   = umiSelectionsParser::runSelection($oSelecitonCriteria); // выберем id объектов
$iObjectCount = umiSelectionsParser::runSelectionCounts($oSelecitonCriteria); // посчитаем общее количество объектов

for($i = 0; $i < $iObjectCount; $i++) {
   process($aObjecyIDs[$i]); // производим обработку
}