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

	foreach ($entity['FIELDS'] as $field)
	{
		if ($field['type'] === 'tree')
		{
			foreach ($field['tree'] as $treeName => $treeEntity)
			{
				$entities = $parentEntities;
				$entities[$treeName] = $treeEntity['CAPTION'];
				$fields = array_merge($fields, static::extractFieldsFromEntity($entities, $treeEntity));
			}
		}
		else
		{
			$field['entity_caption'] = reset($parentEntities);
			$field['entity_name'] = key($parentEntities);
			$field['entity_parents'] = $parentEntities;

			$fields[] = $field;
		}
	}

	return $fields;
}