Два стабильных строковых кода с понятными подписями. ТипЗначения и ДоступныеЗначения решают разные задачи.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Серверная процедура учебной обработки. Только коллекции в памяти, не перечисление или справочник вашей конфигурации.
ОписаниеТипов задаётся пустому списку до добавления значений. ДоступныеЗначения содержит собственный разрешённый набор.
Допустимые = Новый СписокЗначений;
Допустимые.Добавить("pickup", "Самовывоз");
Допустимые.Добавить("courier", "Курьер");
Способы = Новый СписокЗначений;
Способы.ТипЗначения = Новый ОписаниеТипов("Строка");
Способы.ДоступныеЗначения = Допустимые;
Способы.Добавить("pickup", "Забрать в учебном пункте");
Способы.Добавить("courier", "Учебная доставка курьером");
ЗапрошенныйКод = "post";
Если Способы.ДоступныеЗначения.НайтиПоЗначению(ЗапрошенныйКод) = Неопределено Тогда
Сообщить("Почта не входит в разрешённые способы; добавление не выполнялось.");
КонецЕсли;
Сообщить(Способы.ТипЗначения.СодержитТип(Тип("Строка")));
Сообщить(Способы.Количество() = 2);
Сообщить(Способы.НайтиПоЗначению("pickup").Представление = "Забрать в учебном пункте");
Сообщить(Способы.НайтиПоЗначению("post") = Неопределено);Разбор по шагам
ОписаниеТипов Строка задаёт тип, но само не ограничивает строковые коды pickup/courier/post.
ДоступныеЗначения ограничивает подмножество допустимых значений. По справке ограничение влияет также на программное добавление и присваивание.
Подписи рабочего списка могут отличаться от подписей разрешённого: ограничивается именно значение.
Не испытываем добавление запрещённого кода через исключение/приведение; сначала явно проверяем разрешённый набор.
Проверяем свойства списка и отсутствие запрещённого кода в итоговых данных.
Как проверить результат
Есть сообщение о недопустимой Почте, четыре булевы проверки Истина.
Список содержит только pickup и courier с учебными подписями.
Ожидаемый результат
Новичок видит тип значения, разрешённое множество и представление как три независимые вещи.
На что обратить внимание
Это не настройка реальных способов доставки в учётной базе.
Нельзя полагаться лишь на визуальный список выбора для контроля бизнес-правил на сервере.
ДоступныеЗначения Неопределено означает отсутствие ограничения, а не пустой разрешённый набор.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.