Пользовательское выпадающее поле 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']поскольку имена пользователей должны быть уникальными, но они будут более значимыми для ваших пользователей в виде списка.

Однако есть ли причина, по которой вы не используете поле связи с модулем "Пользователи"? Это должно решить все ваши проблемы без какой-либо кодировки.

Другие вопросы по тегам