Имя: Пароль:
1C
1С v8
ВозможностьЧтенияXML не отрабатывает так, как нужно
,
0 ВагонНеЗнаний
 
05.01.14
19:16
Привет одинэсникам! Ковыряю методы выгрузки-загрузки составных данных в 1с 8.2 с использованием XML. В тестовой базе выгрузил документ поступления через метод ЗаписатьXML. В этой же самой базе делаю чтение файла и проверяю возможность загрузки считанных данных в объект, для этого использую метод ВозможностьЧтенияXML. При любом чтении метод возвращает ложь, хотя у меня при чтении имя "DocumentObject.ПоступлениеТоваров" и тип узла выставлено Начало элемента. Почему такое может быть, весь мозг сломал?
1 Apokalipsec
 
05.01.14
19:43
Покажи код чтения.
2 Apokalipsec
 
05.01.14
19:45
+ у тебя в базе Док поступлениеТоваров или ПоступлениеТоваровУслуг?
Попробуй ПолучитьТип сначала, что он вернет.
3 ВагонНеЗнаний
 
05.01.14
19:58
(1)  Код чтения:
ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.ОткрытьФайл("c:\Temp\doc2.xml");

    ЧтениеXML.Прочитать();          // чтение узла ROOT
    
    Выполнять = Истина;
    Пока Выполнять Цикл
        
        Если ВозможностьЧтенияXML(ЧтениеXML) Тогда
            Объект = ПрочитатьXML(ЧтениеXML);
            Если ТипЗнч(Объект) = Тип("ДокументОбъект.ПоступлениеТоваров") Тогда
                Объект.Записать();
            КонецЕсли;
        Иначе
            Выполнять = ЧтениеXML.Прочитать();
        КонецЕсли;
        
    КонецЦикла;
    
    ЧтениеXML.Закрыть();
(2) ПоступлениеТоваров
4 Apokalipsec
 
05.01.14
20:14
ПолучитьXMLТип(ЧтениеXML) - посмотри что возвращает.
5 ВагонНеЗнаний
 
05.01.14
20:33
(4) Когда спозиционирован на узле <DocumentObject.ПоступлениеТоваров>, ПолучитьXMLТип(ЧтениеXML) возвращает:
URIПространстваИмен    ""    Строка
ИмяТипа    "DocumentObject.ПоступлениеТоваров"    тип Строка

Возможно, ошибка в том, что платформа не может понять, какой тип узла...
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.