|
Загрузка из XML в 7.7 | ☑ | ||
---|---|---|---|---|
0
Маркусс
21.10.15
✎
08:02
|
Добрый день
Пытаюсь выполнить загрузку из файла XML в 1С 7.7 Вылетает ошибка: гФайл.Спуститься(); - Попытка смены источника в процессе разбора документа код: гXMLАнализатор = СоздатьОбъект("AddIn.XMLParser"); гФайл = гXMLАнализатор.СоздатьПоследовательноСчитываемыйДокумент(); гФайл.СвязатьСФайлом(ИмяФайла); гФайл.Спуститься(); СвойстваТекущегоУзла = гФайл.СвойстваТекущегоУзла; ИмяТега = СвойстваТекущегоУзла.Имя; Подскажите, плиз, где ошибка? Спасибо |
|||
1
vladmenleo
21.10.15
✎
08:07
|
Продам СП недорого
Спуститься(<?>) Синтаксис: Спуститься() Назначение: Перейти на следующий уровень вниз. Возвращаемое значение: (Число) 1 - начало нового элемента 2 - инструкция обработки 3 - конец уровня 4 - конец документа Пример: Процедура ЗагрузитьДанные() гXMLАнализатор = СоздатьОбъект("AddIn.XMLParser"); гФайл = гXMLАнализатор.СоздатьПоследовательноСчитываемыйДокумент(); гФайл.СвязатьСФайлом(ФормИмяФайлаДанных); ТипТега = гФайл.Спуститься(); Пока ТипТега <> 4 Цикл // пока не достигнут конец файла Если ТипТега <> 1 Тогда ТипТега = гФайл.Следующий(); Продолжить; КонецЕсли; // пропускаем концы уровней и инструкции ИмяТега = гФайл.СвойстваТекущегоУзла.Имя; Если ИмяТега = "ОбъектСправочника" Тогда ЗагрузитьОбъектСправочника(); ИначеЕсли ИмяТега = "Документ" Тогда ЗагрузитьДокумент(); //.......................................................... Иначе ТипТега = гФайл.Спуститься(); Продолжить; КонецЕсли; ТипТега = гФайл.Следующий(); КонецЦикла; КонецПроцедуры |
|||
2
dk
21.10.15
✎
08:10
|
вроде баян
это версия виндового xml парсера новее чем v7plus.dll обнови v7plus.dll до 11-й версии |
|||
3
Маркусс
21.10.15
✎
08:17
|
(2) версия 7.70.011
|
|||
4
Маркусс
21.10.15
✎
08:17
|
(1) у меня также
|
|||
5
dk
21.10.15
✎
08:20
|
11 тоже только до 6 версии вроде
xml парсер какой версии? |
|||
6
Маркусс
21.10.15
✎
08:29
|
(5) как это увидеть?
|
|||
7
vladmenleo
21.10.15
✎
08:38
|
ради спортивного интереса написал внешнюю обработку с кодом из СП. подсунул какие-то xml файлы, все отрабатывает без ошибок. Может сама структура xml файла не такая как надо?
|
|||
8
Маркусс
21.10.15
✎
08:42
|
<ns:Documents xmlns:wbr="http://fsrar.ru/WEGAIS/TTNInformBReg" xmlns:pref="http://fsrar.ru/WEGAIS/ProductRef" xmlns:oref="http://fsrar.ru/WEGAIS/ClientRef" xmlns:ns="http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <ns:Owner> <ns:FSRAR_ID>3463047</ns:FSRAR_ID> </ns:Owner> - <ns:Document> - <ns:TTNInformBReg> - <wbr:Header xmlns:wbr="http://fsrar.ru/WEGAIS/TTNInformBReg" xmlns:pref="http://fsrar.ru/WEGAIS/ProductRef" xmlns:oref="http://fsrar.ru/WEGAIS/ClientRef" xmlns:ns="http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <wbr:Identity>30239000001261928</wbr:Identity> <wbr:WBRegId>0000033721</wbr:WBRegId> <wbr:EGAISFixNumber>97000008419170</wbr:EGAISFixNumber> <wbr:EGAISFixDate>2015-09-28</wbr:EGAISFixDate> <wbr:WBNUMBER>6100256719_1</wbr:WBNUMBER> <wbr:WBDate>2015-09-28</wbr:WBDate> - <wbr:Shipper> <oref:ClientRegId>030000000023</oref:ClientRegId> <oref:INN></oref:INN> <oref:KPP></oref:KPP> <oref:FullName>ЗАО "ТТТ" </oref:FullName> <oref:ShortName>ЗАО "ТТТ"</oref:ShortName> - <oref:address> <oref:Country></oref:Country> <oref:RegionCode>07</oref:RegionCode> <oref:description>643,450027,02</oref:description> </oref:address> </wbr:Shipper> - <wbr:Consignee> |
|||
9
Маркусс
21.10.15
✎
08:45
|
(7) подсунул другой файл правил обмена - сработало. В чём проблема с текущим?
|
|||
10
vladmenleo
21.10.15
✎
08:47
|
на том примеры, что ты привел выходит по ошибке:
ТипТега = гФайл.Спуститься(); {C:\TUNE\ТОРГОВАЯ КОМПАНИЯCOPY\EXTFORMS\IT\ЗАГРУЗКАХМЛ.ERT(20)}: : Ошибка исполнения метода по внешнему виду чисто визуально какой-то документ незаконченный |
|||
11
Маркусс
21.10.15
✎
08:50
|
Спасибо всем за помощь. Длинное имя файла было. Перенёс файл в корень диска - всё заработало.
|
|||
12
Маркусс
21.10.15
✎
14:12
|
Коллеги, чёт в толк не могу взять. Перебираю узлы нормально, но когда пытаюсь достать значение всё валится.
Вот так работает: Пока ИмяТега<>"tovar" Цикл ///грузим шапку Если ТипТега =1 Тогда Сообщить(гФайл.СвойстваТекущегоУзла.Имя); КонецЕсли; ТипТега = гФайл.Спуститься(); ИмяТега = гФайл.СвойстваТекущегоУзла.Имя; КонецЦикла; Так нет: Пока ИмяТега<>"tovar" Цикл ///грузим шапку Если ТипТега =1 Тогда Сообщить(гФайл.СвойстваТекущегоУзла.Имя); Объект = гФайл.ТекущийЭлементВВидеОбъекта(); ИмяУзла = Объект.Наименование; Значение = Объект.Значение; КонецЕсли; ТипТега = гФайл.Спуститься(); ИмяТега = гФайл.СвойстваТекущегоУзла.Имя; КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |