Есть справочник, унаследованный от базового справочника, со стандартными полями 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;
Да, верно. Мы берём поле и читаем его атрибуты.