Недопустимое состояние объекта XDTO

1. 5H1 11.12.21 03:13 Сейчас в теме
Ошибка появляется (в прикрепленных изображениях скрин) когда присвоить Истина свойству "Открытый" типу объекта пакета (структура пакета в изображениях) и при этом создать объект xdto по этому типу и в свойство "__content" произвести запись.

Код:
ЗаписьXML = Новый ЗаписьXML;    
    ЗаписьXML.ОткрытьФайл("C:\Users\USER\Desktop\test_1.xml", "windows-1251");
    ЗаписьXML.ЗаписатьОбъявлениеXML();
    
    PurchaseOrderType = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://tempuri.org/PurchaseOrderSchema.xsd", "PurchaseOrderType"));
    
    USAddress = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://tempuri.org/PurchaseOrderSchema.xsd", "USAddress"));
    USAddress.zip = XMLСтрока(Формат(1234, "ЧДЦ=2; ЧРД=.; ЧРГ=; ЧН=; ЧГ=0; ЧО=1"));
    USAddress.__content = XMLСтрока(4321);

    ПустойАтрибут = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema", "boolean"), "true");
    USAddress.Добавить(ФормаXML.Атрибут, "http://www.w3.org/2001/XMLSchema-instance", "xsi:nil", ПустойАтрибут);        
    
    PurchaseOrderType.BillTo = USAddress;
        
    ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, PurchaseOrderType);
    ЗаписьXML.Закрыть();
Показать


XML-схема пакета:
<xs:schema xmlns:tns="http://tempuri.org/PurchaseOrderSchema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://tempuri.org/PurchaseOrderSchema.xsd" attributeFormDefault="unqualified" elementFormDefault="qualified">
    <xs:element name="PurchaseOrder" type="tns:PurchaseOrderType"/>
    <xs:complexType name="PurchaseOrderType">
        <xs:sequence>
            <xs:element name="BillTo" type="tns:USAddress"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="USAddress">
        <xs:simpleContent>
            <xs:extension base="xs:integer">
                <xs:sequence>
                    <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
                <xs:attribute name="zip" type="tns:rowInt" use="required"/>
                <xs:anyAttribute namespace="##any" processContents="lax"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:simpleType name="rowInt">
        <xs:restriction base="xs:int">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="999999"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
Показать


Почему все это и зачем?
Мне нужно что бы в итоговом XML-файле элемент имел вид:
<USAddress ROWNUM="1" xsi:nil="true" />


Для этого я создаю объект XDTO и в его свойства "ROWNUM" и "__content" произвожу запись, но когда мне нужно что бы в итоговом XML-файле был атрибут указывающий на путое значение "xsi:nil="true" мне нужно его програмно создать и добавить (см. код).
Если присвоить "Неопределено" свойству "__content", то создастся пустой элемент без "xsi:nil="true"
<USAddress ROWNUM="1"/>


Это похоже на ошибку платформы.
Но может есть какой-нибудь другой способ присваивать значение элементу USAddress без прямой записи в свойство "__content"?
<USAddress ROWNUM="1">Значение</USAddress>
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. 5H1 11.12.21 23:48 Сейчас в теме
В прикрепленных файлах скриншот ошибки и структуры XDTO пакета.
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот