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

// Получить выборку измененных данных




// Получить выборку измененных данных

// *** Механизм регистрации изменений.


Теперь осталось только перебрать выборку записей в цикле и сериа- лизовать их в открытый XML-файл (листинг 24. 15).

листинг 24. 15. Перебор выборки записей и сериализация их в открытый XML-файл

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

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

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

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

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

// Сформировать имя временного файла.

ИмяФайла = Каталог +? (Прав(Каталог, 1) = " \", " ", " \" ) + " Message" + СокрЛП(ПланыОбмена. Филиалы. ЭтотУзел(). Код) + " _" + СокрЛП(Ссылка. Код) + ". xml";

// Создать объект записи XML

// *** ЗаписьXML-документов. ЗаписьXML = Новый ЗаписьXML; ЗаписьXML. ОткрытьФайл(ИмяФайла); ЗаписьXML. ЗаписатьОбъявлениеXML();

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

ЗаписьСообщения = ПланыОбмена. СоздатьЗаписьСообщения(); ЗаписьСообщения. НачатьЗапись(ЗаписьXML, Ссылка); Сообщение = Новый СообщениеПользователю;

Сообщение. Текст = " Номер сообщения: " + ЗаписьСообщения. НомерСообщения; Сообщение. Сообщить();

// Получить выборку измененных данных

// *** Механизм регистрации изменений.

ВыборкаИзменений = ПланыОбмена. ВыбратьИзменения(ЗаписьСообщения.

Получатель, ЗаписьСообщения. НомерСообщения);

Пока ВыборкаИзменений. Следующий() Цикл

// Записать данные в сообщение *** XML-сериализация. ЗаписатьXML(ЗаписьXML, ВыборкаИзменений. Получить());

КонецЦикла;


На этом создание процедуры записи данных обмена закончено.

 

Процедура чтения данных

Порядок создания процедуры чтения данных обмена будет таким же, как и ранее: сначала мы сформируем имя файла, содержащего данные обмена (листинг 24. 16).

листинг 24. 16. Формирование имени файла,

содержащего данные обмена

 

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

Теперь добавим в процедуру команды чтения найденного файла с данными обмена (листинг 24. 17).


 

 

листинг 24. 17. Добавление чтения найденного файла с данными обмена

Процедура ПрочитатьСообщениеСИзменениями() Экспорт Каталог = КаталогВременныхФайлов();

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

ИмяФайла = Каталог +? (Прав(Каталог, 1) = " \", " ", " \" ) + " Message" + СокрЛП(Ссылка. Код) + " _" +

СокрЛП(ПланыОбмена. Филиалы. ЭтотУзел(). Код) + ". xml"; Файл = Новый Файл(ИмяФайла);

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

КонецЕсли;

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

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

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

Исключение

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

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

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

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

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

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

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

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

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

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

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

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

Именно в этот момент мы обращаемся к механизмам записи/чтения документов XML, которые работают с ними на базовом уровне.

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


Занятие 24



 

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

листинг 24. 18. Добавление чтения заголовка XML-сообщения

Процедура ПрочитатьСообщениеСИзменениями() Экспорт Каталог = КаталогВременныхФайлов();

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

ИмяФайла = Каталог +? (Прав(Каталог, 1) = " \", " ", " \" ) + " Message" + СокрЛП(Ссылка. Код) + " _" +

СокрЛП(ПланыОбмена. Филиалы. ЭтотУзел(). Код) + ". xml"; Файл = Новый Файл(ИмяФайла);

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

КонецЕсли;

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

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

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

Исключение

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

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

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

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

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

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

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

Поделиться:





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



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