Тип ValueStruct
Тип ValueStruct предназначен для передачи структур. Значения в структуре могут быть произвольного сериализуемого типа производного от ValueBase. Тип ValueStruct соответствует типу "Структура" в 1С:Предприятие.
Структура состоит из узлов свойств "Property". Каждый узел свойства имеет атрибут "Name" (унаследован от типа ValueBase), который определяет имя свойства.
Иерархия типов: ValueBase ValueStructured ValueStruct
<xs:complexType name="ValueStruct">
<xs:complexContent>
<xs:extension base="brom:ValueStructured"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ValueStructured" abstract="true">
<xs:complexContent>
<xs:extension base="brom:ValueBase">
<xs:sequence>
<xs:element name="Property" type="brom:ValueBase" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ValueBase" abstract="true">
<xs:attribute name="Name" type="brom:PropertyName"/>
</xs:complexType>
<brom:return xsi:type="brom:ValueStruct">
<brom:Property xsi:type="brom:ValueString" Name="СтроковоеПоле" Value="Новости из структуры!"/>
<brom:Property xsi:type="brom:ValueNumber" Name="ЧисловоеПоле" Value="1254"/>
<brom:Property xsi:type="brom:ValueBoolean" Name="БулевоПоле" Value="false"/>
<brom:Property xsi:type="brom:ValueDate" Name="ПолеСДатой" Value="2019-01-05T00:00:00"/>
<brom:Property xsi:type="brom:ValueObjectRef" Name="СсылочноеПоле" Value="ec64032c-fef4-11e4-92f1-0050568b35ac" Type="Справочник.Номенклатура"/>
<brom:Property xsi:type="brom:ValueNull" Name="ПустоеПоле"/>
<brom:Property xsi:type="brom:ValueArray" Name="ПолеТипаМассив">
<brom:Item xsi:type="brom:ValueString" Value="Новости из массива!"/>
<brom:Item xsi:type="brom:ValueNumber" Value="3245"/>
<brom:Item xsi:type="brom:ValueBoolean" Value="true"/>
</brom:Property>
<brom:Property xsi:type="brom:ValueStruct" Name="ПолеТипаСтруктура">
<brom:Property xsi:type="brom:ValueString" Name="СтроковоеПоле" Value="Новости из структуры!"/>
<brom:Property xsi:type="brom:ValueNumber" Name="ЧисловоеПоле" Value="1254"/>
<brom:Property xsi:type="brom:ValueBoolean" Name="БулевоПоле" Value="false"/>
</brom:Property>
</brom:return>
В примере указана структура, состоящая из значений различных типов. Последние два поля структуры являются вложенными коллекциями ("Массив" и "Структура").