Во время работы часто встречается ситуация, когда на клиенте нужно получить значение перечисления. Создавать серверную функцию ради одного этого действия не хочется, но получить как-то перечисление нужно.
&НаСервере
Функция ВернутьСтатусДоработка()
Возврат Перечисления.СтатусыЗадач.Доработка;
КонецФункции
Конечно, это решает проблему, но приводит к увеличению объёма кода, появлению избыточных функций и усложнению его восприятия.
На этот случай в 1с предусмотрена функция ПредопределенноеЗначение при программировании на английском он называется PredefinedValue.
Функция ПредопределенноеЗначение
Синтаксис:
ПредопределенноеЗначение(ПолныйПутьКДанным)
PredefinedValue(FullDataPath)
Возвращаемые значение: Ссылка на объект.
Параметры:
| Параметр | Тип | Описание |
|---|---|---|
| ПолныйПутьКДанным | Строка | Содержит полный путь до предопределенного значения. Тип предопределенного значения.Имя объекта метаданных. Значение. |
| Тип предопределенного значения может быть: Справочник, план видов характеристик, план счетов, план видов расчета, документ или перечисление. | ||
| Бизнес процесс — только пустая ссылка и получение точек бизнес процесса | ||
| Задача — только пустая ссылка. | Параметры команды ПредопределенноеЗначение |
Описание: Возвращает ссылку на предопределенный элемент из предопределенных данных, прикладных перечислений и точек маршрута бизнес-процессов, а также значения системных перечислений.
**Внимание!** Функция доступна в платформе 8.2.9 и выше.
Доступность: Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
**Примечание**. Вызов метода выполняет обращение к серверу.
**Примечание**. Результат выполнения кэшируется при первом обращении до изменения конфигурации или версии платформы.
Примеры использования функции
Получение перечисления на клиенте
&НаКлиенте
Процедура СтатусПриИзменении(Элемент)
Если Объект.Статус = ПредопределенноеЗначение("Перечисление.СтатусыЗадач.Доработка") Тогда
// Код программы
КонецЕсли;
КонецПроцедуры
Получить справочник на клиенте
ВалютаРубль = ПредопределенноеЗначение("Справочник.Валюта.Рубль");
Получение пустой ссылки на документ на клиенте
ПустаяСсылкаНаДокумент = ПредопределенноеЗначение("Документ.РасходнаяНакладная.ПустаяСсылка");
Получение точки маршрута бизнес процесса на клиенте
БПТочка_Отказ = ПредопределенноеЗначение("БизнесПроцесс.Согласование.ТочкаМаршрута.Отказ");
Теперь вы знаете не только как получить перечисление на клиенте, но и как получить документ, справочник или бизнес-процесс. Учите программирование и если у вас есть какие-то вопросы добро пожаловать в комментарии.
Материалы по теме:
- Как использовать перечисление в форме справочника? — заметка на итс
- Руководство разработчика Работа с предопределенными значениями — книга на итс
- Использование предопределенных документов — реализация прикладных систем
- Учимся программировать — другие уроки на сайте
