Имя: Пароль:
1C
1С v8
импорт пустого тега из 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) перед циклом надо, согласен