• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/Factory.php
  • Класс: Bitrix\Crm\Service\Factory
  • Вызов: Factory::createDefaultCategoryIfNotExist
public function createDefaultCategoryIfNotExist(): Category
{
	$currentDefaultCategory = $this->getDefaultCategory();
	if(!$currentDefaultCategory)
	{
		// if there some categories - make the first default
		$categories = $this->getCategories();
		if(!empty($categories))
		{
			$category = $categories[0];
			$category->setIsDefault(true);
			$category->save();

			return $category;
		}
		// no categories - create new and make it default
		$category = $this->createCategory();
		$category->setEntityTypeId($this->getEntityTypeId());
		$category->setIsDefault(true);
		$result = $category->save();
		if(!$result->isSuccess())
		{
			throw new InvalidOperationException('Error trying create default category for entity ' . $this->getEntityTypeId());
		}

		$this->categories[] = $category;

		return $category;
	}

	return $currentDefaultCategory;
}