1С-Предприятие 8.0. Практическое пособие разработчика



              

Программный обмен в распределенной информационной базе - часть 5


   Сообщить("ПриПолученииДанныхОтГлавного "+ЭлементДанных);

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

Процедура ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад)

   Сообщить("ПриПолученииДанныхОтПодчиненного "+ЭлементДанных);

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

В первом параметре всех перечисленных событий находится тот элемент данных, для которого вызвано это событие. [438]

Параметр "ОтправкаЭлемента" позволяет управлять тем, какая информация будет помещена в сообщение. Он может принимать три значения:

·ОтправкаЭлементаДанных.Авто – значение по умолчанию – указывает на то, что элемент данных будет помещен в сообщение,
·ОтправкаЭлементаДанных.Удалить – в сообщение будет помещено значение, предназначенное для удаления этого элемента данных,
·ОтправкаЭлементаДанных.Игнорировать – в сообщение не будет помещено ничего, связанного с этим элементом данных.

Параметр "ПолучениеЭемента" позволяет указать, будет ли прочитанный элемент данных записан в базу данных, или нет. Параметр также может принимать три значения:

·ПолучениеЭлементаДанных.Авто – значение по умолчанию. Если элемент данных получен от главного узла – он будет записан всегда. Если элемент данных получен от подчиненного узла, он будет записан только в случае, если не зарегистрированы изменения для этого элемента данных,
·ПолучениеЭлементаДанных.Принять – полученный элемент данных будет записан всегда,
·ПолучениеЭлементаДанных.Игнорировать – проигнорировать получение элемента данных и ничего не записывать.

Также в событиях получения данных существует третий параметр – "ОтправкаНазад", имеющий тип Булево. Этот параметр позволяет выполнять принудительную регистрацию изменений для полученного элемента данных в базе-получателе. Такая необходимость может возникнуть, например, в случае, когда при приеме данных от узла-отправителя обнаружено, что полученные данные противоречивы (например, в узле-отправителе была допущена ошибка при изменении Данных). Тогда мы можем проигнорировать присланные изменения и, подняв флаг "ОтправкаНазад", вызвать принудительную регистрацию изменений полученного элемента данных в нашей базе для узла-отправителя. В результате последующего обмена состояние этого [439] элемента данных в узле-отправителе будет установлено таким же, как и в нашей базе.




Содержание  Назад  Вперед