• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/product/catalog.php
  • Класс: Bitrix\Crm\Product\Catalog
  • Вызов: Catalog::createType
static function createType(): Main\Result
	{
		$result = new Main\Result();
		$typeId = static::getTypeId();
		if (!static::isTypeExists())
		{
			$fields = [
				'ID' => $typeId,
				'SECTIONS' => 'Y',
				'IN_RSS' => 'N',
				'SORT' => 100,
			];
			$languages = static::getTypeMessages();
			$internalResult = Iblock\TypeTable::add($fields);
			if ($internalResult->isSuccess())
			{
				if (!empty($languages))
				{
					foreach ($languages as $messages)
					{
						$messages['IBLOCK_TYPE_ID'] = $typeId;
						$internalResult = Iblock\TypeLanguageTable::add($messages);
						if (!$internalResult->isSuccess())
						{
							$result->addErrors($internalResult->getErrors());
							break;
						}
					}
					unset($messages);
				}
			}
			else
			{
				$result->addErrors($internalResult->getErrors());
			}
			unset($internalResult);
			unset($languages, $fields);
		}
		if ($result->isSuccess())
		{
			$result->setData(['ID' => $typeId]);
		}
		unset($typeId);
		return $result;
	}