• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/v2/Property/PropertyRepository.php
  • Класс: BitrixCatalogv2PropertyPropertyRepository
  • Вызов: PropertyRepository::loadEnumSettings
private function loadEnumSettings(array $settings): array
{
	$enumIds = [];

	foreach ($settings as $setting)
	{
		if ($setting['PROPERTY_TYPE'] === PropertyTable::TYPE_LIST)
		{
			$enumIds[] = $setting['ID'];
		}
	}

	$enumSettings = PropertyEnumerationTable::getList([
		'select' => ['ID', 'PROPERTY_ID'],
		'filter' => [
			'PROPERTY_ID' => $enumIds,
			'=DEF' => 'Y',
		],
	])
		->fetchAll()
	;
	$enumSettings = array_column($enumSettings, 'ID', 'PROPERTY_ID');

	if (!empty($enumSettings))
	{
		foreach ($settings as &$setting)
		{
			if (isset($enumSettings[$setting['ID']]))
			{
				$setting['DEFAULT_VALUE'] = $enumSettings[$setting['ID']];
			}
		}
	}

	return $settings;
}