$dbUsers = CUser::GetList($by = 'ID', $order = 'ASC', array('ID' => $userID), array('FIELDS' => array('ID'))); $user = is_object($dbUsers) ? $dbUsers->Fetch() : null; if (is_array($user)) { $usersByID[$userID] = $user; } else { //Reset user $userID = 0; } } } else { // 3. Try to interpret value as user name (#NAME# #LAST_NAME#) if (isset($usersByName[$data])) { $userID = intval($usersByName[$data]['ID']); } else { $nameParts = array(); if (\Bitrix\Crm\Format\PersonNameFormatter::tryParseName($data, $userNameFormat, $nameParts)) { $userFilter = array(); if (isset($nameParts['NAME'])) { $userFilter['NAME'] = $nameParts['NAME']; } if (isset($nameParts['SECOND_NAME'])) { $userFilter['SECOND_NAME'] = $nameParts['SECOND_NAME']; } if (isset($nameParts['LAST_NAME'])) { $userFilter['LAST_NAME'] = $nameParts['LAST_NAME']; } $dbUsers = CUser::GetList($by = 'ID', $order = 'ASC', $userFilter, array('FIELDS' => array('ID'))); $user = is_object($dbUsers) ? $dbUsers->Fetch() : null; if (is_array($user)) { $userID = $user['ID'] = intval($user['ID']); $usersByName[$data] = $user;