СписокЗначений.ТипЗначения

Свойства · ValueType

Тип: ОписаниеТипов. Определяет тип для значений, которые могут храниться в элементах данного списка значений.

Полное описание, параметры и ограничения

СписокЗначений.ТипЗначения (ValueList.ValueType)

СписокЗначений (ValueList)

ТипЗначения (ValueType)

Доступен, начиная с версии 8.0.

Использование:
Чтение и запись.
Описание:
Тип: ОписаниеТипов.
Определяет тип для значений, которые могут храниться в элементах данного списка значений.
Доступность:

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

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Ограничить список доставки допустимыми кодами

Два стабильных строковых кода с понятными подписями. ТипЗначения и ДоступныеЗначения решают разные задачи.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Серверная процедура учебной обработки. Только коллекции в памяти, не перечисление или справочник вашей конфигурации.

  2. ОписаниеТипов задаётся пустому списку до добавления значений. ДоступныеЗначения содержит собственный разрешённый набор.

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

Разбор по шагам

  1. ОписаниеТипов Строка задаёт тип, но само не ограничивает строковые коды pickup/courier/post.

  2. ДоступныеЗначения ограничивает подмножество допустимых значений. По справке ограничение влияет также на программное добавление и присваивание.

  3. Подписи рабочего списка могут отличаться от подписей разрешённого: ограничивается именно значение.

  4. Не испытываем добавление запрещённого кода через исключение/приведение; сначала явно проверяем разрешённый набор.

  5. Проверяем свойства списка и отсутствие запрещённого кода в итоговых данных.

Как проверить результат

  1. Есть сообщение о недопустимой Почте, четыре булевы проверки Истина.

  2. Список содержит только pickup и courier с учебными подписями.

Ожидаемый результат

Новичок видит тип значения, разрешённое множество и представление как три независимые вещи.

На что обратить внимание

  1. Это не настройка реальных способов доставки в учётной базе.

  2. Нельзя полагаться лишь на визуальный список выбора для контроля бизнес-правил на сервере.

  3. ДоступныеЗначения Неопределено означает отсутствие ограничения, а не пустой разрешённый набор.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.