Имя: Пароль:
1C
1С v8
странности XML в 8.3
0 vde69
 
модератор
22.08.13
10:22
перевожу кусок конвертации данных на 8.3, чтение XML выполняю в менеджере справочника.

код не изменял!!!


Функция ВыполнитьЗагрузку(ИмяФайлаЗагрузки, ПараметрыЗагрузки)
...
...
...
    // Загрузка свойств и значений
    ЧтениеXML.ОткрытьФайл(ИмяФайлаЗагрузки);
    
    ЧтениеXML.Прочитать();
    ЧтениеXML.Прочитать(); //!!!!!!!
    
    Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл
        
        ТипXML = ПолучитьXMLТип(ЧтениеXML);
        Если ТипXML.ИмяТипа = "CatalogObject.Свойства" Тогда


Если идти отладчиком, то файл читается правильно, если без отладчика то вторая строка чтения не выполняется, файл не правильно позиционируется и далее происходит ошибка...
собственно с переменная ТипXML содержит разные значения если идти пошагово или просто до точки остановки.

хм, кто сталкивался с подобным и куда копать?

зы база файловая, версия платформы 8.3.3.658
1 vde69
 
модератор
22.08.13
10:56
ап
2 Serginio1
 
22.08.13
11:05
А если добавить после
ЧтениеXML.ОткрытьФайл(ИмяФайла);

ЧтениеXML.ПерейтиКСодержимому();
3 vde69
 
модератор
22.08.13
11:15
(2) не помогает
4 Лефмихалыч
 
модератор
22.08.13
11:22
кэш продуй
5 Sol78
 
22.08.13
11:29
может для начала стоит попробовать более свежую версию? 715-ю уже вышла
6 vde69
 
модератор
22.08.13
11:29
(4) кеш не причем

код
    ЧтениеXML.ОткрытьФайл(ИмяФайлаЗагрузки);
    
    ЧтениеXML.Прочитать();
    ЧтениеXML.Прочитать();
    Сообщить(ПолучитьXMLТип(ЧтениеXML).ИмяТипа);
    

при пошаговой трассироки выдает
"Ref"

а без трасировки
"CatalogObject.Конфигурации"
7 Serginio1
 
22.08.13
11:47
А зачем так сложно проще
Сообщить(ЧтениеXML.Имя);
8 vde69
 
модератор
22.08.13
13:22
ПолучитьXMLТип(ЧтениеXML).ИмяТипа

как-то влияет на позиционирование файла
9 Serginio1
 
22.08.13
13:29
(8) Ну тип можно и по другому получить
ФабрикаXDTO.Тип(ЧтениеXML.URIПространстваИмен,ЧтениеXML.Имя)
10 vde69
 
модератор
23.08.13
11:58
получил ответ от 1с, оказывается это фича :)

----------------------------------------------------------
Цитата из описания метода ПолучитьXMLТип() синтакс-помощника:
"При получении типа данных XML может быть произведена операция чтения из объекта ЧтениеXML. "
Значения в Табло вычисляются непосредственно в контексте выполнения отлаживамой программы - поведение кажется ожидаемым и ошибочным не является.

----------------------------------------------------------