Есть справочник, унаследованный от базового справочника, со стандартными полями Id, Name, Description.
Есть раздел, в котором есть поле, принимающее значения из этого справочника (UsrYesNo), а также ряд других полей, содержащих значения INTEGER (UsrIntValue), TEXT (UsrTextValue) и т.п.
Есть необходимость извлечь значение соответствующего поля в коде клиентской части. Примерно так:
// Возвращает целочиcленное значение, работает корректно var a = this.get("UsrIntValue"); // Возвращает строковое значение, работает тоже корректно var b = this.get("UsrTextValue"); // По идее, должно возвращать значение из справочника, выбранное для записи раздела. // Но по факту выдает undefined. var c = this.get("UsrYesNo.Name");
Что я делаю не так?
Нравится
Генин Юрий пишет:
var c = this.get("UsrYesNo").Name;
Да, верно. Мы берём поле и читаем его атрибуты.
Указать эту колонку в attributes
attributes: { "UsrYesNo": { "dataValueType": Terrasoft.DataValueType.LOOKUP, "lookupListConfig": { "columns": ["Name"] } } }
Или в данном случае достаточно взять this.get("UsrYesNo").displayValue
Владимир Соколов,
Вариант с this.get("UsrYesNo").displayValue сработал, спасибо. Но добавление атрибута (в схему страницы редактирования) ничего не поменяло: this.get("UsrYesNo.Name") все равно возвращает undefined.
Владимир Соколов,
А вот так, кстати, сработало:
attributes: { "UsrYesNo": { lookupListConfig: { columns: ["Name"] } } }
и
var c = this.get("UsrYesNo").Name;
Интересно, почему...
Генин Юрий пишет:
var c = this.get("UsrYesNo").Name;
Да, верно. Мы берём поле и читаем его атрибуты.