Пытаюсь понять это XDTO, а точнее зачем оно нужно. Задача следующая:
есть 2 базы (не идентичные), надо перенести данные из одной в другую. Допустим справочник Номенклатура ( в одной базе 15 реквизитов, во второй 3).
Выгрузил из второй базы схкему XDTO в файл и использую следующий код
Список = Справочники.Номенклатура.Выбрать();
Список.Следующий();
ОбъектСериализации = Список.Ссылка.ПолучитьОбъект();
ПутьКСхеме = "C:\temp\1.xsd";
МояФабрика = СоздатьФабрикуXDTO(ПутьКСхеме);
МойСериализатор = Новый СериализаторXDTO(МояФабрика);
ДеревоВОбъектеXDTO = МойСериализатор.ЗаписатьXDTO(ОбъектСериализации);
МойXML = Новый ЗаписьXML;
МойXML.УстановитьСтроку();
МояФабрика.ЗаписатьXML(МойXML, ДеревоВОбъектеXDTO);
Стр = МойXML.Закрыть();
Показать
Вырезка из схемы XDTO
<xs:complexType name="CatalogObject.Номенклатура">
<xs:sequence>
<xs:element name="IsFolder" type="xs:boolean"/>
<xs:element name="Ref" type="tns:CatalogRef.Номенклатура"/>
<xs:element name="DeletionMark" type="xs:boolean"/>
<xs:element name="Parent" type="tns:CatalogRef.Номенклатура"/>
<xs:element name="Code" type="xs:string"/>
<xs:element name="Description" type="xs:string"/>
<xs:element name="PredefinedDataName" type="xs:string" minOccurs="0"/>
<xs:element name="ЕдиницаИзмеренияМест" type="tns:CatalogRef.ЕдиницыИзмерения" minOccurs="0"/>
<xs:element name="ЕдиницаХраненияОстатков" type="tns:CatalogRef.ЕдиницыИзмерения" minOccurs="0"/>
<xs:element name="Артикул" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Показать
При выполнения кода вываливается ошибка
{Форма.Форма.Форма(12)}: Ошибка при вызове метода контекста (ЗаписатьXDTO)
ДеревоВОбъектеXDTO = МойСериализатор.ЗаписатьXDTO(ОбъектСериализации);
по причине:
Неизвестное свойство:
Свойство 'СтатьяЗатрат' не обнаружено
Как можно заметить в схеме ни слова нет про "статьяЗатрат" и по моим убеждениям он должен просто отбрасывать его.
Что я делаю не так???