фабрикаXDTO чтение XML
☑
0
mxs089
07.12.15
✎
15:49
создаю xml так:
ТипXDTO = ФабрикаXDTO.Тип(";, "СписокТоваров");
СписокТоваров = ФабрикаXDTO.Создать(ТипXDTO);
Выборка = Справочники.Номенклатура.Выбрать();
ТипXDTO = ФабрикаXDTO.Тип(";, "Товар");
Пока Выборка.Следующий() Цикл
Товар = ФабрикаXDTO.Создать(ТипXDTO);
Товар.Наименование = Выборка.Наименование;
Товар.НаименованиеПолное = Выборка.НаименованиеПолное;
СписокТоваров.Товар.Добавить(Товар);
КонецЦикла;
Запись = Новый ЗаписьXML;
Запись.УстановитьСтроку();
ФабрикаXDTO.ЗаписатьXML(Запись, СписокТоваров);
Результат = Запись.Закрыть();
теперь пытаюсь читать:
Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку(Текст);
ТипXDTO = ФабрикаXDTO.Тип(";, "СписокТоваров");
ТипОбъектаXDTO = ФабрикаXDTO.Создать(ТипXDTO);
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(Чтение, ТипXDTO);
Чтение.Закрыть();
падает с ошибкой:
{Обработка.ВыгрузитьНоменклатуру.Форма.Форма.Форма(223)}: Ошибка при вызове метода контекста (ПрочитатьXML)
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(Чтение, ТипXDTO);
по причине:
Несоответствие типов (параметр номер '2')
1
mxs089
07.12.15
✎
15:55
схема
<xs:schema xmlns:ns1="; xmlns:tns="; xmlns:xs="; targetNamespace="; attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:import namespace=";
<xs:complexType name="СписокТоваров">
<xs:sequence>
<xs:element name="Товар" type="tns:Товар" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Товар">
<xs:sequence>
<xs:element name="Наименование" type="xs:string"/>
<xs:element name="НаименованиеПолное" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
2
mxs089
07.12.15
✎
15:59
я понял ..
3
mxs089
07.12.15
✎
16:06
я получаю список товаров, как теперь получить товар?
4
mxs089
07.12.15
✎
16:32
спасибо, разобрался
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.