Фиксированный массив защищает состав списка от добавления и удаления элементов.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используем только строки, чтобы не смешивать неизменяемость списка и изменяемость вложенных объектов.
Сначала создаём обычный массив, затем фиксированный.
Действия = Новый Массив;
Действия.Добавить("Просмотр");
Действия.Добавить("Экспорт");
РазрешённыеДействия = Новый ФиксированныйМассив(Действия);
Действия.Добавить("Удаление");
Сообщить(РазрешённыеДействия.Количество());
Сообщить(РазрешённыеДействия.Получить(0));
Сообщить(РазрешённыеДействия.Найти("Удаление") = Неопределено);Разбор по шагам
Конструктор копирует состав исходного массива.
Меняем исходный массив после создания фиксированного.
Проверяем, что новое действие не попало в фиксированную копию.
Как проверить результат
Количество 2, первый элемент Просмотр.
Поиск Удаление возвращает Неопределено.
Ожидаемый результат
2; Просмотр; Истина.
На что обратить внимание
Это не глубокая заморозка объектов, лежащих внутри.
Проверка списка действий сама по себе не реализует права доступа 1С.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.