• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/activity/provider/base.php
  • Класс: Bitrix\Crm\Activity\Provider\Base
  • Вызов: Base::createActivity
public function createActivity(string $typeId, array $fields, array $options = []): Main\Result
{
	$result = new Main\Result();
	if (!static::isTypeValid($typeId))
	{
		return $result->addError(new Main\Error('Invalid typeId: ' . $typeId));
	}

	$fields['TYPE_ID'] = \CCrmActivityType::Provider;
	$fields['PROVIDER_ID'] = static::getId();
	$fields['PROVIDER_TYPE_ID'] = $typeId;

	$options['REGISTER_SONET_EVENT'] = (bool) ($options['REGISTER_SONET_EVENT'] ?? true);

	$activityId = \CCrmActivity::Add(
		$fields,
		false,
		true,
		$options
	);
	if ($activityId > 0)
	{
		return $result->setData(['id' => $activityId]);
	}

	foreach (\CCrmActivity::GetErrorMessages() as $errorMessage)
	{
		$result->addError(new Error($errorMessage));
	}

	return $result;
}