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



              

Создание процедуры чтения данных - часть 10


       // Читаем очередное значение

       Данные = ПрочитатьXML(ЧтениеXML);

       // Не переносим изменение полученное в главный из неглавного

       // если есть регистрация изменения

       Если Не ЧтениеСообщения.Отправитель.Главный И

           ПланыОбмена.ИзменениеЗарегистрировано(ЧтениеСообщения.Отправитель, Данные) Тогда

           Сообщить("- Изменения отклонены");

           Продолжить;

       КонецЕсли;

   КонецЦикла;

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

   ЧтениеXML.Закрыть();

   УдалитьФайлы(ИмяФайла);

   Сообщить("------------ Конец загрузки ------------");

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

Возможная коллизия разрешается следующим образом: мы проверяем, является ли узел-отправитель главным узлом и есть ли записи об изменении этого объекта для этого узла в нашей базе [419] данных. В случае если объект изменялся в нашей базе и отправитель не является главным узлом, мы отклоняем запись полученного объекта. Во всех остальных случаях мы принимаем изменения полученного объекта.

Теперь единственное, что нам осталось сделать – записать полученные данные:

Процедура ПрочитатьСообщениеСИзменениями() Экспорт

   Каталог = КаталогВременныхФайлов();

   // Сформировать имя файла

   ИмяФайла = Каталог + ?(Прав(Каталог, 1) = "\","", "\") + "Message" +

       СокрЛП(Ссылка.Код) + "_" + СокрЛП(ПланыОбмена.Филиалы.ЭтотУзел().Код) + ".xml";

   Файл = Новый Файл(ИмяФайла);

   Если Не Файл.Существует() Тогда




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