// Загрузить из найденного файла
// Загрузить из найденного файла // *** Инфраструктура сообщений. ЧтениеСообщения = ПланыОбмена. СоздатьЧтениеСообщения(); // Читать заголовок сообщения обмена данными – файла 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|