- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integrity/duplicatemanager.php
- Класс: Bitrix\Crm\Integrity\DuplicateManager
- Вызов: DuplicateManager::prepareEntityListFilter
static function prepareEntityListFilter(array &$filter, array $comparisonData, $entityTypeID, $entityAlias = '') { if($entityAlias === '') { $entityAlias = 'L'; } $queries = array(); foreach($comparisonData as $data) { $type = $data['TYPE']; $matches = $data['MATCHES']; $item = self::createCriterion($type, $matches); $item->setStrictComparison(isset($data['ENABLE_STRICT_MODE']) && $data['ENABLE_STRICT_MODE'] == true); $query = $item->prepareSearchQuery($entityTypeID, array('ENTITY_ID'))->getQuery(); $queries[] = "({$query})"; } if(!isset($filter['__JOINS'])) { $filter['__JOINS'] = array(); } $filter['__JOINS'][] = array( 'TYPE' => 'INNER', 'SQL' => 'INNER JOIN('.implode("\nUNION\n", $queries).') DP ON DP.ENTITY_ID = '.$entityAlias.'.ID' ); }