Найти в Дзене

Планы обмена - Авторегистрация

У объекта есть свойство ОбменДанными, в нем есть коллекция получателей (узлы, для которых будет регистрироваться изменение). У коллекции получателей есть свойство АвтоЗаполнение. Авторегистрация - это значение по умолчанию, которое будет подставляться в свойство Автозаполнение. Перед записью или перед удалением объекта система смотрит флажок Автозаполнение, если флажок взведен, то система очищает всю коллекцию получателей и заполняется всеми не предопределенными узлами. Если флажок снят система ничего не делает. Чтобы управлять получателями можно программно управлять свойством автозаполнение и добавлять только необходимые узлы-получатели. Либо при включенном флажке корректировать коллекцию получателей в обработчиках перед записью и перед удалением. Получатели.Добавить() приоритетнее при создании, изменении объекта. ЗарегистрироватьИзменения() выдасть ошибку, если объект еще не записан в базу данных. Приоритет использования: в обработках, когда нужно зарегистрировать объекты, которые уж
Оглавление

Свойство Авторегистрация

  • Разрешить - будет авторегистрация для всех не предопределенных узлов;
  • Запретить - авторегистрации не будет, только программным способом.

У объекта есть свойство ОбменДанными, в нем есть коллекция получателей (узлы, для которых будет регистрироваться изменение). У коллекции получателей есть свойство АвтоЗаполнение. Авторегистрация - это значение по умолчанию, которое будет подставляться в свойство Автозаполнение. Перед записью или перед удалением объекта система смотрит флажок Автозаполнение, если флажок взведен, то система очищает всю коллекцию получателей и заполняется всеми не предопределенными узлами. Если флажок снят система ничего не делает. Чтобы управлять получателями можно программно управлять свойством автозаполнение и добавлять только необходимые узлы-получатели. Либо при включенном флажке корректировать коллекцию получателей в обработчиках перед записью и перед удалением.

Планы обмена свойство Авторегистрация
Планы обмена свойство Авторегистрация
Планы обмена как заполнить учитывая Автозаполнение
Планы обмена как заполнить учитывая Автозаполнение

ЗарегистрироватьИзменения() или Получатели.Добавить() ?

Получатели.Добавить() приоритетнее при создании, изменении объекта.

ЗарегистрироватьИзменения() выдасть ошибку, если объект еще не записан в базу данных. Приоритет использования: в обработках, когда нужно зарегистрировать объекты, которые уже есть в базе и которые не нужно изменять.

Дополнительно

  • В типовых Авторегистрация = Запретить. Позволяет избежать излишних блокировок (таблица изменений для объекта метаданных одна. При записи объектов одного типа позволяет избежать излишнего ожидания на запись в эту таблицу).

Содержание