Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Дек 2017, 01:53
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Чтение Xml....  (Прочитано 6630 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Вася Новенький

  • **
  • Сообщений: 53
  • РЕПУТАЦИЯ: 8
  • КПД: 15%
  • Регистрация: 2011-06-30
  • Сайт: 
  • Профессия: Программист 1С
Добрый день...
вот такой файл xml мне дают...
<?xml version="1.0" encoding="UTF-8" ?>
- <Order>
  <NUM>88</NUM>
  <FIO>Иванов Иван</FIO>
  <Phone>+7 111 222 33-44</Phone>
  <Adress>Ленина 174 12-56</Adress>
  <ID>2e76e0fb-a604-11db-839f-000423be301c</ID>
  <Amount>5</Amount>
  <ID>5b59cd3f-b5d5-11db-839f-000423be301c</ID>
  <Amount>20</Amount>
  <ID>b0a06120-e620-11de-8013-000423be301c</ID>
  <Amount>6</Amount>
  </Order>

делаю:

ЧтениеXML = Новый ЧтениеXML();
             ЧтениеXML.ОткрытьФайл(ФайлЗагрузки);
            Пока ВозможностьЧтенияДанных(ЧтениеXML) Цикл
               Данные = ПрочитатьДанные(ЧтениеXML);
            КонецЦикла;   

Функция ПрочитатьДанные(ЧтениеXML)

ТипXML = ПолучитьXMLТип(ЧтениеXML);
   
   Если ТипXML.ИмяТипа = "Order"  Тогда
      Возврат СоздатьЗаказы(ЧтениеXML);
   КонецЕсли;
КонецФункции

Функция СоздатьЗаказы(ЧтениеXML)
Документ= Документы.ЗаказыПокупателей.СоздатьДокумент();
Пока ЧтениеXML.Прочитать() Цикл
      Если ЧтениеXML.Имя = "NUM" Тогда
         ЧтениеXML.Прочитать();
         НомерЗаказаИМ = ЧтениеXML.Значение;
Документ.НомерЗаказа = НомерЗаказаИМ;

ИначеЕсли ЧтениеXML.Имя = "FIO" Тогда
         ЧтениеXML.Прочитать();
         Документ.ФИОЗаказчика = ЧтениеXML.Значение;
      ИначеЕсли ЧтениеXML.Имя = "Phone" Тогда
         ЧтениеXML.Прочитать();
         Документ.ТелефонЗаказчика = ЧтениеXML.Значение;
      ИначеЕсли ЧтениеXML.Имя = "Adress" Тогда
         ЧтениеXML.Прочитать();
         Документ.АдресДоставки = ЧтениеXML.Значение;
      ИначеЕсли ЧтениеXML.Имя = "ID" Тогда
         НоваяСтрока = Документ.Товары.Добавить();
         ПолученнаяСсылка = ЧтениеXML.Значение;
         НоваяСтрока.Номенклатура = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(ПолученнаяСсылка));
         ЧтениеXML.Прочитать();
         НоваяСтрока.Количество = ЧтениеXML.Значение;
            ЧтениеXML.Прочитать();
      КонецЕсли;
ЧтениеXML.Прочитать();
ЧтениеXML.Прочитать();
ЧтениеXML.Прочитать();    

этот код работает и все подставляет в документ...Если ID только 1...
а если их много, тогда на 2 и последующем последнее ЧтениеXML.Прочитать();    проскакивает...и когда идет проверка
если имя = ID. Дальше прочитать
и в значение попадает уже пусто..так как Имя становится Amount....
подскажите пожалуйста...
обязательно ли тут проходить каждое значение через ЧтениеXML.Прочитать();
или можно как то по другому это сделать...??
в синтаксисе примеров особо не нашел....в инете примеры все с многими атрибутами...а у меня их нет....




Теги:
 

работа с файлами excel открытие файла xls, чтение данных и запись нового файла xls

Автор ktu78Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2796
Последний ответ 11 Фев 2016, 12:49
от Rasty
Справочник - как раздать права пользователям на чтение элементов

Автор LuunaРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1948
Последний ответ 12 Дек 2012, 13:31
от MuI_I_Ika
Чтение файла ексель и загрузка его в таблицу значений

Автор Igor100500Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 1581
Последний ответ 07 Окт 2016, 12:06
от Igor100500
Чтение XML в дерево значений. Проблема с прочтением.

Автор delo_irisРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 9
Просмотров: 8199
Последний ответ 14 Авг 2011, 10:31
от delo_iris
Чтение из xml и запись информации в справочники и документы

Автор Ученик_2014Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3151
Последний ответ 10 Фев 2014, 07:13
от sdilshod

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
178 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 195
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal