• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/controller/action/entity/saveorderaction.php
  • Класс: BitrixSaleControllerActionEntitySaveOrderAction
  • Вызов: SaveOrderAction::setProfile
private function setProfile(SaleOrder $order, array $profileFields = null): SaleResult
{
	$result = new SaleResult();

	$profileId = $profileFields['ID'] ?? 0;
	$profileName = $profileFields['NAME'] ?? '';

	$properties = [];
	/** @var SalePropertyValue $property */
	foreach ($order->getPropertyCollection() as $property)
	{
		$properties[$property->getPropertyId()] = $property->getValue();
	}

	$errors = [];
	CSaleOrderUserProps::DoSaveUserProfile(
		$order->getUserId(),
		$profileId,
		$profileName,
		$order->getPersonTypeId(),
		$properties,
		$errors
	);

	foreach ($errors as $error)
	{
		$result->addError(new MainError($error['TEXT']));
	}

	return $result;
}