...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/restservice.php
- Класс: \CCrmPersonTypeRestProxy
- Вызов: CCrmPersonTypeRestProxy::innerGetList
protected function innerGetList($order, $filter, $select, $navigation, &$errors) { global $USER; if (!is_array($filter)) { $filter = array(); } if (is_string($select)) { $select = [$select]; } $result = array(); $crmPerms = new CCrmPerms($USER->GetID()); if (!$crmPerms->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'READ')) { $errors[] = 'Access denied.'; return false; } if (!CModule::IncludeModule('sale')) { $errors[] = 'Sale module is not installed.'; return false; } if (!in_array('*', $select) && !in_array('CODE', $select) && in_array('NAME', $select) ) { $select[] = 'CODE'; } foreach ($filter as $field => $value) { if (mb_strpos($field, 'NAME') !== false) { $newFieldName = str_replace('NAME', 'CODE', $field); $filter[$newFieldName] = $value; unset($filter[$field]); } } $siteId = ''; $siteIterator = Bitrix\Main\SiteTable::getList(array( 'select' => array('LID', 'LANGUAGE_ID'), 'filter' => array('=DEF' => 'Y', '=ACTIVE' => 'Y') )); if ($defaultSite = $siteIterator->fetch()) { $siteId = $defaultSite['LID']; } unset($defaultSite, $siteIterator); $filter['=PERSON_TYPE_SITE.SITE_ID'] = $siteId; if (empty($select)) { $select = ['*']; } $dbRes = \Bitrix\Crm\Invoice\PersonType::getList([ 'select' => $select, 'filter' => $filter, 'order' => $order ]); while($personType = $dbRes->fetch()) { if ($personType['CODE'] === 'CRM_CONTACT' || $personType['CODE'] === 'CRM_COMPANY') { $personType['NAME'] = $personType['CODE']; unset($personType['CODE']); unset($personType['ENTITY_REGISTRY_TYPE']); $result[] = $personType; } } return $result; }