• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/Controller/Property/Action/SaveAction.php
  • Класс: BitrixIblockControllerPropertyActionSaveAction
  • Вызов: SaveAction::processEnumFields
private function processEnumFields(array $fields): array
{
	// set one DEF value
	if (
		$fields['PROPERTY_TYPE'] === PropertyTable::TYPE_LIST
		&& isset($fields['VALUES'])
		&& is_array($fields['VALUES'])
	)
	{
		$existDef = false;
		foreach ($fields['VALUES'] as &$item)
		{
			if (isset($item['DEF']) && $item['DEF'] === 'Y')
			{
				if ($existDef)
				{
					$item['DEF'] = 'N';
				}
				else
				{
					$existDef = true;
				}
			}
		}
		unset($item);
	}

	return $fields;
}