• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/bizproc/document/item.php
  • Класс: Bitrix\Crm\Integration\BizProc\Document\Item
  • Вызов: Item::CreateDocument
static function CreateDocument($parentDocumentId, $fields)
{
	$entityTypeId = static::GetDocumentInfo($parentDocumentId)['TYPE_ID'];

	$factory = Container::getInstance()->getFactory($entityTypeId);
	$newItem = $factory->createItem([]);

	$fieldsCaster = new Crm\Automation\Fields\ItemFieldsCaster($newItem, static::getEntityFields($entityTypeId));
	$compatibleFields = $fieldsCaster->externalize($fields);

	$userId = $compatibleFields[Crm\Item::FIELD_NAME_CREATED_BY] ?? 0;
	$newItem->setFromCompatibleData($compatibleFields);
	$addOperation = $factory->getAddOperation($newItem, static::getContext($userId));

	$result = static::launchOperation($addOperation);
	$errorMessages = $result->getErrorMessages();

	return $result->isSuccess() ? $result->getId() : end($errorMessages);
}