Пользовательское выпадающее поле SugarCRM
Я сделал пользовательское выпадающее поле в модуле ведет. Это динамический выбор пользователей из таблицы пользователей из модуля отведений в виде пары ключ => значение.
Поле работает нормально, но в режиме редактирования (создание нового отведения)... значение не сохраняется, а ключ сохраняется, а не значение.
Я имею в виду, как вместо "Джеймс Бонд" идентификатор хранится.. что похоже на "7896877"
Самое смешное, что в подробном представлении в sugarcrm (модуль ведет) имя отображается правильно, как я хотел, чтобы оно работало. ТОЛЬКО в представлении списка он отображает идентификатор, а также в базе данных он сохраняется как KEY, то есть идентификатор хеша.
Это функция:
function getUSERS($bean) {
$resultArray = Array();
$query = "select id,(first_name + ' ' + last_name) AS Name from dbo.users ORDER BY first_name ASC";
$resultArray [''] = '';
$result = $bean->db->query($query);
while ($row = $bean->db->fetchByAssoc($result)) {
$resultArray[$row['id']] = $row['Name'];
}
return $resultArray;
}
1 ответ
Раскрывающиеся значения в Sugar работают как пары ключ / значение, ключ - это то, что хранится в базе данных, и Sugar выполняет соответствующий поиск для отображения значения. За исключением того, что представление списка работает по-разному для динамических выпадающих меню.
Вместо того, чтобы строить свой массив как $resultArray[$row['id'] ]= $row['Name']
Вы можете использовать имя пользователя -$resultArray[$row['username'] ]= $row['Name']
поскольку имена пользователей должны быть уникальными, но они будут более значимыми для ваших пользователей в виде списка.
Однако есть ли причина, по которой вы не используете поле связи с модулем "Пользователи"? Это должно решить все ваши проблемы без какой-либо кодировки.