К основному контенту

СписокВыбора и Представление выбранного значения

Для элемента формы "всё просто" представление используется из СпискаВыбора элемента, если установлено свойство РежимВыбораИзСписка. Для элементов формы -  полей ТаблицыФормы необходимо программно задать УсловноеОформление  формы (не забываем, что для формы УсловноеОформление доступно только на сервере), иначе представление значений после выбора из списка будет "по-умолчанию". (проверено вплоть до 8.3.12.1616)



&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
 
 УстановитьСписокВыбораВалют(Элементы.Валюта);
 УстановитьСписокВыбораВалют(Элементы.ТаблицаВалютВалюта);
 УстановитьУсловноеОформлениеДляСпискаВыбора(Элементы.ТаблицаВалютВалюта);
 
КонецПроцедуры

Процедура УстановитьСписокВыбораВалют(Элемент)
 
 Перем СписокВыборка;
 
 Запрос = Новый Запрос("ВЫБРАТЬ Валюты.Ссылка КАК Валюты ИЗ Справочник.Валюты КАК Валюты");
 
 СписокВыбора = Элемент.СписокВыбора;
 СписокВыбора.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку(0));
 Для НомерПозиции = 1 По СписокВыбора.Количество() Цикл
  ЭлементСпискаВыбора = СписокВыбора.Получить(НомерПозиции-1);
  ЭлементСпискаВыбора.Представление = СтрШаблон("Представление %1 (%2)", НомерПозиции, ЭлементСпискаВыбора.Значение);
 КонецЦикла;
 Элемент.РежимВыбораИзСписка = СписокВыбора.Количество();
 
КонецПроцедуры

Процедура УстановитьУсловноеОформлениеДляСпискаВыбора(ЭлементФормы)
 
 СписокВыбора = ЭлементФормы.СписокВыбора;
 
 Для Каждого ЭлементСпискаВыбора Из СписокВыбора Цикл
  
  Элемент = УсловноеОформление.Элементы.Добавить();
 
  ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
  ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(ЭлементФормы.Имя);
  
  ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
  ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ЭлементФормы.ПутьКДанным);
  ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
  ОтборЭлемента.ПравоеЗначение = ЭлементСпискаВыбора.Значение;
  
  Элемент.Оформление.УстановитьЗначениеПараметра("Текст", ЭлементСпискаВыбора.Представление);
  
 КонецЦикла;
 
КонецПроцедуры

&НаКлиенте
Процедура ВалютаПриИзменении(Элемент)
 
 ИскомоеПредставление = Элемент.ТекстРедактирования;
 Для Каждого ЭлементСпискаВыбора Из Элемент.СписокВыбора Цикл
  Если ЭлементСпискаВыбора.Представление = ИскомоеПредставление Тогда
   ПоследнееВыбранноеЗначение = ЭлементСпискаВыбора.Значение;
   Прервать;
  КонецЕсли; 
 КонецЦикла;
 
КонецПроцедуры

Комментарии

Популярные сообщения из этого блога

СписокВыбора. Показать Представление вместо Значения

Вводная Если на форме есть элемент управления со списком выбора, в моем конкретном примере это Колонка Значение (Число (3,0)) с настроенным списком выбора. По умолчанию платформа отображает именно строковое значения, а не текст представления  из списка выбора (когда как при выборе значения из списка показываются именно представления). Решение Для Управляемых форм необходимо настроить правила условного оформления, для обычных форм - оформление ячеек при выводе данных.

Расширение конфигурации + Связанные документы (Режим совместимости 8.3.12)

Вводная: реализовать ввод Заказа поставщику на основании Заказа на Ремонт. решить через расширения конфигурации. Хочу обратить ваше внимание, не нужно добавлять в расширение критерий отбора, для 8.3.12 нам не доступно добавление\изменение состава критерия. Более того может зависать конфигуратор (столкнулся с последней версией 8.3.14 + ERP) Разработку рекомендую вести с применением хранилища и для расширения. Иначе устанете потом выгребать чего лишнего включили в расширение при добавлении таких или схожих обектов с составными типами и подобное. Все текущие типовые решения сейчас идут в режиме совместимости 8.3.12, в прочем и для 8.3.14 (и даже 8.3.15 ничего не поменялось). Что нам нужно было бы сделать при отказе от поддержки: 1) добавить наш документ в Критерий отбора (состав, реквизиты); 2) в раздел Ввод на основании целевого документа. И что с целью сохранения поддержки. Как сделать это же для расширения: 1) Добавить реквизит расширения Документы.ЗаказПоставщику._За...

Управляемые формы. Группа формы. Сворачиваемая и свойство Свернута

В конфигураторе в свойствах группы есть свойство "Свернута" не доступное через средства встроенного языка. И честно, уже не в первой вводит в ступор, чтобы не забывать, что и как Начиная с 8.3.12 введены следующие методы для программного управления поведением Версия 8.3.12 | Новые возможности и изменения | Управляемая форма Дальше фрагменты из Синтаксис помошника. Расширение группы формы для обычной группы Скрыть (Hide) Синтаксис: Скрыть() Описание: В зависимости от значения свойства Поведение группы: Обычное - никакие действия не выполняются, Свертываемая - сворачивает группу, Всплывающая - скрывает группу. Доступность: Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). Скрыта (Hidden) Расширение группы формы для обычной группы (Form group extension for a usual group) Скрыта (Hidden) Синтаксис: Скрыта() Возвращае...