СоздатьНабор с явным списком имён ограничивает набор нужными учебными константами. Само изменение набора ещё не сохранение.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Новая пустая файловая учебная база с именем корня конфигурации Учебная85. Не используйте константы рабочей УТ/КА2/УНФ/БП.
Константы → Добавить: УчебныйЗаголовок (Строка длиной 100, Проверка заполнения Показывать ошибку) и УчебныйЛимит (Число 9,0, неотрицательное, Проверка заполнения Не проверять).
Модули менеджеров значений констант и модули набора констант оставьте пустыми; внешние вызовы и подписки на записи не создавайте. Обновите конфигурацию базы данных.
Вставьте фрагмент в тело серверной ВыполнитьПример() Экспорт. Каждую задачу запускайте отдельно в собственной учебной базе.
Если Метаданные.Константы.Найти("УчебныйЗаголовок") = Неопределено
Или Метаданные.Константы.Найти("УчебныйЛимит") = Неопределено Тогда
ВызватьИсключение "Подготовьте две собственные учебные константы";
КонецЕсли;
СтарыйЗаголовок = Константы.УчебныйЗаголовок.Получить();
СтарыйЛимит = Константы.УчебныйЛимит.Получить();
Набор = Константы.СоздатьНабор("УчебныйЗаголовок,УчебныйЛимит");
Набор.Прочитать();
Сообщить(Набор.УчебныйЗаголовок = СтарыйЗаголовок);
Сообщить(Набор.УчебныйЛимит = СтарыйЛимит);
Набор.УчебныйЗаголовок = "Набор в памяти";
Набор.УчебныйЛимит = 10;
Сообщить(Набор.ПроверитьЗаполнение());
Сообщить(Константы.УчебныйЗаголовок.Получить() = СтарыйЗаголовок);
Сообщить(Константы.УчебныйЛимит.Получить() = СтарыйЛимит);
Ключ = Константы.УчебныйЗаголовок.СоздатьКлючЗначения();
Сообщить(Ключ.Пустой());
Сообщить(Ключ.Метаданные().Имя = "УчебныйЗаголовок");Разбор по шагам
Перед созданием набора читаем два сохранённых значения для сравнения.
Явный список имён исключает другие константы даже в собственной учебной конфигурации.
Прочитать наполняет динамические свойства набора; их типы задаются подготовленными метаданными.
ПроверитьЗаполнение выполняется после учебных правок. Записать не вызывается.
СоздатьКлючЗначения без параметра по справке создаёт пустой ключ. Это не создание новой константы и не присваивание её значения.
Как проверить результат
Семь сравнений Истина.
Сохранённые значения остаются прежними, изменён только свой экземпляр набора.
Ключ относится к метаданным УчебныйЗаголовок и создан пустым.
Ожидаемый результат
Разобраны явный состав набора констант, чтение и изменение в памяти без записи.
На что обратить внимание
Для ключей с общими реквизитами-разделителями нужен отдельный учебный пример разделения данных.
Пустой ключ, созданный без параметров, не доказывает, что текущее значение самой константы пустая строка.
Проверка заполнения набора не записывает его.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.