Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

// Загрузить из найденного файла




// Загрузить из найденного файла

// *** Инфраструктура сообщений.

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

// Читать заголовок сообщения обмена данными – файла XML. ЧтениеСообщения. НачатьЧтение(ЧтениеXML);

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

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


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

Теперь, когда мы представили данные обмена в виде сообщения и получили его заголовок, можно произвести одну проверку, перед тем как начать собственно обрабатывать данные (листинг 24. 19).

листинг 24. 19. Добавление проверки сообщения

 


Занятие 24



 

Сообщение. Сообщить();

Сообщение = Новый СообщениеПользователю; Сообщение. Текст = " – Считывается файл " + ИмяФайла; Сообщение. Сообщить();

// Загрузить из найденного файла

// *** Инфраструктура сообщений.

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

// Читать заголовок сообщения обмена данными – файла XML. ЧтениеСообщения. НачатьЧтение(ЧтениеXML);

// Сообщение предназначено не для этого узла.

Если ЧтениеСообщения. Отправитель < > Ссылка Тогда ВызватьИсключение " Неверный узел";

КонецЕсли;

ЧтениеСообщения. ЗакончитьЧтение(); ЧтениеXML. Закрыть(); УдалитьФайлы(ИмяФайла);

Сообщение = Новый СообщениеПользователю; Сообщение. Текст = " -------- Конец загрузки ";

Сообщение. Сообщить();

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

Мы проверяем, является ли отправитель сообщения тем узлом, для которого мы в данном вызове этой процедуры производим обмен данными.

Если все в порядке, то перед тем как начать чтение данных, следует удалить все записи регистрации изменений, которые были сделаны для этого узла и соответствовали номерам сообщений меньше или равным указанному в обрабатываемом нами сообщении как номер принятого. Это делается затем, чтобы исключить дублирование данных, которые уже были ранее посланы этому узлу и им обрабо- таны (листинг 24. 20).

 

листинг 24. 20. Удаление записей регистрации изменений для узла отправителя



1С: Предприятие 8. 3. Практическое пособие разработчика


Файл = Новый Файл(ИмяФайла); Если Не Файл. Существует() Тогда

Возврат; КонецЕсли;

// *** Чтение документов XML

// Попытаться открыть файл. ЧтениеXML = Новый ЧтениеXML; Попытка

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

Исключение

Сообщение = Новый СообщениеПользователю;

Сообщение. Текст = " Невозможно открыть файл обмена данными. "; Сообщение. Сообщить();

Возврат; КонецПопытки;

Сообщение = Новый СообщениеПользователю;

Сообщение. Текст = " -------- Загрузка из " + Строка(ЭтотОбъект) + " --------- ";

Сообщение. Сообщить();

Сообщение = Новый СообщениеПользователю; Сообщение. Текст = " – Считывается файл " + ИмяФайла; Сообщение. Сообщить();

// Загрузить из найденного файла

// *** Инфраструктура сообщений.

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

// Читать заголовок сообщения обмена данными – файла XML. ЧтениеСообщения. НачатьЧтение(ЧтениеXML);

// Сообщение предназначено не для этого узла.

Если ЧтениеСообщения. Отправитель < > Ссылка Тогда ВызватьИсключение " Неверный узел";

КонецЕсли;

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...