• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/order/matcher/fieldsynchronizer.php
  • Класс: Bitrix\Crm\Order\Matcher\FieldSynchronizer
  • Вызов: FieldSynchronizer::getFieldsInternal
static function getFieldsInternal($entityName, $entity)
{
	$className = $entity['CLASS_NAME'];
	$fieldsFunction = [$className, 'GetFieldsInfo'];

	if (!is_callable($fieldsFunction))
	{
		throw new SystemException('Provider fields method not found in "'.$className.'".');
	}

	$fieldsInfo = call_user_func_array($fieldsFunction, []);

	if ($entity['HAS_USER_FIELDS'])
	{
		$userFieldsInfo = [];
		static::prepareUserFieldsInfo($userFieldsInfo, $className::$sUFEntityID);
		$fieldsInfo += $userFieldsInfo;
	}

	if ($entity['HAS_MULTI_FIELDS'])
	{
		self::prepareMultiFieldsInfo($fieldsInfo);
	}

	if ($entity['HAS_REQUISITES'])
	{
		self::prepareRequisitesInfo($entityName, $fieldsInfo);
	}

	$fieldsInfo = self::prepareFields($fieldsInfo);

	return self::prepareOrderFormFields($entityName, $fieldsInfo);
}