• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/agent/activity/synccountabledataagent.php
  • Класс: Bitrix\Crm\Agent\Activity\SyncCountableDataAgent
  • Вызов: SyncCountableDataAgent::execute
public function execute(array &$result)
{
	if (Option::get('crm', 'enable_entity_countable_act', 'Y') !== 'Y')
	{
		return self::CONTINUE_EXECUTION; // wait ProcessEntityCountableActivitiesAgent to finish
	}
	if (Option::get('crm', 'enable_any_incoming_act', 'Y') !== 'Y')
	{
		return self::CONTINUE_EXECUTION; // wait SynchronizeUncompletedActivityDataAgent to finish
	}
	if ($this->isEntityCountableDataAgentExists())
	{
		return self::CONTINUE_EXECUTION; // wait SynchronizeEntityCountableDataAgent to finish
	}

	$result['steps'] = (int)($result['steps'] ?? 0);

	if (!isset($result['currentStep']))
	{
		$result['currentStep'] = self::STEP_COUNTABLE_ACTIVITIES;
	}
	switch ($result['currentStep'])
	{
		case self::STEP_COUNTABLE_ACTIVITIES:
			$result = $this->processCountableActivities($result);
			return self::CONTINUE_EXECUTION;

		case self::STEP_COUNTABLE_ENTITIES:
			$result = $this->processCountableEntities($result);
			return self::CONTINUE_EXECUTION;

		case self::STEP_UNCOMPLETED_ACTIVITIES:
			$result = $this->processEntityUncompletedActivities($result);
			return self::CONTINUE_EXECUTION;
	}

	return self::FINISH_EXECUTION;
}