• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/agent/activity/fixnulldeadlineagent.php
  • Класс: Bitrix\Crm\Agent\Activity\FixNullDeadlineAgent
  • Вызов: FixNullDeadlineAgent::processActivities
private function processActivities(array &$result): int
{
	$processedCount = 0;

	$connection = Application::getConnection();
	$iterator = ActivityTable::query()
		->setSelect(['ID'])
		->whereNull('DEADLINE')
		->setLimit($this->getLimit())
		->setOrder(['ID' => 'asc'])
		->exec()
	;

	$maxDate = \CCrmDateTimeHelper::GetMaxDatabaseDate();

	while ($item = $iterator->fetch())
	{
		$activityId = (int)$item['ID'];
		ActivityTable::update($activityId, ['DEADLINE' => \CCrmDateTimeHelper::getMaxDatabaseDateObject()]);
		$connection->query("UPDATE b_crm_act_counter_light SET LIGHT_COUNTER_AT=$maxDate WHERE ACTIVITY_ID=$activityId");
		\Bitrix\Crm\Activity\UncompletedActivity::synchronizeForActivity($activityId);

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

	return $processedCount;
}