UncompletedBased::joinUncompletedTableWithConditions

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. UncompletedBased
  4. joinUncompletedTableWithConditions
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/counter/counterquerybuilder/deadlinebased/uncompletedbased.php
  • Класс: Bitrix\Crm\Counter\CounterQueryBuilder\DeadlineBased\UncompletedBased
  • Вызов: UncompletedBased::joinUncompletedTableWithConditions
private function joinUncompletedTableWithConditions(QueryParams $params, Query $query): void
{
	$referenceFilter = (new ConditionTree())
		->whereColumn('ref.ENTITY_ID', 'this.ID')
		->where('ref.ENTITY_TYPE_ID', new SqlExpression($params->entityTypeId()));


	if ($params->useActivityResponsible())
	{
		$this->filterResponsibleByActivityWay($referenceFilter, $params, $query);
	}
	else
	{
		$referenceFilter->where('ref.RESPONSIBLE_ID', new SqlExpression('?i', 0));
	}

	if (is_null($params->hasAnyIncomingChannel()))
	{
		$referenceFilter->whereIn('ref.HAS_ANY_INCOMING_CHANEL', ['N', 'Y']);
	}
	else
	{
		$referenceFilter
			->where('ref.HAS_ANY_INCOMING_CHANEL',
				new SqlExpression('?', $params->hasAnyIncomingChannel() ? 'Y' : 'N'));
	}

	$this->applyDeadlineReferenceFilter($referenceFilter, $params);

	$query->registerRuntimeField(
		'',
		new ReferenceField('B',
			EntityUncompletedActivityTable::getEntity(),
			$referenceFilter,
			['join_type' => Join::TYPE_INNER]
		)
	);
}

Добавить комментарий