|
импорт пустого тега из xml в 1С
| ☑ |
0
alexnetman
20.03.13
✎
12:56
|
Как сделать условие что бы можно было импортировать пустой тег. в данном коде если в xml файле встречается не заполненный <ИНН/>, то импортирует инн предыдущего узла. как сделать условие что если встречает пустой тег, то и пустой импортировался.
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(Файл);
Пока Чтение.Прочитать() Цикл
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ИмяУзла = Чтение.Имя;
Сообщить(ИмяУзла);
ИначеЕсли Чтение.ТипУзла = ТипУзлаXML.Текст Тогда
Если ИмяУзла = "Code" тогда
Код = Чтение.Значение;
ИначеЕсли ИмяУзла = "Description" тогда
Наименование = Чтение.Значение;
ИначеЕсли ИмяУзла = "ИНН" тогда
ИНН = Чтение.Значение;
ИначеЕсли ИмяУзла = "КПП" тогда
КПП = Чтение.Значение;
ИначеЕсли ИмяУзла = "НаименованиеПолное" тогда
ПолноеНаименование = Чтение.Значение;
НовыйЭлемент = Справочники.Контрагенты.СоздатьЭлемент();
НовыйЭлемент.Код = Код;
НовыйЭлемент.Наименование = Наименование;
НовыйЭлемент.ИНН = ИНН;
НовыйЭлемент.КПП = КПП;
НовыйЭлемент.ПолноеНаименование = ПолноеНаименование;
НовыйЭлемент.Записать();
КонецЕсли;
Сообщить(Чтение.Значение);
ИначеЕсли Чтение.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
Сообщить(Чтение.Имя);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
|
|
1
mikecool
20.03.13
✎
12:58
|
при чтении новогу узла "обнулять" ИНН
|
|
2
1Сергей
20.03.13
✎
12:59
|
...
ИНН = "";
КонецЦикла;
КонецПроцедуры
|
|
3
Fragster
гуру
20.03.13
✎
12:59
|
использовать механизм XDTO
|
|
4
1Сергей
20.03.13
✎
13:01
|
(2) сторно. Так не правильно
|
|
5
1Сергей
20.03.13
✎
13:01
|
(4) + обнулять надо в
ИначеЕсли Чтение.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
|
|
6
alexnetman
20.03.13
✎
13:05
|
попробую
|
|
7
alexnetman
20.03.13
✎
13:08
|
обнуляются все узлы :-(
|
|
8
1Сергей
20.03.13
✎
13:13
|
(7) после НовыйЭлемент.Записать(); обнуляй
|
|
9
mikecool
20.03.13
✎
13:18
|
(5) да как бы инициализировать пустое надо в начале цикла чтения узла... иначе вообще на неопределено можно нарваться
|
|
10
alexnetman
20.03.13
✎
13:20
|
1Сергей огромное тебе спасибо, я уж и массивом и списком, неделю мучился меня аж заклинило.
|
|
11
1Сергей
20.03.13
✎
13:23
|
(9) перед циклом надо, согласен
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший