Версия для печати темы (https://pro1c.org.ua/index.php?s=2719415c194a222f11cf54ada3b1f86b&showtopic=32291)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Мобильная платформа 1С _ Мобильное приложение обмен с основной базой

Автор: colambus 07.10.16, 13:38

Добрый день. Есть такой ворпос. 2 конфигрурции отличаются по составу реквизитов в справочнике, при записи XML в базе где реквизитов больше, можно чистить не нужные строки полученного файла. Есть ли варианты что делать в обратном направлении? Или как задать правила обмена в функцию, прочитатьXML?

Автор: Vofka 07.10.16, 14:04

Если следовать вашему подходу, то можно добавлять недостающие строки.

Автор: Petre 07.10.16, 14:20

colambus @ Сегодня, 14:38 * ,
Получите XML пустого объекта в приемнике и добавляйте из него недостающие в источнике элементы...

Автор: colambus 07.10.16, 14:42

Немного не так наверное сформулировал. На мобильном приложении части реквизитов нет и заполнять их смысла никакого нет, поэтому при отправке файла из основной базы некоторые данные чищу. Но при отправке с мобильного приложения, должна быть возможность внести изменния в уже существующие элементы справочника, корректируя только переданные объекты с мобильного приложения. Но вот проблема в том, что метод прочитатьXML() работает только если структура этого файла полностью соответсвует объекту в конфигрурации иначе выдает ошибку.

Petre @ Сегодня, 15:20 * ,
Это если элемент новый так можно сделать, но уже записанные перзаписывать пустыми точно нельзя

Автор: Petre 07.10.16, 15:20

colambus @ Сегодня, 15:42 * ,
Допустим, не было бы этой проблемы, и вы прочитали ПрочитатьXML() полученный файл. Дальше что?

Автор: colambus 07.10.16, 15:57

Дальше изменение полученнх реквизитов в определенных объектах. По идее по <ref> ПрочитатьXML(ЧтениеXML) должен определять объект. Вопрос в том это реально, или нужно писать свою запись/чтнеие xml и обрабатывать их?

Автор: Petre 07.10.16, 16:22

colambus @ Сегодня, 16:57 * ,
По корневому элементу понять тип, по дочернему ref найти ссылку, прочитать ПрочитатьXML() объект по данной ссылке, пройтись по элементам источника и сравнить / перезаписать элементы приемника, записать объект.
Читать обрезаный источник придется своими силами, раз ПрочитатьXML() выдает исключение.

Автор: colambus 07.10.16, 16:35

Petre @ Сегодня, 17:22 * ,
Да, наврное таки придется, очень не хотелось)

Автор: oleksandr.homyak 09.10.16, 8:26

colambus @ 07.10.16, 13:38 * ,
А зачем гонять XML? А что мешает использовать web-сервис или что еще лучше http-сервис.

Я делал к примеру сразу прямое общение в базу.


А так- да Вам придется отчитать файл либо чере ЧтениеXML или же делайте XDTO.

Автор: Vofka 10.10.16, 8:08

Цитата(oleksandr.homyak @ 09.10.16, 9:26) *
А зачем гонять XML? А что мешает использовать web-сервис или что еще лучше http-сервис.

А при использовании web или http сервисов данные уже передавать не надо?

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua