Тип: Структура. Может использоваться в тех случаях, когда необходимо хранить некоторые значения, связанные с объектом, на время выполнения некоторых операций, без изменения объекта. Например, при обработке событий в подписке на события.
Полное описание, параметры и ограничения
ПоследовательностьНаборЗаписей.<Имя последовательности>.ДополнительныеСвойства (SequenceRecordSet.<Sequence name>.AdditionalProperties)
ПоследовательностьНаборЗаписей.<Имя последовательности> (SequenceRecordSet.<Sequence name>)
ДополнительныеСвойства (AdditionalProperties)
Доступен, начиная с версии 8.1.
Использование:
Только чтение.
Описание:
Тип: Структура.
Может использоваться в тех случаях, когда необходимо хранить некоторые значения, связанные с объектом, на время выполнения некоторых операций, без изменения объекта. Например, при обработке событий в подписке на события.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Получить свой набор из нового документа и не спутать принадлежность с будущей ссылкой
Перед настройкой обработчика проверить собственную метаданную связь документа и последовательности, установить будущий идентификатор и снабдить связанный набор служебной пометкой, сохранив фактического регистратора и строки неизменными. Это подготовка собственного черновика, а не getter неизвестного объекта.
Где и как запускать
Полный серверный общий модуль УчебныеНаборыПоследовательности85 собственной новой конфигурации УчебныеПоследовательности85. Платформа 8.5.1.1343, тонкий/толстый управляемый клиент с серверным вызовом. Только собственные объекты памяти; 1С здесь не запускалась.
Подготовка
Создайте новую отдельную пустую базу 8.5.1.1343, не копию рабочей УТ/КА2. Имя конфигурации УчебныеПоследовательности85, язык встроенного языка Русский, ОсновнойРежимЗапуска=УправляемоеПриложение, режим совместимости Не использовать. Расширений, подписок и обработчиков записи нет.
В Документы создайте единственный документ УчебнаяРегистрация85: проведение запрещено, реквизитов и табличных частей нет, движения регистров не назначены, модули объекта и менеджера пусты. В уроке создаётся один собственный объект этого документа только в памяти; он не записывается.
В Последовательности создайте единственную УчебнаяОчередь85. В составе Документы выберите только свой УчебнаяРегистрация85. Измерений, зависимых регистров в составе Движения и дополнительных индексов нет. ПеремещениеГраницыПриПроведении=НеПеремещать. Модуль набора пуст. Структура записей поэтому содержит только Период и Регистратор.
Не создавайте в стенде справочников и регистров. Для учебного пользователя разрешите собственные метаданные, общую форму и команды. Обновите только эту новую конфигурацию. Проверка имени и состава схемы выполняется до создания набора; она не доказывает отсутствия записей базы и не делает рабочую базу безопасной.
В Общие → Общие модули создайте УчебныеНаборыПоследовательности85: Сервер=Истина, ВызовСервера=Истина, Глобальный=Ложь, клиентские флаги выключены. Полный основной модуль одного выбранного урока вставьте на верхнем уровне целиком. Все помощники предоставлены ниже в том же модуле.
В Общие → Общие формы создайте управляемую форму УчебныйЗапускПоследовательности85. Добавьте команду ВыполнитьУрок с действием ВыполнитьУрок, ИзменяетСохраняемыеДанные=Ложь и кнопку Выполнить урок. Полный модуль формы:
&НаКлиенте
Процедура ВыполнитьУрок(Команда)
ВыполнитьУрокНаСервере();
КонецПроцедуры&НаСервереБезКонтекста
Процедура ВыполнитьУрокНаСервере()
УчебныеНаборыПоследовательности85.ВыполнитьПример();
КонецПроцедурыВ Общие → Общие команды создайте ОткрытьНаборПоследовательности85 без параметра и включите в свой учебный раздел. Полный модуль общей команды:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ОткрытьФорму("ОбщаяФорма.УчебныйЗапускПоследовательности85");
КонецПроцедуры
Откройте свою форму этой командой и выполните её кнопку. Два вспомогательных модуля не вставляйте в основной серверный модуль.Одна плановая ссылка создаётся ПолучитьСсылку на собственный новый UUID. Непустая ссылка не означает существующий документ; реквизиты ссылок не читаются. Это идентификаторы собственных незаписанных черновых строк, не готовые записи для сохранения в базу.
Здесь нет Прочитать, Записать, проведения, восстановления или изменения границы. Добавить/Загрузить/Удалить/Очистить действуют только на принадлежащий уроку экземпляр набора в памяти. Этот пример нельзя превращать в исправление последовательности добавлением Записать.
Статически проверены исходный код и установленная справка. Компиляция и выполнение в 1С здесь не проверялись; ожидаемые результаты далее нужно подтвердить самостоятельным запуском только в подготовленной новой учебной базе.
Для этого урока не используйте модуль ОбработкаПроверкиЗаполнения из другого примера: модуль набора своей последовательности остаётся пустым. Набор здесь получаем через ПринадлежностьПоследовательностям собственного нового документа, а не от неизвестного параметра. Никаких строк в этот связанный набор не добавляем.
Процедура ВыполнитьПример() Экспорт
Если Метаданные.Последовательности.Количество() <> 1 Или Метаданные.Документы.Количество() <> 1 Тогда
ВызватьИсключение "В своём стенде нужны ровно одна последовательность и один вид документа";
КонецЕсли;
МетаОчереди = Метаданные.Последовательности.Найти("УчебнаяОчередь85");
МетаДокумента = Метаданные.Документы.Найти("УчебнаяРегистрация85");
Если МетаОчереди = Неопределено Или МетаДокумента = Неопределено Тогда
ВызватьИсключение "Не подготовлена собственная схема урока";
КонецЕсли;
Если МетаОчереди.Измерения.Количество() <> 0 Или МетаОчереди.Движения.Количество() <> 0
Или МетаОчереди.Документы.Количество() <> 1 Тогда
ВызватьИсключение "Нужна собственная очередь без измерений и зависимых регистров";
КонецЕсли;
Участвует = Ложь;
Для Каждого МетаУчастника Из МетаОчереди.Документы Цикл
Участвует = МетаУчастника = МетаДокумента;
КонецЦикла;
Если Не Участвует Тогда
ВызватьИсключение "Единственный участник должен быть своим УчебнаяРегистрация85";
КонецЕсли;
Если МетаОчереди.ПеремещениеГраницыПриПроведении <> Метаданные.СвойстваОбъектов.ПеремещениеГраницыПриПроведении.НеПеремещать Тогда
ВызватьИсключение "Проверьте подготовку политики границы собственной очереди";
КонецЕсли;
Документ = Документы.УчебнаяРегистрация85.СоздатьДокумент();
Если ТипЗнч(Документ) <> Тип("ДокументОбъект.УчебнаяРегистрация85") Или Не Документ.ЭтоНовый() Тогда
ВызватьИсключение "Нужен собственный новый незаписанный документ";
КонецЕсли;
ПлановаяСсылка = Документы.УчебнаяРегистрация85.ПолучитьСсылку(Новый УникальныйИдентификатор);
Если ТипЗнч(ПлановаяСсылка) <> Тип("ДокументСсылка.УчебнаяРегистрация85") Или ПлановаяСсылка.Пустая() Тогда
ВызватьИсключение "Нужна собственная непустая плановая ссылка";
КонецЕсли;
Документ.УстановитьСсылкуНового(ПлановаяСсылка);
Если Документ.ПолучитьСсылкуНового() <> ПлановаяСсылка Или Не Документ.ЭтоНовый() Тогда
ВызватьИсключение "Плановая ссылка не установлена или документ перестал быть новым";
КонецЕсли;
Принадлежность = Документ.ПринадлежностьПоследовательностям;
Если ТипЗнч(Принадлежность) <> Тип("ФиксированнаяКоллекция") Тогда
ВызватьИсключение "Ожидалась коллекция наборов собственного документа";
КонецЕсли;
Набор = Принадлежность.УчебнаяОчередь85;
Если ТипЗнч(Набор) <> Тип("ПоследовательностьНаборЗаписей.УчебнаяОчередь85")
Или Набор.Метаданные() <> МетаОчереди Тогда
ВызватьИсключение "Из своего документа получен набор другой последовательности";
КонецЕсли;
СвязанныйРегистратор = Набор.Регистратор;
Если ТипЗнч(СвязанныйРегистратор) <> Тип("ДокументСсылка.УчебнаяРегистрация85") Тогда
ВызватьИсключение "Неверный тип фактического связанного регистратора";
КонецЕсли;
ИсходноеКоличество = Набор.Количество();
Набор.ДополнительныеСвойства.Вставить("УчебноеНазначение85", "Контроль принадлежности нового документа");
Если Не Набор.ДополнительныеСвойства.Свойство("УчебноеНазначение85", Назначение)
Или Назначение <> "Контроль принадлежности нового документа" Тогда
ВызватьИсключение "Не сохранена собственная служебная пометка экземпляра";
КонецЕсли;
Если Набор.Регистратор <> СвязанныйРегистратор Или Набор.Количество() <> ИсходноеКоличество
Или Набор.Метаданные() <> МетаОчереди Или Документ.ПолучитьСсылкуНового() <> ПлановаяСсылка
Или Не Документ.ЭтоНовый() Тогда
ВызватьИсключение "Служебная пометка изменила документ, связь или строки набора";
КонецЕсли;
Сообщить(Назначение);
Сообщить("Плановая ссылка: " + Строка(ПлановаяСсылка.УникальныйИдентификатор()));
Сообщить("Фактический регистратор набора: " + Строка(СвязанныйРегистратор.УникальныйИдентификатор()));
Сообщить("Исходное и конечное количество строк: " + Строка(ИсходноеКоличество));
Сообщить("Документ остаётся новым; плановая ссылка не объявляется записанным документом");
КонецПроцедурыРазбор по шагам
Сначала проверьте единственный свой документ и единственную последовательность без измерений и движений. Только после этого создаётся ДокументОбъект.УчебнаяРегистрация85.
СоздатьДокумент создаёт свой объект в памяти. ЭтоНовый должен дать Истина. Вызова Записать нет; этот объект не становится строкой базы.
ПолучитьСсылку формирует свою непустую ссылку нового UUID. УстановитьСсылкуНового задаёт план для будущей записи, а ПолучитьСсылкуНового проверяет точное равенство этому плану. Проверка уникальности при записи здесь не выполняется.
ПринадлежностьПоследовательностям возвращает ФиксированнаяКоллекция. Имя её свойства УчебнаяОчередь85 задаётся своей настройкой Документы последовательности. Проверьте конкретный тип набора и его Метаданные, а не сходство имени или представления.
Прочитайте фактический Регистратор набора и реальное число строк до изменений. Native не обещает, что назначенный план сразу стал регистратором связанного набора; урок не требует их равенства и выводит оба UUID отдельно. Исходное количество также наблюдается, а не выдумывается.
В ДополнительныеСвойства поместите конкретное назначение экземпляра и прочитайте его через Свойство. Это содержимое возвращённой Структура, а не присваивание нового readonly-свойства.
Повторно проверьте регистратора, количество строк, метаданную связь, будущую ссылку и ЭтоНовый. Все значения должны остаться исходными; поменялась только собственная служебная пометка.
Сообщения выводят точную пометку, реальный UUID будущей ссылки, реальный UUID регистратора и фактическое число строк. Не заменяйте наблюдаемые значения константами и не записывайте документ ради совпадения идентификаторов.
Как проверить результат
После штатного запуска назначение равно «Контроль принадлежности нового документа», будущая ссылка точно равна ПлановаяСсылка, ЭтоНовый=Истина. Регистратор имеет тип ДокументСсылка.УчебнаяРегистрация85 и совпадает со своим исходным значением; число строк совпадает с исходным наблюдением.
Для отрицательной проверки в новой учебной базе уберите свой документ из состава последовательности. Проверка Участвует должна остановить урок до СоздатьДокумент; это тест подготовки, не повод ослабить проверку.
Сопоставьте два напечатанных UUID. Их совпадение или различие наблюдается фактически и не подменяется выводом о существовании документа. Сравнение будущей ссылки проверяется только через ПолучитьСсылкуНового.
Ожидаемый результат
Один собственный незаписанный документ с проверенной плановой ссылкой и его собственный набор УчебнаяОчередь85 со служебной пометкой. Исходные регистратор и количество строк сохранены; конкретный UUID и начальное число строк выводятся из реального экземпляра, их default-поведение не приписывается native.
На что обратить внимание
Readonly-свойства Отбор, Регистратор и ОбменДанными нельзя заменить присваиванием. У возвращённого Отбор меняются его элементы, у ПараметрыОбменаДанными — разрешённый флаг Загрузка.
Отбор набора последовательности допустим только на равенство. Это условие будущего чтения или записи, а не команда удаления неподходящих строк уже заполненного экземпляра памяти.
Плановая непустая ссылка из ПолучитьСсылку не подтверждает существование документа. УстановитьСсылкуНового задаёт ссылку для будущей записи; ПолучитьСсылкуНового возвращает именно этот план, а не доказательство записи.
Регистратор набора — связь экземпляра с документом; Регистратор отдельной строки — поле этой строки. Не переносите автоматически значение одного свойства в другое и не меняйте readonly-регистратор набора.
Загрузка=Истина сокращает проверки при записи/удалении данных. Это не разрешение пропускать бизнес-проверки в рабочей базе и не проверка корректности импортируемой информации.
В уроках нет записи, чтения базы, обмена сообщениями, проведения, восстановления и переноса границ. Локальные строки и временный флаг нельзя объявлять результатом обмена или исправлением последовательности.
Флаг восстанавливается по реально прочитанному исходному значению, а не безусловно в Ложь. Ветвь исключения не превращается в успешный результат: после восстановления ошибка передаётся вызывающему коду.
Статические проверки не исполняют платформу. Код и ожидаемые результаты требуется отдельно подтвердить в собственной новой базе 8.5.1.1343; 1С здесь не запускалась.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Создать три регистрации в памяти и отличить строку от индекса
На своей очереди без измерений создаём три незаписанные строки с заданными датами и своими плановыми ссылками. Согласуем Получить/[]/Индекс и связываем служебное название задачи с экземпляром, не добавляя его в поля регистраций.
Где и как запускать
Полный серверный общий модуль УчебныеНаборыПоследовательности85 собственной новой конфигурации УчебныеПоследовательности85, точная 8.5.1.1343. Только собственный черновик памяти; 1С здесь не запускалась, записей базы нет.
Подготовка
Создайте новую отдельную пустую базу 8.5.1.1343, не копию рабочей УТ/КА2. Имя конфигурации УчебныеПоследовательности85, язык встроенного языка Русский, ОсновнойРежимЗапуска=УправляемоеПриложение, режим совместимости Не использовать. Расширений, подписок и обработчиков записи нет.
В Документы создайте единственный документ УчебнаяРегистрация85: проведение запрещено, реквизитов и табличных частей нет, движения регистров не назначены, модули объекта и менеджера пусты. Документы этого вида в уроке не создаются и не записываются.
В Последовательности создайте единственную УчебнаяОчередь85. В составе Документы выберите только свой УчебнаяРегистрация85. Измерений, зависимых регистров в составе Движения и дополнительных индексов нет. ПеремещениеГраницыПриПроведении=НеПеремещать. Модуль набора пуст. Структура записей поэтому содержит только Период и Регистратор.
Не создавайте в стенде справочников и регистров. Для учебного пользователя разрешите собственные метаданные, общую форму и команды. Обновите только эту новую конфигурацию. Проверка имени и состава схемы выполняется до создания набора; она не доказывает отсутствия записей базы и не делает рабочую базу безопасной.
В Общие → Общие модули создайте УчебныеНаборыПоследовательности85: Сервер=Истина, ВызовСервера=Истина, Глобальный=Ложь, клиентские флаги выключены. Полный основной модуль одного выбранного урока вставьте на верхнем уровне целиком. Все помощники предоставлены ниже в том же модуле.
В Общие → Общие формы создайте управляемую форму УчебныйЗапускПоследовательности85. Добавьте команду ВыполнитьУрок с действием ВыполнитьУрок, ИзменяетСохраняемыеДанные=Ложь и кнопку Выполнить урок. Полный модуль формы:
&НаКлиенте
Процедура ВыполнитьУрок(Команда)
ВыполнитьУрокНаСервере();
КонецПроцедуры&НаСервереБезКонтекста
Процедура ВыполнитьУрокНаСервере()
УчебныеНаборыПоследовательности85.ВыполнитьПример();
КонецПроцедурыВ Общие → Общие команды создайте ОткрытьНаборПоследовательности85 без параметра и включите в свой учебный раздел. Полный модуль общей команды:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ОткрытьФорму("ОбщаяФорма.УчебныйЗапускПоследовательности85");
КонецПроцедуры
Откройте свою форму этой командой и выполните её кнопку. Два вспомогательных модуля не вставляйте в основной серверный модуль.Плановые ссылки создаются ПолучитьСсылку на собственные новые UUID. Непустая ссылка не означает существующий документ; реквизиты ссылок не читаются. Это идентификаторы собственных незаписанных черновых строк, не готовые записи для сохранения в базу.
Здесь нет Прочитать, Записать, проведения, восстановления или изменения границы. Добавить/Загрузить/Удалить/Очистить действуют только на принадлежащий уроку экземпляр набора в памяти. Этот пример нельзя превращать в исправление последовательности добавлением Записать.
Статически проверены исходный код и установленная справка. Компиляция и выполнение в 1С здесь не проверялись; ожидаемые результаты далее нужно подтвердить самостоятельным запуском только в подготовленной новой учебной базе.
Процедура ВыполнитьПример() Экспорт
Если Метаданные.Последовательности.Количество() <> 1 Или Метаданные.Документы.Количество() <> 1 Тогда
ВызватьИсключение "В своём стенде нужны ровно одна последовательность и один вид документа";
КонецЕсли;
МетаОчереди = Метаданные.Последовательности.Найти("УчебнаяОчередь85");
МетаДокумента = Метаданные.Документы.Найти("УчебнаяРегистрация85");
Если МетаОчереди = Неопределено Или МетаДокумента = Неопределено Тогда
ВызватьИсключение "Не подготовлена собственная схема урока";
КонецЕсли;
Если МетаОчереди.Измерения.Количество() <> 0 Или МетаОчереди.Движения.Количество() <> 0
Или МетаОчереди.Документы.Количество() <> 1 Тогда
ВызватьИсключение "Нужна собственная очередь без измерений и зависимых регистров";
КонецЕсли;
Участвует = Ложь;
Для Каждого МетаУчастника Из МетаОчереди.Документы Цикл
Участвует = МетаУчастника = МетаДокумента;
КонецЦикла;
Если Не Участвует Тогда
ВызватьИсключение "Единственный участник должен быть своим УчебнаяРегистрация85";
КонецЕсли;
Если МетаОчереди.ПеремещениеГраницыПриПроведении <> Метаданные.СвойстваОбъектов.ПеремещениеГраницыПриПроведении.НеПеремещать Тогда
ВызватьИсключение "Проверьте подготовку политики границы собственной очереди";
КонецЕсли;
Набор = Последовательности.УчебнаяОчередь85.СоздатьНаборЗаписей();
Если Набор.Количество() <> 0 Или Набор.Метаданные() <> МетаОчереди Тогда
ВызватьИсключение "Ожидался новый пустой набор собственной последовательности";
КонецЕсли;
Ссылки = Новый Массив;
Для Номер = 1 По 3 Цикл
Ссылки.Добавить(Документы.УчебнаяРегистрация85.ПолучитьСсылку(Новый УникальныйИдентификатор));
КонецЦикла;
ДобавитьСвоюЗапись(Набор, Дата(2026, 1, 1), Ссылки[0]);
ДобавитьСвоюЗапись(Набор, Дата(2026, 2, 1), Ссылки[1]);
ДобавитьСвоюЗапись(Набор, Дата(2026, 3, 1), Ссылки[2]);
Если Набор.Количество() <> 3 Тогда
ВызватьИсключение "Нужны ровно три свои строки";
КонецЕсли;
Для ИндексСтроки = 0 По 2 Цикл
Запись = Набор.Получить(ИндексСтроки);
Если Запись <> Набор[ИндексСтроки] Или Набор.Индекс(Запись) <> ИндексСтроки Тогда
ВызватьИсключение "Получить, квадратные скобки и Индекс не согласованы";
КонецЕсли;
ПроверитьСвоюЗапись(Запись, Дата(2026, ИндексСтроки + 1, 1), Ссылки[ИндексСтроки]);
КонецЦикла;
Если Не Набор.Модифицированность() Тогда
ВызватьИсключение "Свои записи были добавлены и заполнены";
КонецЕсли;
ДругойНабор = Последовательности.УчебнаяОчередь85.СоздатьНаборЗаписей();
ЧужаяЗапись = ДругойНабор.Добавить();
Если Набор.Индекс(ЧужаяЗапись) <> -1 Тогда
ВызватьИсключение "Строка второго собственного набора не должна находиться в первом";
КонецЕсли;
Набор.ДополнительныеСвойства.Вставить("Задача", "Проверка трёх плановых регистраций");
Если Не Набор.ДополнительныеСвойства.Свойство("Задача", ТекстЗадачи) Или ТекстЗадачи <> "Проверка трёх плановых регистраций" Тогда
ВызватьИсключение "Служебная задача экземпляра не сохранена в его структуре";
КонецЕсли;
Для ИндексСтроки = 0 По 2 Цикл
ПроверитьСвоюЗапись(Набор[ИндексСтроки], Дата(2026, ИндексСтроки + 1, 1), Ссылки[ИндексСтроки]);
КонецЦикла;
Сообщить(ТекстЗадачи + ": три строки проверены полностью, в базу не записывались");
КонецПроцедуры
Процедура ДобавитьСвоюЗапись(Набор, Период, Регистратор)
Если ТипЗнч(Период) <> Тип("Дата") Или ТипЗнч(Регистратор) <> Тип("ДокументСсылка.УчебнаяРегистрация85") Тогда
ВызватьИсключение "Переданы неверные собственные ключи строки";
КонецЕсли;
Запись = Набор.Добавить();
Запись.Период = Период;
Запись.Регистратор = Регистратор;
КонецПроцедуры
Процедура ПроверитьСвоюЗапись(Запись, Период, Регистратор)
Если ТипЗнч(Запись.Период) <> Тип("Дата") Или ТипЗнч(Запись.Регистратор) <> Тип("ДокументСсылка.УчебнаяРегистрация85") Тогда
ВызватьИсключение "Типы фактической собственной записи не совпали";
КонецЕсли;
Если Запись.Период <> Период Или Запись.Регистратор <> Регистратор Тогда
ВызватьИсключение "Период или регистратор собственной записи не совпал";
КонецЕсли;
КонецПроцедурыРазбор по шагам
Подготовить точный свой минимальный стенд; guard читает его метаданные и останавливает урок при несовпадении.
Создать пустой набор своим менеджером и сравнить Метаданные() с найденной собственной очередью.
Создать три плановые ссылки своего документа, затем Добавить три собственные записи: январь, февраль, март.
Для каждого индекса 0..2 сверить получение двумя способами, обратный Индекс, точный тип и оба значения записи.
Проверить модификацию после добавления. Вторая своя коллекция предоставляет непринадлежащую первой строку: её Индекс=-1.
В возвращённую структуру ДополнительныеСвойства вставить служебное название задачи, проверить чтение и повторно проверить все поля строк.
Как проверить результат
Ровно три строки: каждая дата и именно её плановая ссылка проверены, не только общий размер.
Индексы своих строк 0/1/2; непринадлежащей строки -1; Модифицированность после изменений Истина.
Служебная задача читается из структуры, а все три даты и регистратора неизменны. Документы в базу не записывались.
Ожидаемый результат
Получен самостоятельный черновик регистрации и понятное различие метаданных, строки, индекса и служебных свойств.
На что обратить внимание
Набор создаётся пустым: это не чтение существующих регистраций. Количество считает только строки своего экземпляра памяти, не документы базы.
Плановые ссылки принадлежат своему типу, но документы не записаны. Не читайте у них дату/номер и не объявляйте их существующими.
Для индексных методов нумерация с нуля. После удаления индексы оставшихся строк меняются; ссылка на строку и её текущий индекс — разные вещи.
Удалить и Очистить здесь удаляют лишь черновые строки памяти. Они не отменяют документ и не исправляют границу последовательности.
Readonly-свойство набора нельзя заменить новым значением. ДополнительныеСвойства допускает работу с содержимым возвращённой структуры, не присваивание новой структуры свойству.
Модифицированность не обнаруживает изменения других пользователей и не подтверждает сохранение. ЭтотОбъект относится к модулю набора; в общем модуле данного урока не применяется.
Python-тесты не исполняют платформу. Полный модуль надо отдельно скомпилировать и испытать в собственной подготовленной конфигурации; рабочие данные здесь не менялись.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.