Имя: Пароль:
1C
1С v8
xdto
0 waxymonkey
 
10.02.21
17:56
С такой схемой непонятно как установить значение вот сюда: <recommends sort="0" type="0"> ??????????? <recommends>

xsd:

<xs:schema xmlns:tns="http://www.sample-package.org"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; targetNamespace="http://www.sample-package.org"; attributeFormDefault="unqualified" elementFormDefault="qualified">
    <xs:complexType name="collection_prices">
        <xs:sequence>
            <xs:element name="price" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="collection_recommends">
        <xs:sequence>
            <xs:element name="recommends" type="tns:recommend" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="item">
        <xs:sequence>
            <xs:element name="name" type="xs:string"/>
            <xs:element name="prices" type="tns:collection_prices"/>
            <xs:element name="recommends" type="tns:collection_recommends"/>
        </xs:sequence>
        <xs:attribute name="art" type="xs:string" use="required"/>
        <xs:attribute name="parent_id" type="xs:string" use="required"/>
        <xs:attribute name="stock" type="xs:string" use="required"/>
        <xs:attribute name="color" type="xs:string" use="required"/>
        <xs:attribute name="mods" type="xs:string" use="required"/>
        <xs:attribute name="size" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="items">
        <xs:sequence>
            <xs:element name="item" type="tns:item" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="price">
        <xs:attribute name="type_name" use="required"/>
    </xs:complexType>
    <xs:complexType name="recommend">
        <xs:attribute name="sort" type="xs:string" use="required"/>
        <xs:attribute name="type" type="xs:string" use="required"/>
    </xs:complexType>
</xs:schema>

код:

collection_items= ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://www.sample-package.org";, "items"));

    Для каждого СтрокаРезультат из Результат Цикл
        item= ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://www.sample-package.org";, "item"));
        
        ЗаполнитьЗначенияСвойств(item, СтрокаРезультат);
        
        collection_prices = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://www.sample-package.org";, "collection_prices"));

        Выборка = Справочники.КакойтоСправочник.Выбрать();
        Пока Выборка.Следующий() Цикл
            price= ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://www.sample-package.org";, "price"));
            price.type_name =  Выборка.Наименование;
            collection_prices.price.Добавить(price);
        КонецЦикла;
        
        item.collection_prices = collection_prices;
        
        collection_recommends = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://www.sample-package.org";, "collection_recommends"));

        Для Индекс = 0 по 5 Цикл
            Для Индекс1 = 0 по 2 Цикл
                recommend= ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://www.sample-package.org";, "recommend"));
                recommend.sort =  Индекс1;
                recommend.type = Индекс;
                collection_recommends.recommends.Добавить(recommend);
            КонецЦикла;
        КонецЦикла;
        
        item.collection_recommends = collection_recommends;
        
        collection_items.item.Добавить(item);
    КонецЦикла;
    
    Запись = Новый ЗаписьXML;
    Запись.ОткрытьФайл("Путь\web_xdto.xml");
    
    ФабрикаXDTO.ЗаписатьXML(Запись, collection_items);
    Запись.Закрыть();
1 waxymonkey
 
10.02.21
20:56
Умные люди подскажите пожалуйста
2 Asmody
 
10.02.21
21:04
у тебя <recommends> не может содержать атрибутов.
sort и type - это свойства <recommend>
AdBlock убивает бесплатный контент. 1Сергей