Свойство 1С СписокЗначений.ДоступныеЗначения позволяет установить фильтр на разрешенные к добавлению значения.
Если фильтр 1С СписокЗначений.ДоступныеЗначения установлен, то при попытке добавить запрещенное значение (то есть отсутствующее в списке разрешенных), то элемент списка все равно будет добавлен, но его значение будет равно НЕОПРЕДЕЛЕНО (т.е. метод Добавить() вернет элемент списка значений).
Запрет при этом касается как программного добавления (в коде языка 1С), так и интерактивное, если список значений выведен на форму и доступен к редактированию пользователем.
Также фильтр 1С СписокЗначений.ДоступныеЗначения можно установить на допустимый тип значения (подробнее см. СписокЗначений.ТипЗначения).
Пример использования 1С СписокЗначений.ДоступныеЗначения:
[VIP_CONTENT]
спЗначений = Новый СписокЗначений();
//создаем список разрешенных значений
спДоступныхЗначений = Новый СписокЗначений();
спДоступныхЗначений.Добавить(0);
спДоступныхЗначений.Добавить(1);
//устанавливаем ограничение
спЗначений.ДоступныеЗначения = спДоступныхЗначений;
спЗначений.Добавить(1); //разрешенное значение
спЗначений.Добавить(10); //запрещенное значение
стрЗначения = "";
Для каждого элСписка из спЗначений Цикл
Если не ПустаяСтрока(стрЗначения) Тогда
стрЗначения = стрЗначения + ", ";
КонецЕсли;
стрЗначения = стрЗначения + ?(элСписка.Значение = Неопределено, "Неопределено", Строка(элСписка.Значение));
КонецЦикла;
Сообщить(стрЗначения);
//1С сообщит: 1, Неопределено
[/VIP_CONTENT]