• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/controller/item.php
  • Класс: Bitrix\Crm\Controller\Item
  • Вызов: Item::batchImportAction
public function batchImportAction(int $entityTypeId, array $data): ?array
{
	$factory = $this->getFactory($entityTypeId);
	if (!$factory)
	{
		return null;
	}

	if (count($data) > self::MAX_IMPORT_BATCH_SIZE)
	{
		$this->addError(new Error(
			'You can only import ' . self::MAX_IMPORT_BATCH_SIZE . ' items at a time',
			'MAX_IMPORT_BATCH_SIZE_EXCEEDED'
		));

		return null;
	}

	$executionResult = [];

	foreach ($data as $itemKey => $itemData)
	{
		$itemData = is_array($itemData) ? $itemData : [];
		$itemResult = $this->importAction($entityTypeId, $itemData);

		$error = $this->getErrors()[0] ?? null;

		$executionResult[$itemKey] = $error
			? [
				'error' => $error->getCode(),
				'error_description' => $error->getMessage(),
			]
			: $itemResult
		;
		$this->errorCollection->clear();
	}

	return [
		'items' => $executionResult,
	];
}