• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/counter/counterquerybuilder/counterquerybuilderfactory.php
  • Класс: Bitrix\Crm\Counter\CounterQueryBuilder\CounterQueryBuilderFactory
  • Вызов: CounterQueryBuilderFactory::makeCurrent
private function makeCurrent(FactoryConfig $config): CounterQueryBuilder
{
	if (!$config->readyUncompleted())
	{
		return new DeadlineBased\Compatible(new CurrentCompatible());
	}

	if (!$config->readyCountable())
	{
		if ($config->mustUseUncompleted())
		{
			return new DeadlineBased\UncompletedBased(new CurrentUncompleted());
		}
		else
		{
			return new DeadlineBased\Compatible(new CurrentCompatible());
		}
	}

	if (!$config->readyActCounterLight())
	{
		if ($config->mustUseUncompleted())
		{
			return new DeadlineBased\UncompletedBased(new CurrentUncompleted());
		}
		else
		{
			return new DeadlineBased\CountableBased(new CurrentCountable());
		}
	}

	if ($config->mustUseUncompleted())
	{
		return new DeadlineBased\UncompletedBased(new CurrentLightTimeUncompleted());
	}
	else
	{
		return new DeadlineBased\CountableBased(new CurrentLightTimeCountable());
	}
}