![]() |
|
Обмен XML: обмен объектами с разным набором реквизитов | ☑ | ||
---|---|---|---|---|
0
dave2000
11.11.16
✎
12:01
|
Есть обмен между мобильным приложением и центральной базой, используется стандартный механизм ЧтениеXML/ЗаписьXML. Набор объектов и реквизитов идентичный в обеих базах. Но есть необходимость добавить в состав обмена небольшой документ, которого нет в центральной базе, данные из этого документа нужно передавать в центральную базу и писать в другой документ, у которого больше сотни реквизитов. Как это правильно реализовать? Ведь в центральной базе при чтении из XML неизвестного объекта выдаст "ошибку разбора XML". Можно конечно добавить в мобильное приложение такой же документ с сотней реквизитов, но это не оптимально, т.к. там будет использоваться всего пару реквизитов. Как это правильно делается? Здается мне, тут без использования ФабрикиXDTO не обойтись. Подскажите, как правильно реализовать?
|
|||
1
Cyberhawk
11.11.16
✎
12:02
|
Сериализованное значение разбираешь по свойствам
|
|||
2
dave2000
11.11.16
✎
12:10
|
(1) Можно подробнее, как это делается? К примеру, на стороне мобильного приложения был сформирован пакет данных в XML (все измененные данные, включая этот нестандартный документ), а на стороне сервера происходит последовательное ЧтениеXML(). Как "отловить" этот нестандартный документ при чтении и обработать его? Ведь при попытке чтения возникнет ошибка разбора XML.
|
|||
3
Cyberhawk
11.11.16
✎
12:11
|
(2) Не использовать такой способ сериализации / десериализации
|
|||
4
dave2000
11.11.16
✎
13:14
|
(3) Опишите плиз подробнее принцип, как это правильно делать, чтобы я понимал в какую сторону копать. Никогда с такой задачкой не сталкивался, читаю про сериализации, фабрики, в голове ещё не разложилось по полкам, сложно понять как это применять - можно ли совместно со стандартным обменом или же изначально нужно формировать свой пакет XML и затем по "вручную" обрабатывать.
|
|||
5
Cyberhawk
11.11.16
✎
13:38
|
(4) СП по глобальной фабрике + СП по "МинимальноВходит"
|
|||
6
Cyberhawk
11.11.16
✎
13:39
|
Ну и МаскаАтрибутов пригодится
|
|||
7
Cyberhawk
11.11.16
✎
13:41
|
Короче тебе надо все комплексные типы в схеме, полученной из фабрики "http://v8.1c.ru/8.1/data/enterprise/current-config", подправить: сделать их элементы необязательными, неупорядоченными, а для корня позволить добавлять любые атрибуты.
Но ты вряд ли это осилишь с наскоку, поэтому парсить текстовый файл с попытками или еще как-нибудь - твой вариант |
|||
8
dave2000
15.11.16
✎
14:28
|
Самый простой способ - включать произвольную информацию в сообщение обмена:
http://its.1c.ru/db/metod8dev/content/2278/hdoc |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |