Вход | Регистрация

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 человек.
Рекламное место пустует