исходный иксмл
<?xml version="1.0" encoding="windows-1251"?>
<valuta>
<dollar>
<spros>4.864</spros>
<predlozenie>5.027</predlozenie>
<nbu>505.000</nbu>
</dollar>
<euro>
<spros>7.628</spros>
<predlozenie>7.944</predlozenie>
<nbu>784.063</nbu>
</euro>
<date>2008040628</date>
</valuta>
нужно написать обработчик 1С чтобы просто выводила результаты
вот я уже вроде написал но работать не хочет
//Получить название Файла
ТекДата = ТекущаяДата();
ТекГод = Год(ТекДата);
ТекМесяц = Месяц(ТекДата);
ТекДень = День(ТекДата);
НазвФайла = ТекГод + ТекМесяц + ТекДень;
СтрАдрБазы = СтрокаСоединенияИнформационнойБазы();
АдресБазы = СтрЗаменить(АдресБазы, "File=", "");
АДРЕСФАЙЛА = АдресБазы + "\" + НазвФайла;
ДолларСпрос="";
ДолларПредложение="";
ДолларНБУ="";
ЕвроСпрос="";
ЕвроПредложение="";
ЕвроНБУ="";
Дата="";
ВозможнаяОшибкаЧтения="";
Файл = Новый ЧтениеXML;
Файл.ОткрытьФайл(АДРЕСФАЙЛА);
//Прочитать фрагменты элемента
Пока Файл.Прочитать() Цикл
если не пустаястрока(Файл.ЛокальноеИмя) тогда
Имя_=сокрЛП(Файл.ЛокальноеИмя)
конецесли;
//проверить тип узла
Если Имя_ ="dollar" и Файл.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
//Прочитать значения
Если Имя_ ="spros" и сокрЛП(строка(Файл.ТипУзла))="Текст" Тогда
ДолларСпрос=Файл.Значение;
конецесли;
Если Имя_ ="predlozenie" и сокрЛП(строка(Файл.ТипУзла))="Текст" Тогда
ДолларПредложение=Файл.Значение;
конецесли;
Если Имя_ ="nbu" и сокрЛП(строка(Файл.ТипУзла))="Текст" Тогда
ДолларНБУ=Файл.Значение;
КонецЕсли;
КонецЕсли;
Если Имя_ ="euro" и Файл.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
//Прочитать значения
Если Имя_ ="spros" и сокрЛП(строка(Файл.ТипУзла))="Текст" Тогда
ДолларСпрос=Файл.Значение;
конецесли;
Если Имя_ ="predlozenie" и сокрЛП(строка(Файл.ТипУзла))="Текст" Тогда
ДолларПредложение=Файл.Значение;
конецесли;
Если Имя_ ="nbu" и сокрЛП(строка(Файл.ТипУзла))="Текст" Тогда
ДолларНБУ=Файл.Значение;
КонецЕсли;
КонецЕсли;
//Если уже прочитаны данные курсов евро и доллара
Если Имя_ ="euro" и Файл.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
//Прочитать Дату
Если Имя_ ="date" и сокрЛП(строка(Файл.ТипУзла))="Текст" Тогда
Дата=Файл.Значение;
КонецЕсли;
//Если ошибка присвоить соотв знач соотв переменной
Если Имя_ ="error" и сокрЛП(строка(Файл.ТипУзла))="Текст" Тогда
ВозможнаяОшибкаЧтения="Ошибка!!! Не удалось прочитать данные";
КонецЕсли;
КонецЕсли;
КонецЦикла;
//Закончить работу с файлом
Файл.Закрыть();
//Теперь непосредственно вывести значения
//Проверить на ошибки
Если ВозможнаяОшибкаЧтения="" Тогда
Сообщить("Доллар");
Сообщить("Спрос" + ДолларСпрос);
Сообщить("Предложение" + ДолларПредложение);
Сообщить("НБУ" + ДолларНБУ);
Сообщить("Евро");
Сообщить("Спрос" + ЕвроСпрос);
Сообщить("Предложение" + ЕвроПредложение);
Сообщить("НБУ" + ЕвроНБУ);
Сообщить("Дата" + Дата);
Иначе
Сообщить("Произошла ошибка при чтении данных!!!");
КонецЕсли;
Социальные закладки