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



              

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


Узнай больше!

Следует отметить, что метод ЗаписатьИзменения() позволяет задать максимальное число элементов данных, которые помещаются в сообщение в рамках одной транзакции базы данных. По умолчанию все данные помещаются в сообщение в рамках одной транзакции. Такой режим является рекомендуемым, так как гарантирует согласованность данных, помещаемых в сообщение.

Но при создании сообщения в многопользовательском режиме могут быть конфликты блокировок между транзакцией, в которой данные помещаются в сообщение, и транзакциями, выполняемыми другими пользователями. Для снижения вероятности возникновения таких конфликтов можно задать значение этого параметра, отличное от значения по умолчанию. Чем меньше значение параметра, тем меньше вероятность конфликта блокировок, но выше вероятность помещения в сообщение несогласованных данных.

Учитывая все вышесказанное, идеальным вариантом является выполнение обмена данными в монопольном режиме. Однако такой вариант не всегда приемлем, в силу специфики организации работы конкретных информационных баз. [436]

И последним мы создадим обработчик нажатия кнопки "Прочитать изменения":

Процедура КнопкаПрочитатьИзмененияНажатие(Элемент)

   Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);

   Диалог.Заголовок = "Укажите файл обмена:";

   Если Диалог.Выбрать() Тогда

       // Создать и проинициализаровать объект ЧтениеХМL

       ЧтениеXML = Новый ЧтениеXML;

       ЧтениеXML.ОткрытьФайл(Диалог.ПолноеИмяФайла);

       // Создать объект ЧтениеСообшенияОбмена и начать чтение сообщения

       ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();

       ЧтениеСообщения.НачатьЧтение(ЧтениеXML);

       // Прочитать содержимое тела сообщения




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