КонстантаКлючЗначения.<Имя константы>.Пустой

Методы · IsEmpty

Определяет, есть ли у константы значение.

Синтаксис

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

КонстантаКлючЗначения.<Имя константы>.Пустой (ConstantValueKey.<Constant name>.IsEmpty)

КонстантаКлючЗначения.<Имя константы> (ConstantValueKey.<Constant name>)

Пустой (IsEmpty)

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

Синтаксис:
Пустой()
Возвращаемое значение:
Тип: Булево.
Истина - все поля ключа имеют значения по умолчанию.
Описание:

Определяет, есть ли у константы значение.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.

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

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

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

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

Загрузить две учебные константы в набор и изменить только копию в памяти

СоздатьНабор с явным списком имён ограничивает набор нужными учебными константами. Само изменение набора ещё не сохранение.

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

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

Подготовка

  1. Новая пустая файловая учебная база с именем корня конфигурации Учебная85. Не используйте константы рабочей УТ/КА2/УНФ/БП.

  2. Константы → Добавить: УчебныйЗаголовок (Строка длиной 100, Проверка заполнения Показывать ошибку) и УчебныйЛимит (Число 9,0, неотрицательное, Проверка заполнения Не проверять).

  3. Модули менеджеров значений констант и модули набора констант оставьте пустыми; внешние вызовы и подписки на записи не создавайте. Обновите конфигурацию базы данных.

  4. Вставьте фрагмент в тело серверной ВыполнитьПример() Экспорт. Каждую задачу запускайте отдельно в собственной учебной базе.

Если Метаданные.Константы.Найти("УчебныйЗаголовок") = Неопределено
    Или Метаданные.Константы.Найти("УчебныйЛимит") = Неопределено Тогда
    ВызватьИсключение "Подготовьте две собственные учебные константы";
КонецЕсли;
СтарыйЗаголовок = Константы.УчебныйЗаголовок.Получить();
СтарыйЛимит = Константы.УчебныйЛимит.Получить();
Набор = Константы.СоздатьНабор("УчебныйЗаголовок,УчебныйЛимит");
Набор.Прочитать();
Сообщить(Набор.УчебныйЗаголовок = СтарыйЗаголовок);
Сообщить(Набор.УчебныйЛимит = СтарыйЛимит);
Набор.УчебныйЗаголовок = "Набор в памяти";
Набор.УчебныйЛимит = 10;
Сообщить(Набор.ПроверитьЗаполнение());
Сообщить(Константы.УчебныйЗаголовок.Получить() = СтарыйЗаголовок);
Сообщить(Константы.УчебныйЛимит.Получить() = СтарыйЛимит);
Ключ = Константы.УчебныйЗаголовок.СоздатьКлючЗначения();
Сообщить(Ключ.Пустой());
Сообщить(Ключ.Метаданные().Имя = "УчебныйЗаголовок");

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

  1. Перед созданием набора читаем два сохранённых значения для сравнения.

  2. Явный список имён исключает другие константы даже в собственной учебной конфигурации.

  3. Прочитать наполняет динамические свойства набора; их типы задаются подготовленными метаданными.

  4. ПроверитьЗаполнение выполняется после учебных правок. Записать не вызывается.

  5. СоздатьКлючЗначения без параметра по справке создаёт пустой ключ. Это не создание новой константы и не присваивание её значения.

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

  1. Семь сравнений Истина.

  2. Сохранённые значения остаются прежними, изменён только свой экземпляр набора.

  3. Ключ относится к метаданным УчебныйЗаголовок и создан пустым.

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

Разобраны явный состав набора констант, чтение и изменение в памяти без записи.

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

  1. Для ключей с общими реквизитами-разделителями нужен отдельный учебный пример разделения данных.

  2. Пустой ключ, созданный без параметров, не доказывает, что текущее значение самой константы пустая строка.

  3. Проверка заполнения набора не записывает его.

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

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

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

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

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