500гмука
+🚫?
🔒 ФиксированнаяСтруктура — изменить нельзя

ФиксированнаяСтруктура — неизменяемая версия структуры. Создаётся из обычной структуры или сразу из списка имён и значений, и после этого не может быть изменена.

Структура = Новый Структура;
Структура.Вставить("Товар", "хлеб");
Структура.Вставить("Цена", 65);
 
ФиксСтруктура = Новый ФиксированнаяСтруктура(Структура);
ФиксСтруктура.Количество();            // 2 — чтение работает как обычно
ФиксСтруктура.Вставить("Скидка", 5);   // ошибка: метод не найден — Вставить/Удалить/Очистить у типа нет

Второй способ создания — без промежуточной обычной структуры, теми же параметрами, что у Новый Структура:

ФиксСтруктура = Новый ФиксированнаяСтруктура("Товар, Цена", "хлеб", 65);

Есть только методы чтения — обращение через точку, ["Ключ"], Свойство(), Количество(), обход Для Каждого. Обратно в обычную структуру — через конструктор Новый Структура, принимающий фиксированную структуру единственным аргументом:

ОбычнаяСтруктура = Новый Структура(ФиксСтруктура);

Зачем нужна: неизменяемые типы можно использовать как значение параметра сеанса и как ключ кэша для механизма повторного использования возвращаемых значений (ПовторноеИспользованиеЗначений) — обычная Структура для этого не годится именно из-за изменяемости. Тот же приём (обычная → фиксированная → обычная) — короткий способ скопировать структуру.

Структуры