|
Один и тот же код отрабатывает по разному на 8.1 и 8.2 | ☑ | ||
---|---|---|---|---|
0
sinisterfrag
07.12.12
✎
12:20
|
Проблема такая по разному отрабатывает код на 8.1 и 8.2, думаю проблема в ЧтениеXML, он считывает по разному один и тот же XML файлик.
Собсвенно вот код он типовой для загрузки валюты УПП Попытка Чтение = Новый ЧтениеXML; Чтение.ОткрытьФайл(ИмяВходящегоФайла); КурсыВалютДляОбновления.Очистить(); Пока Чтение.Прочитать() Цикл // Прочитать "структурные части" элементов. // Проверить, какая часть элемента - текущая. Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда ИмяУзла = Чтение.Имя; // Атрибуты элементов можно читать только если текущая часть - // начало элемента Пока Чтение.ПрочитатьАтрибут() Цикл // Прочитать данные узла атрибута. ТипУзла = Чтение.ТипУзла; Имя = Чтение.Имя; Значение = Чтение.Значение; // Обработать полученные значения. КонецЦикла; ИначеЕсли ИмяУзла = "title" И Чтение.ТипУзла = ТипУзлаXML.Текст И Чтение.КонтекстПространствИмен.Глубина = 3 Тогда Загрузить = Ложь; Для каждого СтрокаСпВалют из ТаблицаЗначенийКурсов Цикл Если СтрокаСпВалют.Валюта.БуквенныйКод = Чтение.Значение Тогда ВалютаСправочник = СтрокаСпВалют.Валюта; Загрузить = СтрокаСпВалют.Загружать; КонецЕсли; КонецЦикла; Если НЕ Загрузить Тогда Продолжить; КонецЕсли; КурсыВалют = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи(); КурсыВалют.Валюта = ВалютаСправочник; КурсыВалют.Период = ДатаПериодаЗагрузкиКурса; ИначеЕсли ИмяУзла = "description" И Чтение.ТипУзла = ТипУзлаXML.Текст И Чтение.КонтекстПространствИмен.Глубина = 3 Тогда Если НЕ Загрузить Тогда Продолжить; КонецЕсли; КурсыВалют.Курс = Чтение.Значение; ИначеЕсли ИмяУзла = "quant" И Чтение.ТипУзла = ТипУзлаXML.Текст И Чтение.КонтекстПространствИмен.Глубина = 3 Тогда Если НЕ Загрузить Тогда Продолжить; КонецЕсли; КурсыВалют.Кратность = Чтение.Значение; КурсыВалют.Записать(); Сообщить("Курс для валюты "+КурсыВалют.Валюта.БуквенныйКод+" загружен!",СтатусСообщения.Обычное); КонецЕсли; КонецЦикла; Чтение.Закрыть(); УдалитьФайлы(ВремКаталог,"*.*"); Исключение Сообщить("Не возможно прочитать файл с курсами валют."); Возврат; КонецПопытки; Кусок XML (использовал для отладки) -<item> <fullname>АВСТРАЛИЙСКИЙ ДОЛЛАР</fullname> <title>AUD</title> <description>157.37</description> <quant>1</quant> </item> При позиционировании на начале элемента, глубина = 3 (т.е. одинакова), 8.1 Чтение.ТипУзла = Начало Элемента Чтение.Имя = "title" Чтение.Значение="" Чтение.КонтекстПространствИмен.Глубина = 3 8.2 Чтение.ТипУзла = Начало Элемента Чтение.Имя = "title" Чтение.Значение="" Чтение.КонтекстПространствИмен.Глубина = 3 НО стоит переместить к Типу узлу текст как выходит такая фигня 8.1 Чтение.ТипУзла = Текст Чтение.Имя = "" Чтение.Значение="USD" Чтение.КонтекстПространствИмен.Глубина = 3 8.2 Чтение.ТипУзла = Текст Чтение.Имя = "#text" Чтение.Значение="USD" Чтение.КонтекстПространствИмен.Глубина = 4 |
|||
1
sinisterfrag
07.12.12
✎
12:22
|
Т.е. Чтение.КонтекстПространствИмен.Глубина по разному отрабатывает в зависимости от платформы 8.1 или 8.2, хотя повторяюсь использовал один и тот же XML файл
|
|||
2
sinisterfrag
07.12.12
✎
13:09
|
UP
|
|||
3
sinisterfrag
07.12.12
✎
13:09
|
Народ HELP
|
|||
4
sinisterfrag
07.12.12
✎
13:10
|
валюты не грузятся бухгалтер в бешенстве, требует кровь
|
|||
5
Нуф-Нуф
07.12.12
✎
13:16
|
продолжайте наблюдения
|
|||
6
shuhard
07.12.12
✎
13:20
|
(4)на смену тебя придут новые бойцы
|
|||
7
hhhh
07.12.12
✎
13:41
|
(3) а чего хелп? ну подправь, чтобы работало. Понятно, что 8.1 и 8.2 различаются. Это мы знаем.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |