|
Обращение к элементу Xml - файла | ☑ | ||
---|---|---|---|---|
0
kap-v-kstu
12.10.12
✎
23:16
|
Структура файла
<?xml version="1.0" encoding="UTF-8"?> <Корневой Документ="РеализацияТоваровиУслуг"> <!--Краткая информация о РеализацияТоваровиУслуг--> <Элемент Номер="00000000024" Дата="16.09.2012 14:00:24" Контрагент1 = "Колобок"> <Табличнаячасть Цена="60" Сумма="60" СтавкаНДС="18%" СуммаНДС="9,15" Контрагент="Архитектор бизнеса1"/> <Табличнаячасть Цена="78" Сумма="78" СтавкаНДС="18%" СуммаНДС="11,9" Контрагент="Архитектор бизнеса1"/> </Элемент> <Элемент Номер="00000000024" Дата="16.09.2012 14:00:24" Контрагент1 = "Колобок"> <Табличнаячасть Цена="60" Сумма="60" СтавкаНДС="18%" СуммаНДС="9,15" Контрагент="Архитектор бизнеса1"/> <Табличнаячасть Цена="78" Сумма="78" СтавкаНДС="18%" СуммаНДС="11,9" Контрагент="Архитектор бизнеса1"/> </Элемент> </Корневой> |
|||
1
kap-v-kstu
12.10.12
✎
23:18
|
Могу обратиться к
<Элемент Номер="00000000024" Дата="16.09.2012 14:00:24" Контрагент1 = "Колобок" как обратиться к элементам табл части ?? |
|||
2
kap-v-kstu
12.10.12
✎
23:18
|
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл("C:\RealizaciyaTovaroviUslug.xml"); Док = ""; Пока ЧтениеXML.Прочитать() Цикл //ПолучитьXMLТип(ЧтениеXML); Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда Если ЧтениеXML.Имя = "Элемент" Тогда Док = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); Пока ЧтениеXML.ПрочитатьАтрибут() Цикл Если ЧтениеXML.Имя = "Контрагент" Тогда Сообщить(ЧтениеXML.Значение); КонецЕсли; Док.Дата = ТекущаяДата(); Док.Организация = Справочники.Организации.НайтиПоКоду("000000001"); Док.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(ЧтениеXML.Значение); Док.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию("Основной"); Док.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.Автоматически; //ab tablich chast' Док.АгентскиеУслуги.Добавить().Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Вознаграждение агента"); Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда Если ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента and ЧтениеXML.Имя = "Табличнаячасть" Тогда ТекСтрока = Док.АгентскиеУслуги.Добавить(); Пока ЧтениеXML.ПрочитатьАтрибут() Цикл Док.АгентскиеУслуги.Добавить().Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Вознаграждение агента"); Если ЧтениеXML.Имя = "Цена" Тогда Сообщить(ЧтениеXML.Значение); КонецЕсли; КонецЦикла; КонецЕсли; //ab tablich chast' КонецЕсли; КонецЦикла; КонецЕсли; ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда Док.Дата = ТекущаяДата(); Док.Записать(); КонецЕсли; КонецЦикла; |
|||
3
kap-v-kstu
12.10.12
✎
23:20
|
Если ЧтениеXML.Имя = "Цена" Тогда
Сообщить(ЧтениеXML.Значение); КонецЕсли; Не сообщается цена... |
|||
4
AlexNew
12.10.12
✎
23:26
|
Во, я о том же спросить хотел - цега вопроса?
|
|||
5
kap-v-kstu
12.10.12
✎
23:27
|
1500 р
|
|||
6
AlexNew
12.10.12
✎
23:28
|
(5) Где?
|
|||
7
kap-v-kstu
12.10.12
✎
23:30
|
Деньги?)
|
|||
8
Рэйв
12.10.12
✎
23:40
|
(0)xml - это не объект с полями и через точку напрямую не прочитаешь.
Так что только последовательно по веткам. |
|||
9
AlexNew
12.10.12
✎
23:56
|
(8) xml они разные...
|
|||
10
zladenuw
13.10.12
✎
00:39
|
ну так у тебя коллекция не в Элемент. а отельное имя
Если ЧтениеXML.Имя = "Элемент" Тогда иначеЕсли ЧтениеXML.Имя = "Табличнаячасть" Тогда |
|||
11
zladenuw
13.10.12
✎
00:41
|
если хочешь свой универсальный создай ХДТО схему. и читай ее заполняй по ней. будет тебе универсальная
|
|||
12
kap-v-kstu
15.10.12
✎
23:51
|
zladenuw, спасибо большое, получилось))))))
|
|||
13
alexei366
16.10.12
✎
00:33
|
ЧтениеXML.ИмяЭлемента = ??? И ЧтениеXML.Тип = НачалоЭлемента
то фигач цикл пока не ЧтениеXML.Тип = КонецЭлемента И так далее в синтаксе могу ошибаться. А лучше наверно ДокументDOM |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |