...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/counter/activitycounter.php
- Класс: Bitrix\Crm\Counter\ActivityCounter
- Вызов: ActivityCounter::prepareEntityQuery
protected function prepareEntityQuery($entityTypeID) { $query = new Query(ActivityBindingTable::getEntity()); $query->setCustomBaseTableAlias('b'); $query->addSelect('ACTIVITY_ID', 'ACTIVITY_ID'); $join = $this->prepareActivityTableJoin((int)$entityTypeID); $query->registerRuntimeField( '', new ReferenceField('a', ActivityTable::getEntity(), $join, array('join_type' => 'INNER') ) ); if($entityTypeID === \CCrmOwnerType::Lead) { $query->registerRuntimeField( '', new ReferenceField('l', LeadTable::getEntity(), array( '=ref.ID' => 'this.OWNER_ID', '=ref.STATUS_SEMANTIC_ID' => new SqlExpression('?', PhaseSemantics::PROCESS), ), array('join_type' => 'INNER') ) ); } elseif($entityTypeID === \CCrmOwnerType::Deal) { $query->registerRuntimeField( '', new ReferenceField('d', DealTable::getEntity(), array( '=ref.ID' => 'this.OWNER_ID', '=ref.STAGE_SEMANTIC_ID' => new SqlExpression('?', PhaseSemantics::PROCESS), ), array('join_type' => 'INNER') ) ); } return $query; }