HelpF.pro

Как получить ПредопределенноеЗначение?

Чтобы обратиться к предопределенному значению перечисления на клиенте нужно использовать метод глобального контекста ПредопределенноеЗначение (PredefinedValue)
Синтаксис:
Код 1C v 8.2 УП
 ПредопределенноеЗначение(<ИмяПредопределенногоЗначения>)   

Параметры: <ИмяПредопределенногоЗначения> (обязательный)
Тип: Строка. Содержит полный путь до предопределенного значения, включая имя самого значения. Например, "ПланСчетов.Основной.Счет41".
Синтаксис описания предопределенного значения совпадает с синтаксисом оператора ЗНАЧЕНИЕ языка запросов:
<Тип предопределенного значения>.<Имя объекта метаданных>.<Значение>
Тип предопределенного значения> может быть:
Справочник (Catalog);
ПланВидовХарактеристик (ChartOfCharacteristicTypes);
ПланСчетов (ChartOfAccounts);
ПланВидовРасчета (ChartOfCalculationTypes);
Перечисление (Enum);
БизнесПроцесс (BusinessProcess)
В качестве <Имя объекта метаданных> указывается имя объекта метаданных, как оно задано в конфигураторе.
Для перечислений, определенных в конфигурации, <Значение> указывается как имя соответствующего объекта метаданных типа ЗначениеПеречисления. Для всех остальных типов предопределенных значений <Значение> указывается как имя предопределенного элемента данных, как оно указано в конфигураторе, или ПустаяСсылка для указания пустой ссылки.
Для точек маршрутов бизнес-процессов имя предопределенного значения имеет вид:
БизнесПроцесс.<Имя объекта метаданных>.ТочкаМаршрута.<Имя точки маршрута>
Также метод может быть использован для получения значения системного перечисления. В этом случае параметр формируется как:
<ИмяСистемногоПеречисления>.<ИмяЗначенияСистемногоПеречисления>

Описание: Возвращает ссылку на предопределенный элемент из предопределенных данных, прикладных перечислений и точек маршрута бизнес-процессов, а также значения системных перечислений.

Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Вызов метода выполняет обращение к серверу.
Код 1C v 8.2 УП
 &Наклиенте
Процедура ГрафикРемонтовСпособВыполненияПриИзменении(Элемент)

СтрокаТабличнойЧасти = Элементы.ГрафикРемонтов.ТекущиеДанные;

Если СтрокаТабличнойЧасти.СпособВыполнения = ПредопределенноеЗначение("Перечисление.СпособыВыполненияРемонтныхРабот.Подрядный") Тогда
Элементы.ГрафикРемонтовИсполнитель.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.Контрагенты");
иначе
Элементы.ГрафикРемонтовИсполнитель.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.ПодразделенияОрганизации");

КонецЕсли;
КонецПроцедуры





Программируя функционал в платформе 8.2 Управляемые Формы нужно четко понимать где он будет исполняться (на сервере или клиенте). Многие привычные методы теперь не работают так как раньше. И элементарная проверка заполнения реквизита на предопределенное значение на клиенте будет иметь следующий вид:
Код 1C v 8.х
  &НаКлиенте
Процедура ПриИзменениеСтатусаЗаказа()
Если Объект.Статус = ПредопределенноеЗначение("Перечисление.СтатусыЗаказов.Завершен") Тогда
ЗакрытьЗаказ();
КонецЕсли;
КонецПроцедуры


Вот так работать не будет:
Код 1C v 8.х
  // НЕ РАБОТАЕТ
&НаКлиенте
Процедура ПриИзменениеСтатусаЗаказа()
Если Объект.Статус = Перечисления.СтатусыЗаказов.Завершен Тогда
ЗакрытьЗаказ();
КонецЕсли;
КонецПроцедуры

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq8/view/1228.html