Автоматическая регистрация изменений в 1С

Категория: Учебники по 1С » Технологии интеграции 1С Предприятия 8.2

В приведенном ниже примере обработчик ПередЗаписью исключает из списка получателей узел с кодом Оптовый плана обмена УдаленныеСклады (листинг 2.1).

Листинг 2.1. Пример обработчика события <ПередЗаписью>

Узел = ПланыОбмена.УдаленныеСклады.НайтиПоКоду( Оптовый);

Объект.ОбменДанными.Получатели.Удалить(Узел);

КонецПроцедуры

Следует вспомнить, что значение свойства ОбменДанными не хранится в информационной базе. Можно сказать, что данное свойство заполняется некими значениями по умолчанию при создании объекта (в оперативной памяти). Одним из таких свойств, которое в дальнейшем определяет порядок регистрации изменений, является свойство Автозаполнение. То есть, несмотря на тот факт, что при настройке состава регистрации изменений авторегистрация для объекта была включена, при создании объекта (при создании, получении из кода, при открытии формы объекта) это свойство можно переопределить.

 

Пример реализации приведен в листинге:

Объект.ОбменДанными.Попучатели.Автозаполнение =Ложь;

Объект.ОбменДанными.ПолучателиДобавитьУзел();

Объект.Записать();

В этом случае автозаполнение отключается, и состав коллекции получателей можно определять в любом возможном месте (участке кода, отвечающего за работу с объектом). Но чтобы конфигурация была логически понятна и легко читаема, лучше это делать все в тех же обработчиках событий ПередЗаписью и/или ПередУдалением.

 

Также следует напомнить, что в конфигурации может быть определено несколько планов обмена. В одном из них для объекта может быть включена автоматическая регистрация изменений, в другом она может быть отключена.

 

Рассмотрим пример. План обмена УдаленныеОфисы (автоматическая регистрация изменений для документа РасходнаяНакладная включена), состав непредопределенных узлов:

•Центральный склад,

•Офис на «Рублевке».

План обмена УдаленныеСклады (автоматическая регистрация изменений для документа РасходнаяНакладная отключена), состав непредопределенных узлов:

•Розничный склад,

•Оптовый склад.

Подобная настройка планов обмена может быть выполнена исходя из соображений, что документ РасходнаяНакладная должен присутствовать во всех офисах компании и при этом должен быть выгружен только на «свой» склад.

 

При создании документа РасходнаяНакладная (изменении существующего) в таблице регистрации изменений данного документа появятся две записи, для узлов:

•УдаленныеОфисы - Центральный склад;

•УдаленныеОфисы - Офис на «Рублевке».

Следует оговориться, что такое поведение системы наблюдается только в том случае, если не предпринимается никаких шагов по принудительной регистрации изменений. Кстати, свойство Автозаполнение в коллекции Получатели в данном примере установлено в значение Истина .

dle

Помоги проекту! Расскажи друзьям о сайте: