• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/order/matcher/fieldsynchronizer.php
  • Класс: Bitrix\Crm\Order\Matcher\FieldSynchronizer
  • Вызов: FieldSynchronizer::getNormalizedFields
static function getNormalizedFields(array $fields): array
{
	$result = [];

	$doubles = [];
	foreach ($fields as $fieldCode => $field)
	{
		$normalizedName = self::getOrderPropertyName($fieldCode, $field['ID']);
		if (isset($result[$normalizedName]))
		{
			if ($normalizedName === $fieldCode)
			{
				$result[$normalizedName] = $field + $result[$normalizedName];
			}
			else
			{
				$result[$normalizedName] += $field;
			}
		}
		else
		{
			$result[$normalizedName] = $field;
		}

		if ($normalizedName !== $fieldCode)
		{
			$doubles[$fieldCode] = $normalizedName;
		}
	}

	// replace original names
	foreach ($doubles as $originalName => $normalizedName)
	{
		$result[$originalName] = $result[$normalizedName];
		unset($result[$normalizedName]);
	}

	return $result;
}