Предлагаю позволить устанавливать в качестве отображаемого значения DisplayValue справочника.На данный момент использую событие на onSaved и дополнительную колонку DisplayColumn, в которую записываю значения из справочника.
Крайне неудобно каждый раз, если в объекте отсутствует строка создавать дополнительный обработчик события для создания отображаемого значения.
Спасибо, что помогаете нам развивать и улучшать наши продукты. Ваша идея принята для анализа аналитиками проектного офиса и будет рассмотрена возможность ее реализации в одной из последующих версий программного продукта.
Если речь идёт об установлении отображаемого значения для детали, в которой нет своих подходящих текстовых полей, то это значение можно установить в блоке diff страницы детали.
Например, если стоит задача установить отображаемое значение для детали Продукты в карточке продажи, это можно сделать следующим образом: в коде схемы OpportunityProductDetailV2 находим блок diff и добавляем в него значение PrimaryDisplayColumnName, как в примере ниже.
diff:/**SCHEMA_DIFF*/[{"operation":"merge",
"name":"DataGrid",
"values":{"type":"listed",
// установка отображаемого значения для детали"primaryDisplayColumnName":"Product.Name",
//"listedConfig":{// конфигурация колонок списочного реестра},
"tiledConfig":{// конфигурация колонок плиточного реестра}}}]/**SCHEMA_DIFF*/
Что касается примера Александра, думаю, имелось в виду следующее (если продолжать аналогию с продуктами в продажах):
1) добавляем в схему детали OpportunityProduct дополнительную текстовую колонку ProductName;
2) указываем эту колонку в качестве отображаемой для схемы OpportunityProduct;
3) в коде карточки редактирования детали (OpportunityProductPageV2) переопределяем обработчик onSaved;
4) добавляем в этот обработчик примерно такой код:
onSaved: function(){
var product =this.get("Product");if(product && product.displayValue){this.set("ProductName", product.displayValue);}this.callParent(arguments);}