• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/Factory.php
  • Класс: Bitrix\Crm\Service\Factory
  • Вызов: Factory::setStartStageIdPermittedForUser
public function setStartStageIdPermittedForUser(Item $item, ?int $userId = null): ?string
{
	$userPermissions = Container::getInstance()->getUserPermissions($userId);
	if ($userPermissions->getUserId() === 0)
	{
		// no available stages for not authorized user
		return null;
	}
	if (
		!$this->isStagesSupported()
		|| !$item->isStagesEnabled()
	)
	{
		return null;
	}
	$categoryId = $this->isCategoriesSupported() ? $item->getCategoryId() : 0;
	$stages = $this->getStages($categoryId);
	$startStageId = $userPermissions->getStartStageId(
		$this->getEntityTypeId(),
		$stages,
		$categoryId,
		$item->isNew() ? $userPermissions::OPERATION_ADD : $userPermissions::OPERATION_UPDATE
	);

	if ($startStageId)
	{
		$item->setStageId($startStageId);
		return $startStageId;
	}

	return null;
}