Имя: Пароль:
1C
1С v8
Обмен 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