Прочитать необязательную настройку и сохранить значение по умолчанию

Учебные задачи

Структура хранит настройки по именам. Метод Свойство позволяет отличить отсутствующую настройку от существующей со значением 0.

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

Фрагмент внутри учебной процедуры; внешних объектов нет.

Подготовка

  1. Создайте команду или процедуру для запуска примера.

  2. Оставьте исходное Количество равным 0 в структуре, чтобы увидеть разницу между отсутствием и нулевым значением.

Настройки = Новый Структура;
Настройки.Вставить("Название", "Книга");
Настройки.Вставить("Количество", 0);
Количество = 1;
Если Не Настройки.Свойство("Количество", Количество) Тогда
    Количество = 1;
КонецЕсли;
Сообщить(Количество);
Сообщить(Настройки.Количество());
Настройки.Удалить("Название");
Сообщить(Настройки.Количество());
Настройки.Очистить();
Сообщить(Настройки.Количество());

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

  1. Создаём структуру с двумя именованными свойствами.

  2. Метод Свойство возвращает признак наличия поля и передаёт его значение во второй аргумент.

  3. Количество 0 сохраняется как осмысленная настройка. Значение 1 выбирается только при отсутствии поля.

  4. Количество() возвращает число свойств структуры, а не значение поля Количество.

  5. Удалить убирает одно свойство, Очистить — все свойства.

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

  1. В исходном варианте ожидаются сообщения 0, 2, 1 и 0.

  2. Уберите строку Вставить для Количество: первое сообщение станет 1.

  3. Измените сохранённое количество на 3: первое сообщение должно стать 3 без изменения числа свойств.

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

Настройки читаются с явным правилом выбора значения по умолчанию; ноль не теряется.

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

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

  2. Точка и круглые скобки различают поле Количество и метод Количество().

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

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

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

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

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