...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/restservice.php
- Класс: \CCrmRequisiteRestProxy
- Вызов: CCrmRequisiteRestProxy::innerGetList
protected function innerGetList($order, $filter, $select, $navigation, &$errors) { $permissionOwner = false; if(!isset($filter['ENTITY_TYPE_ID'])) { if(EntityRequisite::checkReadPermissionOwnerEntity()) { $permissionOwner = true; //Required for prevent selection of the suspended entities (SuspendedContact, SuspendedCompany) $filter['@ENTITY_TYPE_ID'] = [CCrmOwnerType::Company, CCrmOwnerType::Contact]; } else { if(EntityRequisite::checkReadPermissionOwnerEntity(CCrmOwnerType::Company)) { $permissionOwner = true; $filter['ENTITY_TYPE_ID'] = CCrmOwnerType::Company; } elseif(EntityRequisite::checkReadPermissionOwnerEntity(CCrmOwnerType::Contact)) { $permissionOwner = true; $filter['ENTITY_TYPE_ID'] = CCrmOwnerType::Contact; } } } else { $permissionOwner = EntityRequisite::checkReadPermissionOwnerEntity($filter['ENTITY_TYPE_ID']); } if($permissionOwner == false) { $errors[] = 'Access denied.'; return false; } $entity = self::getEntity(); $page = isset($navigation['iNumPage']) ? (int)$navigation['iNumPage'] : 1; $limit = isset($navigation['nPageSize']) ? (int)$navigation['nPageSize'] : CCrmRestService::LIST_LIMIT; $offset = $limit * $page; if(!is_array($select)) $select = array(); if(empty($select)) $select = array_keys($this->getFieldsInfo()); $result = $entity->getList( array( 'order' => $order, 'filter' => $filter, 'select' => $select, 'offset' => $offset, 'count_total' => true ) ); $dbResult = new CDBResult($result); $dbResult->NavStart($limit, false, $page); return $dbResult; }