...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integrity/duplicatebankdetailcriterion.php
- Класс: Bitrix\Crm\Integrity\DuplicateBankDetailCriterion
- Вызов: DuplicateBankDetailCriterion::find
public function find($entityTypeID = \CCrmOwnerType::Undefined, $limit = 50) { if($this->fieldName === '') { //Invalid Operation? return null; } if($this->value === '') { //Invalid Operation? return null; } if(!is_int($entityTypeID)) { throw new Main\ArgumentTypeException('entityTypeID', 'integer'); } if(!is_int($limit)) { throw new Main\ArgumentTypeException('limit', 'integer'); } if($limit <= 0) { $limit = 50; } $filter = array(); if ($this->countryId > 0) $filter['=BD_COUNTRY_ID'] = $this->countryId; $filter['=BD_FIELD_NAME'] = $this->fieldName; $filter['=VALUE'] = self::prepareCode($this->countryId, $this->fieldName, $this->value); if(\CCrmOwnerType::IsDefined($entityTypeID)) { $filter['ENTITY_TYPE_ID'] = $entityTypeID; } $listParams = $this->applyEntityCategoryFilter($entityTypeID, [ 'select' => ['ENTITY_TYPE_ID', 'ENTITY_ID'], 'order' => [ 'ENTITY_TYPE_ID' => $this->sortDescendingByEntityTypeId ? 'DESC' : 'ASC', 'ENTITY_ID' => 'ASC' ], 'filter' => $filter, 'limit' => $limit, ]); $dbResult = DuplicateBankDetailMatchCodeTable::getList($listParams); $entities = array(); while($fields = $dbResult->fetch()) { $entityTypeID = isset($fields['ENTITY_TYPE_ID']) ? intval($fields['ENTITY_TYPE_ID']) : 0; $entityID = isset($fields['ENTITY_ID']) ? intval($fields['ENTITY_ID']) : 0; if(\CCrmOwnerType::IsDefined($entityTypeID) && $entityID > 0) { $entities[] = new DuplicateEntity($entityTypeID, $entityID); } } return !empty($entities) ? new Duplicate($this, $entities) : null; }