|
Как найти элемент по id файле XML модели DOM при загрузке | ☑ | ||
---|---|---|---|---|
0
e053nk
11.03.12
✎
15:44
|
Две базы 8 для одностороннего обмена: Источник и Приемник. Из базы Источника выгружаются данные, есть атрибут,который является идентификатором элемента. В базе Источник пишу:
УзелЭлемента.УстановитьАтрибут("id",Строка(ВыгрЭле мент.УникальныйИдентификатор())); УзелЭлемента.УстановитьАтрибутИдентификатор("id",и стина); Дальше если проверять здесь же при выгрузке УзелЭлемента.Атрибуты[0].ЯвляетсяИдентификатором -возвращает Истина. При загрузке в Приемник вставил строки: ЭлементЗагрузки2Ур=ДанныеDOM.ПолучитьЭлементПоИден тификатору(СоответствиеРеквизитов.Получить("ОсновнойДоговорКонтрагента")); СоответствиеРеквизитов.Получить("ОсновнойДоговорКонтрагента") - это набор символов и он точно присутствует в файле. Стал в базе приемнике проверять файл обмена - на тех же самых артиубтах УзелЭлемента.Атрибуты[0].ЯвляетсяИдентификатором = возвращает Ложь. Т.е. не видит загрузка что этот атрибут содержит id элемента файла XML. Что я сделал не правильно-я не понимаю. Как указать атрибут с типом id элемента XML, чтобы искать по нему данные потом при загрузке из файла? |
|||
1
acsent
11.03.12
✎
15:47
|
а как это в файле выглядит?
|
|||
2
e053nk
11.03.12
✎
15:51
|
кусок файла - не теги последние не привожу- много
<?xml version="1.0" encoding="UTF-8"?> <Данные xmlns="http://www.w3.org/2001/XMLSchema" Откуда="УТ10.3.13.2" Куда="БП8.2" ДатаНачала="01.02.2006 0:00:00" ДатаКонца="27.02.2012 0:00:00" ИннОрганизации="7723240663" Наименование="Cтройснаб"> <Справочники> <Валюты> <Элемент id="5e36e89d-93e2-4760-9e19-0e234985fc9c_848a00112f43529a11d955bcbd72d8f9" ЭтоГруппа="Нет" Код="643" Наименование="руб." Родитель=""> <РеквизитСправочника ИД="НаименованиеПолное" Тип="Строка" Значение="Российский рубль"/> <РеквизитСправочника ИД="ПараметрыПрописиНаРусском" Тип="Строка" Значение="рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2"/> </Элемент> <Элемент id="5e36e89d-93e2-4760-9e19-0e234985fc9c_848a00112f43529a11d955bccbcf4923" ЭтоГруппа="Нет" Код="978" Наименование="EUR" Родитель=""> <РеквизитСправочника ИД="НаименованиеПолное" Тип="Строка" Значение="ЕВРО"/> <РеквизитСправочника ИД="ПараметрыПрописиНаРусском" Тип="Строка" Значение="евро, евро, евро, м, цент, цента, центов, м, 2"/> </Элемент> <Элемент id="5e36e89d-93e2-4760-9e19-0e234985fc9c_848a00112f43529a11d955bcbd72d8fa" ЭтоГруппа="Нет" Код="840" Наименование="USD" Родитель=""> <РеквизитСправочника ИД="НаименованиеПолное" Тип="Строка" Значение="Доллар США"/> <РеквизитСправочника ИД="ПараметрыПрописиНаРусском" Тип="Строка" Значение="доллар, доллара, долларов, м, цент, цента, центов, м, 2"/> </Элемент> </Валюты> |
|||
3
Serginio1
11.03.12
✎
16:36
|
Сейчас занимаюсь выгрузкой загрузкой из разных конфигураций через Объекты XDTO и схему базы.
Есть нюансы но обмен прозрачнее и быстрее. |
|||
4
e053nk
11.03.12
✎
23:27
|
(3) я согласен, что мой вариант обмена возможно не идеален. Но мне для понимания работы XML в 1с крайне желательно понять -почему я не могу назначить атрибут с типом ID в файле XML, для дальнейшей работы с ним при загрузке....И как вообще атрибут с типом ID от XML работает на языке 1с?
|
|||
5
Serginio1
12.03.12
✎
11:36
|
Вообще DOM в 1С некорректно работает v8: Неправильно работает ДокументDOM.ПолучитьЭлементыПоИмени
когда этих ссылок множество |
|||
6
Serginio1
12.03.12
✎
11:48
|
Кстати а где в файле прописывается твой АтрибутИдентификатор. Или он является атрибутом DOM
|
|||
7
e053nk
12.03.12
✎
16:27
|
(6) Атрибут Идентификатор устанавливаю парой методов при выгрузке:
УзелЭлемента.УстановитьАтрибут("id",Строка(ВыгрЭлемент.УникальныйИдентификатор())); УзелЭлемента.УстановитьАтрибутИдентификатор("id",истина); Причем, напомню, если в конце формирования (при выгрузке) файла попробовать найти элемент: ДанныеDOM.ПолучитьЭлементПоИдентификатору(СоответствиеРеквизитов.Получить("ОсновнойДоговорКонтрагента")) - он находит его,а вот при загрузке во второй базе -уже не видит |
|||
8
Serginio1
12.03.12
✎
17:09
|
Так в DOM он может и существует а в файле нет.
|
|||
9
e053nk
12.03.12
✎
17:51
|
Как сделать что бы и файле появился?
И еще: DOM что, не принимает основные типы XML? ведь id-стандартный тип XMLа |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |