BaseFieldAgent::execute

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. BaseFieldAgent
  4. execute
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/agent/movedbyfield/basefieldagent.php
  • Класс: Bitrix\Crm\Agent\MovedByField\BaseFieldAgent
  • Вызов: BaseFieldAgent::execute
public function execute(array &$result)
{
	$result['steps'] = (int)($result['steps'] ?? 0);

	$limit = $this->getLimit();
	$lastId = ($result['lastId'] ?? 0);
	$processedCount = 0;

	$items = $this->getList($lastId, $limit);

	foreach ($items as $item)
	{
		$lastId = (int)$item['ID'];
		$fieldsToUpdate = $this->getMovedData($item);

		if (!empty($fieldsToUpdate))
		{
			$this->update($lastId, $fieldsToUpdate);
		}

		$result['steps']++;
		$processedCount++;
	}

	$result['lastId'] = $lastId;

	if ($processedCount < $limit)
	{
		$this->onStepperComplete();

		return self::FINISH_EXECUTION;
	}
	else
	{
		return self::CONTINUE_EXECUTION;
	}
}

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