0
repin_mike
13.12.18
✎
11:53
|
В базе№1 я записываю в XML определённый документ 1 штука, в базе№2 читаю XML и записываю его в базу.
Записываю в XML так:
Док = Документы.Дефект.НайтиПоНомеру("000000001");
Данные = Док.ПолучитьОбъект();
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписатьXML(ЗаписьXML, Данные);
Строка = ЗаписьXML.Закрыть();
В результате в строке у меня XMLка
<?xml version="1.0"?>
<DocumentObject.Дефект>
<Ref>ff047e9b-feb1-11e8-ac9e-1c6f65d1d1b8</Ref>
<DeletionMark>false</DeletionMark>
<Date>2018-12-13T11:35:08</Date>
<Number>000000001</Number>
<Posted>true</Posted>
<Реквизит1 xmlns:xsi="; xsi:type="CatalogRef.ОбъектыРемонта">cdee8020-aa60-11e7-80d2-001e67137431</Реквизит1>
</DocumentObject.Дефект>
Соответственно в базе№2 через ЧтениеXML получается объект и записывается.
Вопрос-проблема в том, что мне иногда нужно управлять процессом записи, ну например не передавать какой-либо реквизит, либо наоборот добавить реквизит, который нужен в база№2, но его нет в база№1. Либо вот у меня в приведённой XMLке видно, что Реквизит1 имеет тип СправочникСсылка.ОбъектыРемонта, а в целевой базе он называется СправочникСсылка.Объекты, соответственно при записи XML мне нужно как-то этим процессом управлять. Конечно можно через СтрЗаменить, но хочется понять как это делать правильно.
|
|