Вводная
Если на форме есть элемент управления со списком выбора, в моем конкретном примере это Колонка Значение (Число (3,0)) с настроенным списком выбора. По умолчанию платформа отображает именно строковое значения, а не текст представления из списка выбора (когда как при выборе значения из списка показываются именно представления).Решение
Для Управляемых форм необходимо настроить правила условного оформления, для обычных форм - оформление ячеек при выводе данных.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Для Каждого Значение Из Элементы.ТабличнаяЧастьЗначение.СписокВыбора.ВыгрузитьЗначения() Цикл
Объект.ТабличнаяЧасть.Добавить().Значение = Значение;
КонецЦикла;
ДобавитьУсловноеОформлениеТекстаДляСпискаВыбора(Элементы.ТабличнаяЧастьЗначение);
КонецПроцедуры
// Добавит правила условного оформления для всех значений списка выбора элемента
// для отображения вместо значений текст из представления из списка выбора элемента
//
// Параметры:
// Элемент - ПолеФормы - Элемент управления
// для которого следует установить правила оформления на основании выбранного (установленного) значения
//
Процедура ДобавитьУсловноеОформлениеТекстаДляСпискаВыбора(Элемент, Отказ = Ложь)
Перем Форма;
Форма = ПолучитьФормуЧерезЭлементУправления(Элемент, Отказ);
Для Каждого ЭлементСпискаВыбора Из Элемент.СписокВыбора Цикл
// Новое правило оформления
ЭлементУсловногоОформления = Форма.УсловноеОформление.Элементы.Добавить();
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра(
"Текст"
, ЭлементСпискаВыбора.Представление);
// Условие
ЭлементУсловия = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип(
"ЭлементОтбораКомпоновкиДанных"
));
ЭлементУсловия.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Элемент.ПутьКДанным);
ЭлементУсловия.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно;
ЭлементУсловия.ПравоеЗначение=ЭлементСпискаВыбора.Значение;
// Поле
ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(Элемент.Имя);
КонецЦикла;
КонецПроцедуры
// УстановитьУсловноеОформлениеДляСпискаВыбораЭлементаУправления()
// Вернет управляемую форму на которой размещен элемент управления
//
// Параметры:
// Элемент - ПолеФормы - Элемент управления
// Отказ - Булево - будет содержать признак отказа выполнения метода
//
// Возвращаемое значение:
// - УправляемаяФорма -
Функция ПолучитьФормуЧерезЭлементУправления(Элемент, Отказ = Ложь)
Перем Родитель;
Родитель = Элемент.Родитель;
Пока ТипЗнч(Родитель) <> Тип(
"УправляемаяФорма"
) Цикл
Родитель = Родитель.Родитель;
КонецЦикла;
Возврат Родитель;
КонецФункции
// ПолучитьФормуЧерезЭлементУправления()
Процедура ТабличнаяЧасть1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
ОформлениеСтроки.Ячейки[
"Колонка1"
].Текст = ЭлементыФормы.ТабличнаяЧасть1.Колонки.Колонка1.ЭлементУправления.СписокВыбора.НайтиПоЗначению(ДанныеСтроки.Колонка1).Представление;
КонецПроцедуры