|
Помогите с чтением xml | ☑ | ||
---|---|---|---|---|
0
katerinaUniv
19.09.16
✎
08:41
|
Ошибка extra content at the end of document
файл выглядит так: <?xml version="1.0" encoding="UTF-8"?> <Корень> <Документ> <Строка Номенклатура="Лазерная эпиляция тотальное бикини" Количество="1" КоличествоУпаковок="1" Цена="6 000" Сумма="6 000" СтавкаНДС="Без НДС" СуммаНДС="0" Всего="6 000"/> <Строка Номенклатура="Спа-программа "Зеленый чай"" Количество="1" КоличествоУпаковок="1" Цена="2 700" Сумма="2 700" СтавкаНДС="Без НДС" СуммаНДС="0" Всего="2 700"/> <Строка Номенклатура="Пилинг желтый ММ" Количество="1" КоличествоУпаковок="1" Цена="5 000" Сумма="5 000" СтавкаНДС="Без НДС" СуммаНДС="0" Всего="5 000"/> <Строка Номенклатура="Антицеллюлитный массаж 1 зона" Количество="1" КоличествоУпаковок="1" Цена="750" Сумма="750" СтавкаНДС="Без НДС" СуммаНДС="0" Всего="750"/> <Строка Номенклатура="Антицеллюлитный массаж 1 зона" Количество="1" КоличествоУпаковок="1" Цена="750" Сумма="750" СтавкаНДС="Без НДС" СуммаНДС="0" Всего="750"/> <Строка Номенклатура="Антицеллюлитный массаж 1 зона" Количество="1" КоличествоУпаковок="1" Цена="750" Сумма="750" СтавкаНДС="Без НДС" СуммаНДС="0" Всего="750"/> <Строка Номенклатура="Лазерная эпиляция ноги комплекс" Количество="1" КоличествоУпаковок="1" Цена="9 400" Сумма="9 400" СтавкаНДС="Без НДС" СуммаНДС="0" Всего="9 400"/> <Строка Номенклатура="Препаратная чистка" Количество="1" КоличествоУпаковок="1" Цена="2 300" Сумма="2 300" СтавкаНДС="Без НДС" СуммаНДС="0" Всего="2 300"/> <Строка Номенклатура="Препаратная чистка" Количество="1" КоличествоУпаковок="1" Цена="2 300" Сумма="2 300" СтавкаНДС="Без НДС" СуммаНДС="0" Всего="2 300"/> </Документ> |
|||
1
katerinaUniv
19.09.16
✎
08:42
|
код по загрузке так:
|
|||
2
katerinaUniv
19.09.16
✎
08:42
|
док = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
док.Организация = объект.Организация; док.Дата = объект.ДатаКон; док.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Услуги; док.ТипЦен = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("цена продажи"); док.ВалютаДокумента = Справочники.Валюты.НайтиПоНаименованию("руб"); док.КурсВзаиморасчетов = 1; док.КратностьВзаиморасчетов = 1; док.СуммаВключаетНДС = Ложь; док.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01"); док.СчетУчетаРасчетовПоАвансам = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.02"); док.ПодразделениеОрганизации = объект.Подразделение; док.Склад = объект.Склад; док.Записать(); XML = Новый ЧтениеXML; XML.ОткрытьФайл(объект.ПутьКФайлу + "\real.xml"); Пока XML.Прочитать() Цикл Если XML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда Сообщить("<" + XML.Имя + ">"); Если XML.Имя = "Строка" Тогда Номенклатура = ""; Количество = ""; КоличествоУпаковок = ""; Цена = ""; Сумма = ""; СтавкаНДС = ""; СуммаНДС = ""; Всего = ""; Пока XML.ПрочитатьАтрибут() Цикл Сообщить(XML.Имя + " = " + XML.Значение); Если XML.Имя = "Номенклатура" Тогда Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(Строка(XML.Значение))); КонецЕсли; Если XML.Имя = "Количество" Тогда Количество = Число(XML.Значение); КонецЕсли; Если XML.Имя = "КоличествоУпаковок" Тогда КоличествоУпаковок = Число(XML.Значение); КонецЕсли; Если XML.Имя = "Цена" Тогда Цена = Число(XML.Значение); КонецЕсли; Если XML.Имя = "Сумма" Тогда Сумма = Число(XML.Значение); КонецЕсли; Если XML.Имя = "СтавкаНДС" Тогда ставкаНДСстр = СокрЛП(Строка(XML.Значение)); Если СтавкаНДСстр = "18/118" ИЛИ СтавкаНДСстр = "18" Тогда ставкаНДС = Перечисления.СтавкиНДС.НДС18; ИначеЕсли СтавкаНДСстр = "10/110" ИЛИ СтавкаНДССтр = "10" Тогда ставкаНДС = Перечисления.СтавкиНДС.НДС10; ИначеЕсли СтавкаНДССтр = "Без НДС" Тогда ставкаНДС = Перечисления.СтавкиНДС.БезНДС; Иначе ставкаНДС = Перечисления.СтавкиНДС.НДС0; КонецЕсли; КонецЕсли; Если XML.Имя = "СуммаНДС" Тогда СуммаНДС = Число(XML.Значение); КонецЕсли; Если XML.Имя = "Всего" Тогда Всего = Число(XML.Значение); КонецЕсли; КонецЦикла; //пишем новую строку реализации нСтрока = док.Услуги.Добавить(); нСтрока.Номенклатура = номенклатура; нСтрока.Количество = Количество; нСтрока.Цена = цена; нСтрока.Сумма = Сумма; Если ставкаНДС = Перечисления.СтавкиНДС.БезНДС Или ставкаНДС = Перечисления.СтавкиНДС.НДС0 Тогда нСтрока.СуммаНДС = 0; ИначеЕсли ставкаНДС = Перечисления.СтавкиНДС.НДС18 Или ставкаНДС = Перечисления.СтавкиНДС.НДС18_118 Тогда нСтрока.СуммаНДС = Окр(нСтрока.Сумма * 0.18,2); ИначеЕсли ставкаНДС = Перечисления.СтавкиНДС.НДС10 Или ставкаНДС = Перечисления.СтавкиНДС.НДС10_110 Тогда нСтрока.СуммаНДС = Окр(нСтрока.Сумма * 0.1, 2); КонецЕсли; нСтрока.СтавкаНДС = СтавкаНДС; нСтрока.СчетДоходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1"); нСтрока.СчетРасходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.1"); док.Записать(); КонецЕсли; //Если XML.ТипУзла = ТипУзлаXML.Текст Тогда // Сообщить(XML.Значение); //КонецЕсли; // //Если XML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда // Сообщить(""); //КонецЕсли; КонецЕсли; КонецЦикла; XML.Закрыть(); |
|||
3
mehfk
19.09.16
✎
08:46
|
В помощь https://translate.google.ru/
|
|||
4
katerinaUniv
19.09.16
✎
08:56
|
но у меня все нормально вроде бы написано...
|
|||
5
katerinaUniv
19.09.16
✎
08:56
|
я знаю что это
|
|||
6
katerinaUniv
19.09.16
✎
08:56
|
но все теги закрытые и ровные
|
|||
7
mehfk
19.09.16
✎
09:00
|
Открой XML браузером.
|
|||
8
Адинэснег
19.09.16
✎
14:08
|
а где </Корень> ?
|
|||
9
mehfk
19.09.16
✎
17:50
|
(8) "Семён Семёныч!" (С)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |