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

  &НаСервере
Функция ВернутьСтатусДоработка()
	Возврат Перечисления.СтатусыЗадач.Доработка;
КонецФункции

Конечно, это решает проблему, но приводит к увеличению объёма кода, появлению избыточных функций и усложнению его восприятия.

На этот случай в 1с предусмотрена функция ПредопределенноеЗначение при программировании на английском он называется PredefinedValue.

Функция ПредопределенноеЗначение

Синтаксис:

ПредопределенноеЗначение(ПолныйПутьКДанным)
PredefinedValue(FullDataPath)

Возвращаемые значение: Ссылка на объект.

Параметры:

ПараметрТипОписание
ПолныйПутьКДаннымСтрокаСодержит полный путь до предопределенного значения. Тип предопределенного значения.Имя объекта метаданных. Значение.
Тип предопределенного значения может быть: Справочник, план видов характеристик, план счетов, план видов расчета, документ или перечисление.
Бизнес процесс — только пустая ссылка и получение точек бизнес процесса
Задача — только пустая ссылка.Параметры команды ПредопределенноеЗначение

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

**Внимание!** Функция доступна в платформе 8.2.9 и выше.

Доступность: Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

**Примечание**. Вызов метода выполняет обращение к серверу.

**Примечание**. Результат выполнения кэшируется при первом обращении до изменения конфигурации или версии платформы.

Примеры использования функции

Получение перечисления на клиенте

&НаКлиенте
Процедура СтатусПриИзменении(Элемент)
	Если Объект.Статус = ПредопределенноеЗначение("Перечисление.СтатусыЗадач.Доработка") Тогда
		// Код программы
	КонецЕсли;
КонецПроцедуры

Получить справочник на клиенте

ВалютаРубль = ПредопределенноеЗначение("Справочник.Валюта.Рубль");

Получение пустой ссылки на документ на клиенте

ПустаяСсылкаНаДокумент = ПредопределенноеЗначение("Документ.РасходнаяНакладная.ПустаяСсылка");

Получение точки маршрута бизнес процесса на клиенте

БПТочка_Отказ = ПредопределенноеЗначение("БизнесПроцесс.Согласование.ТочкаМаршрута.Отказ");

Теперь вы знаете не только как получить перечисление на клиенте, но и как получить документ, справочник или бизнес-процесс. Учите программирование и если у вас есть какие-то вопросы добро пожаловать в комментарии.

Материалы по теме: