• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_document.php
  • Класс: \CCrmDocument
  • Вызов: CCrmDocument::externalizeEnumerationField
static function externalizeEnumerationField(array &$fields, $name)
{
	$value = isset($fields[$name]) ? $fields[$name] : null;
	$valueInfos = array();
	if(!empty($value))
	{
		$dbRes = CUserFieldEnum::GetList([], ['ID' => $value]);
		while($valueData = $dbRes->Fetch())
		{
			$valueInfos[] = array('NAME' => $valueData['XML_ID'], 'LABEL' => $valueData['VALUE']);
		}
	}

	$valueInfoQty = count($valueInfos);
	if($valueInfoQty === 0)
	{
		$fields[$name] = $fields["{$name}_PRINTABLE"] = '';
	}
	elseif($valueInfoQty === 1)
	{
		$valueInfo = $valueInfos[0];
		$fields[$name] = $valueInfo['NAME'];
		$fields["{$name}_PRINTABLE"] = $valueInfo['LABEL'];
	}
	else
	{
		$names = array();
		$labels = array();
		foreach($valueInfos as &$valueInfo)
		{
			$names[] = $valueInfo['NAME'];
			$labels[] = $valueInfo['LABEL'];
		}
		unset($valueInfo);

		$fields[$name] = $names;
		$fields["{$name}_PRINTABLE"] = implode(', ', $labels);
	}
}