• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/persontype.php
  • Класс: BitrixSalePersonType
  • Вызов: PersonType::doCalculate
static function doCalculate(OrderBase $order)
{
	$result = new Result();

	if ($order->getPersonTypeId() !== null)
	{
		if (!($personTypeList = static::load($order->getSiteId(), $order->getPersonTypeId())))
		{
			$result->addError(new EntityEntityError(GetMessage('SKGP_PERSON_TYPE_NOT_FOUND'), 'PERSON_TYPE_ID'));
		}

		return $result;
	}

	if (($personTypeList = static::load($order->getSiteId())) && !empty($personTypeList) && is_array($personTypeList))
	{
		$firstPersonType = reset($personTypeList);
		$order->setPersonTypeId($firstPersonType["ID"]);
	}
	else
	{
		$result->addError(new EntityEntityError(GetMessage('SKGP_PERSON_TYPE_EMPTY'), 'PERSON_TYPE_ID'));
	}

	return $result;
}