Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Чтение из XML

Чтение из XML
Я
   ВежливаяТварь
 
24.01.13 - 18:35
Добрый день есть некий xml файл

Вот он

- <Root>
- <CatalogObject.Контрагенты>
 <Ref>f59345f4-6604-11e2-99ee-080039002fc6</Ref>
 <IsFolder>false</IsFolder>
 <DeletionMark>false</DeletionMark>
 <Parent>00000000-0000-0000-0000-000000000000</Parent>
 <Code>000000001</Code>
 <Description>Иванов</Description>
 </CatalogObject.Контрагенты>
- <CatalogObject.Склады>
 <Ref>f59345fa-6604-11e2-99ee-080039002fc6</Ref>
 <DeletionMark>false</DeletionMark>
 <Code>000000001</Code>
 <Description>Основной</Description>
 </CatalogObject.Склады>
- <CatalogObject.Номенклатура>
 <Ref>f59345f9-6604-11e2-99ee-080039002fc6</Ref>
 <IsFolder>false</IsFolder>
 <DeletionMark>false</DeletionMark>
 <Parent>00000000-0000-0000-0000-000000000000</Parent>
 <Code>000000003</Code>
 <Description>Блокнот</Description>
 </CatalogObject.Номенклатура>
- <DocumentObject.ПриходнаяНакладная>
 <Ref>f59345fb-6604-11e2-99ee-080039002fc6</Ref>
 <DeletionMark>false</DeletionMark>
 <Date>2013-01-24T11:09:01</Date>
 <Number>000000001</Number>
 <Posted>true</Posted>
 <Контрагент>f59345f4-6604-11e2-99ee-080039002fc6</Контрагент>
 <Склад>f59345fa-6604-11e2-99ee-080039002fc6</Склад>
- <Товары>
- <Row>
 <Номенклатура>f59345f9-6604-11e2-99ee-080039002fc6</Номенклатура>
 <Количество>2</Количество>
 <Цена>2</Цена>
 <Сумма>4</Сумма>
 </Row>
 </Товары>
 </DocumentObject.ПриходнаяНакладная>
- <CatalogObject.БанковскиеСчета>
 <Ref>bffe24ea-6606-11e2-99ee-080039002fc6</Ref>
 <DeletionMark>false</DeletionMark>
 <Code>000000001</Code>
 <Description>Основной банковский счет</Description>
 </CatalogObject.БанковскиеСчета>
- <DocumentObject.ПлатежноеПоручение>
 <Ref>05b76db9-6607-11e2-99ee-080039002fc6</Ref>
 <DeletionMark>false</DeletionMark>
 <Date>2013-01-24T11:18:33</Date>
 <Number>000000001</Number>
 <Posted>true</Posted>
 <Счет>bffe24ea-6606-11e2-99ee-080039002fc6</Счет>
 <ДокументРасчетов>f59345fb-6604-11e2-99ee-080039002fc6</ДокументРасчетов>
 </DocumentObject.ПлатежноеПоручение>
 </Root>


И есть код который его считывает так вот считывает он его почему то через элемент. Код:

ЧтениеXML=Новый ЧтениеXML();
   ЧтениеXML.ОткрытьФайл(ПутьКФайлу);
   
   Пока ЧтениеXML.Прочитать()  Цикл
       Если ВозможностьЧтенияXML(ЧтениеXML) Тогда
           ЗагружаемыйОбъект=ПрочитатьXML(ЧтениеXML);
           ТипЗначения=ТипЗнч(ЗагружаемыйОбъект);
           ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗначения);
           Если Метаданные.Справочники.Содержит(ОбъектМетаданных) Тогда
               Имя=Метаданные.НайтиПоТипу(ТипЗначения).Имя;
               СсылкаНаСправочник=Справочники[Имя].НайтиПоНаименованию(ЗагружаемыйОбъект.Наименование,Истина);
               Если НЕ ЗначениеЗаполнено(СсылкаНаСправочник) Тогда
                   ЗагружаемыйОбъект.Записать();    
               КонецЕсли;
           Иначе    
               ЗагружаемыйОбъект.Записать();    
           КонецЕсли;            
       КонецЕсли;
   КонецЦикла;
   
   ЧтениеXML.Закрыть();

Где я допустил ошибку?
 
 
   Wobland
 
1 - 24.01.13 - 18:37
сравни с моим, не хочу думать ;)
Процедура ЗагрузитьОбъектыНажатие(Элемент)
    
    Чтение = Новый ЧтениеXML;
    Чтение.ОткрытьФайл(ИмяфайлаЗагрузки);
    Чтение.Прочитать();
    Чтение.Прочитать();
    мСчетчик = 0;
    Пока Истина Цикл
        Попытка
            мОбъект = ПрочитатьXML(Чтение);
        Исключение
            Возврат;
        КонецПопытки;
        мОбъект.ОбменДанными.Загрузка = Истина;
        мОбъект.Записать();
        мСчетчик = мСчетчик + 1;
    КонецЦикла;
    Сообщить(Строка(мСчетчик));
    
КонецПроцедуры
   ВежливаяТварь
 
2 - 24.01.13 - 18:43
Спасибо очень помогло.
   rotting
 
3 - 24.01.13 - 18:46
(2) какая вежливая)))
   Конфигуратор1с
 
4 - 24.01.13 - 19:04
(1) а зачем два раза прочитать?
   Wobland
 
5 - 24.01.13 - 19:05
(4) не помню. там первый раз вроде как заголовок хмл или что-то в этом духе

Список тем форума
  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует