• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/basetype/user.php
  • Класс: BitrixBizprocBaseTypeUser
  • Вызов: User::getSelectedItems
static function getSelectedItems(array $value, array $settings): ?array
{
	if (!class_exists(BitrixUIEntitySelectorDialog::class))
	{
		return null;
	}

	$mapCallback = function ($value)
	{
		if ($value && strpos($value, 'user_') === 0)
		{
			return ['user', CBPHelper::StripUserPrefix($value)];
		}
		if ($value && strpos($value, 'group_d') === 0)
		{
			return ['department', preg_replace('|[^0-9]+|', '', $value)];
		}

		return null;
	};

	$preselectedItems = array_filter(array_map($mapCallback, $value));

	if (!$preselectedItems)
	{
		return [];
	}

	$options = [];

	if (!empty($settings['allowEmailUsers']))
	{
		$options['entities'] = [
			[
				'id' => 'user',
				'options' => [
					'emailUsers' => true,
					'myEmailUsers' => true,
				]
			]
		];
	}

	return BitrixUIEntitySelectorDialog::getSelectedItems($preselectedItems, $options)->toArray();
}