...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/tracking/ad/reportbuilder.php
- Класс: Bitrix\Crm\Tracking\Ad\ReportBuilder
- Вызов: ReportBuilder::getTraces
private function getTraces(ORM\Query\Query $query, $entityTypeId, $level, $parentId = null) { $query ->addSelect('CNT') ->addSelect('INCOME') ->registerRuntimeField(new Orm\Fields\Relations\Reference( 'TRACE_ENTITY', Tracking\Internals\TraceEntityTable::class, [ '=ref.ENTITY_TYPE_ID' => new Main\DB\SqlExpression('?', $entityTypeId), '=this.ID' => 'ref.ENTITY_ID' ] )) ->registerRuntimeField(new Orm\Fields\ExpressionField( 'CNT', 'COUNT(*)' )) ->registerRuntimeField(new Orm\Fields\ExpressionField( 'INCOME', 'SUM(%s)', 'OPPORTUNITY_ACCOUNT' )) ->where('DATE_CREATE', '>=', $this->dateFrom) ->where('DATE_CREATE', '<', (clone $this->dateTo)->add('1 day')) ->where('TRACE_ENTITY.TRACE.SOURCE_ID', $this->sourceId) ->where('TRACE_ENTITY.TRACE.TRACE_SOURCE.LEVEL', $level) ; $query->addSelect('TRACE_ENTITY.TRACE.TRACE_SOURCE.SOURCE_CHILD_ID','CHILD_ID'); $query->addSelect('TRACE_ENTITY.TRACE.TRACE_SOURCE.LEVEL','LEVEL'); $query->addSelect('TRACE_ENTITY.TRACE.TRACE_SOURCE.SOURCE_CHILD.CODE','CHILD_CODE'); $query->addSelect('TRACE_ENTITY.TRACE.TRACE_SOURCE.SOURCE_CHILD.TITLE','CHILD_TITLE'); if ($parentId) { $query->where('TRACE_ENTITY.TRACE.TRACE_SOURCE.SOURCE_CHILD.PARENT_ID', $parentId); } return $query->exec(); }