Добрый день. Есть такой ворпос. 2 конфигрурции отличаются по составу реквизитов в справочнике, при записи XML в базе где реквизитов больше, можно чистить не нужные строки полученного файла. Есть ли варианты что делать в обратном направлении? Или как задать правила обмена в функцию, прочитатьXML?
Если следовать вашему подходу, то можно добавлять недостающие строки.
colambus @ Сегодня, 14:38
,
Получите XML пустого объекта в приемнике и добавляйте из него недостающие в источнике элементы...
Немного не так наверное сформулировал. На мобильном приложении части реквизитов нет и заполнять их смысла никакого нет, поэтому при отправке файла из основной базы некоторые данные чищу. Но при отправке с мобильного приложения, должна быть возможность внести изменния в уже существующие элементы справочника, корректируя только переданные объекты с мобильного приложения. Но вот проблема в том, что метод прочитатьXML() работает только если структура этого файла полностью соответсвует объекту в конфигрурации иначе выдает ошибку.
Petre @ Сегодня, 15:20
,
Это если элемент новый так можно сделать, но уже записанные перзаписывать пустыми точно нельзя
colambus @ Сегодня, 15:42
,
Допустим, не было бы этой проблемы, и вы прочитали ПрочитатьXML() полученный файл. Дальше что?
Дальше изменение полученнх реквизитов в определенных объектах. По идее по <ref> ПрочитатьXML(ЧтениеXML) должен определять объект. Вопрос в том это реально, или нужно писать свою запись/чтнеие xml и обрабатывать их?
colambus @ Сегодня, 16:57
,
По корневому элементу понять тип, по дочернему ref найти ссылку, прочитать ПрочитатьXML() объект по данной ссылке, пройтись по элементам источника и сравнить / перезаписать элементы приемника, записать объект.
Читать обрезаный источник придется своими силами, раз ПрочитатьXML() выдает исключение.
Petre @ Сегодня, 17:22
,
Да, наврное таки придется, очень не хотелось)
colambus @ 07.10.16, 13:38
,
А зачем гонять XML? А что мешает использовать web-сервис или что еще лучше http-сервис.
Я делал к примеру сразу прямое общение в базу.
А так- да Вам придется отчитать файл либо чере ЧтениеXML или же делайте XDTO.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua