• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/Factory.php
  • Класс: Bitrix\Crm\Service\Factory
  • Вызов: Factory::createItem
public function createItem(array $data = []): Item
{
	$this->addParentFieldsReferences();

	/** @var EntityObject $object */
	$object = $this->getDataClass()::createObject();
	$item = $this->getItemByEntityObject($object);
	foreach ($this->getFieldsCollection() as $field)
	{
		if (isset($data[$field->getName()]))
		{
			$item->set($field->getName(), $data[$field->getName()]);
		}
		elseif ($field->isUserField())
		{
			$ufHandlerClass = $field->getUserField()['USER_TYPE']['CLASS_NAME'];

			if (is_subclass_of($ufHandlerClass, UserField\Types\BaseType::class))
			{
				$defaultValue = $ufHandlerClass::getDefaultValue($field->getUserField());
				if (!empty($defaultValue))
				{
					$item->set($field->getName(), $defaultValue);
				}
			}
		}
	}

	return $item;
}