Обсуждение
display value
Lookup
отображаемое значение

Позволить устанавливать в качестве отображаемого значения DisplayValue справочника

Предлагаю позволить устанавливать в качестве отображаемого значения DisplayValue справочника.На данный момент использую событие на onSaved и дополнительную колонку DisplayColumn, в которую записываю значения из справочника. Крайне неудобно каждый раз, если в объекте отсутствует строка создавать дополнительный обработчик события для создания отображаемого значения.
4 комментария

Ну, или хотя бы создать базовый класс с уже таким действием

Здравствуйте, Александр!

Спасибо, что помогаете нам развивать и улучшать наши продукты. Ваша идея принята для анализа аналитиками проектного офиса и будет рассмотрена возможность ее реализации в одной из последующих версий программного продукта.

Приятного дня!

"Пащенко Александр Сергеевич" написал:На данный момент использую событие на onSaved

А можете привести пример кода на OnSaved?

Владимир, добрый день!

Если речь идёт об установлении отображаемого значения для детали, в которой нет своих подходящих текстовых полей, то это значение можно установить в блоке diff страницы детали.

Например, если стоит задача установить отображаемое значение для детали Продукты в карточке продажи, это можно сделать следующим образом: в коде схемы OpportunityProductDetailV2 находим блок diff и добавляем в него значение PrimaryDisplayColumnName, как в примере ниже.

[javascript]
diff: /**SCHEMA_DIFF*/[
{
"operation": "merge",
"name": "DataGrid",
"values": {
"type": "listed",

// установка отображаемого значения для детали
"primaryDisplayColumnName": "Product.Name",
//

"listedConfig": {
// конфигурация колонок списочного реестра
},
"tiledConfig": {
// конфигурация колонок плиточного реестра
}
}
}
]/**SCHEMA_DIFF*/
[/javascript]

Что касается примера Александра, думаю, имелось в виду следующее (если продолжать аналогию с продуктами в продажах):

1) добавляем в схему детали OpportunityProduct дополнительную текстовую колонку ProductName;
2) указываем эту колонку в качестве отображаемой для схемы OpportunityProduct;
3) в коде карточки редактирования детали (OpportunityProductPageV2) переопределяем обработчик onSaved;
4) добавляем в этот обработчик примерно такой код:

[javascript]
onSaved: function() {
var product = this.get("Product");
if (product && product.displayValue) {
this.set("ProductName", product.displayValue);
}
this.callParent(arguments);
}
[/javascript]

Показать все комментарии