• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/deal.php
  • Класс: Bitrix\Crm\DealTable
  • Вызов: DealTable::onBeforeAdd
static function onBeforeAdd(Event $event): EventResult
{
	$result = new EventResult();

	/** @var EO_Deal $item */
	$item = $event->getParameter('object');
	$factory = static::getFactory();
	if ($factory && $item && empty($item->getStageId()))
	{
		$categoryId = $item->getCategoryId();
		if (!$factory->isCategoryExists($categoryId))
		{
			$categoryId = $factory->createDefaultCategoryIfNotExist()->getId();
		}

		$stage = $factory->getStages($categoryId)->getAll()[0];
		$result->modifyFields(array_merge($result->getModified(), [
			'STAGE_ID' => $stage->getStatusId(),
		]));
	}

	return $result;
}