Имя: Пароль:
1C
1С v8
Ошибка проверки модели XDTO: xdto-valueType-6.1 (определение анонимного типа)
,
0 fantomrik
 
22.10.18
13:13
Коллеги, привет!

Пытаюсь создать фабрику из файла схемы, получаю ошибку

{ВнешняяОбработка.СозданиеXMLДоверенности.Форма.Форма.Форма(10)}: Ошибка при вызове метода контекста (СоздатьФабрикуXDTO)
    МояФабрикаXDTO = СоздатьФабрикуXDTO(ФайлыXSD);
по причине:
Ошибка проверки модели XDTO: xdto-valueType-6.1    (определение анонимного типа)    свойство: КНД    (определение анонимного типа)    свойство: Документ    (определение анонимного типа)    свойство: Файл    пакет: http://www.1c.ru/demos/products2
Атомарная модель содержания не соответствует определению типа значения

Погуглил, вроде как проблема неописанного типа, но здесь он вроде описан.

Падает с ошибкой на месте (если его закоментировать все ок становится):

<xs:attribute name="КНД" use="required">
                            <xs:annotation>
                                <xs:documentation>Код формы по КНД</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                                <xs:restriction base="КНДТип">
                                    <xs:enumeration value="1167005"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:attribute>

ниже в схеме есть описание типа

<xs:simpleType name="КНДТип">
        <xs:annotation>
            <xs:documentation>Код из Классификатора налоговой документации</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:length value="7"/>
            <xs:pattern value="[0-9]{7}"/>
        </xs:restriction>
    </xs:simpleType>

Так же пробовал описание атрибута сделать как

<xs:attribute name="КНД" type="КНДТип" use="required">

но все равно ошибка
1 fantomrik
 
22.10.18
13:15
давно кстатит хотел спросить но забывал - на данном форуме вручную я могу контролировать форматирование code или типа того? автоматом не очень получается у форума.
2 fantomrik
 
22.10.18
14:50
Закомментировал описание типа и значение, теперь прочитывает без ошибок

                        <xs:attribute name="КНД" type="КНДТип" use="required">
                            <xs:annotation>
                                <xs:documentation>Код формы по КНД</xs:documentation>
                            </xs:annotation>
                            <!--
                            <xs:simpleType>
                                <xs:restriction base="КНДТип">
                                    <xs:enumeration value="1167005"/>
                                </xs:restriction>
                            </xs:simpleType>
                            -->
                        </xs:attribute>
3 fantomrik
 
22.10.18
14:57
Теперь другой вопрос возник, я не могу понять как мне создать xml по данной xsd (https://yadi.sk/d/vNIqb2Cpru_z-w)

В отдельности создать элементы составных типов (СвЮрЛицо, СвФизЛицо, АдрРФТип и т.п.) я понимаю как

ФайлыXSD = Новый Массив();
ФайлыXSD.Добавить("D:\ON_DOV_1_890_00_05_01_01.xsd");
МояФабрикаXDTO = СоздатьФабрикуXDTO(ФайлыXSD);
    
Тип1 = МояФабрикаXDTO.Тип("http://www.1c.ru/demos/products2";, "СвЮрЛицо");
СвЮрЛицо = МояФабрикаXDTO.Создать(Тип1);
...


но у меня основной элемент схемы "Файл" с вложенными элементами, как его создать и заполнить не понимаю.
Подскажите пожалуйста знатоки!
4 fantomrik
 
22.10.18
15:01
точнее по моей xsd

Тип1 = МояФабрикаXDTO.Тип("http://testidze";;, "СвЮрЛицо");
СвЮрЛицо = МояФабрикаXDTO.Создать(Тип1);
5 Cyberhawk
 
22.10.18
15:08
"не могу понять как мне создать xml по данной xsd" // Берешь Altova XML Spy, кормишь ей XSD, генерируешь демо-XML. Если в Альтове все хорошо, тогда уже можно пробовать в 1С повторять.
6 fantomrik
 
22.10.18
15:21
(5) а как это сделать? Altova XML Spy, xsd ним открыл, пишет файл валидный.
7 fantomrik
 
22.10.18
15:31
В 1с схема у меня подгружается как пакет XDTO, "Файл" получатся как составное свойство пакета.
8 Cyberhawk
 
22.10.18
15:46
На твоем месте Я бы уже морально готовился отказаться от создания фабрики без пре-обработки xsd-файлов...
9 fantomrik
 
22.10.18
16:14
Вроде разобрался, немного другим кодом надо было воспользоваться (взял отсюда http://forum-1c.ru/index.php?topic=48037.0)

Было и не работало https://hostingkartinok.com/show-image.php?id=9d6246915596a131e87afc6d5658cdf4

Стало и заработало https://hostingkartinok.com/show-image.php?id=14e783ac059b2b9201a5f712144ca680
10 Cyberhawk
 
22.10.18
16:18
Да, бывают схемы без явного описания типов, а просто с перечислением объектов
11 fantomrik
 
22.10.18
16:21
(10) ну я всего разок сталкивался с XDTO  и то года 2-3 назад, забыл все, а тут еще такая подлянка с перечислением просто. Ну теперь вроде разберусь дальше.
Спасибо всем не равнодушным за помощь!
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.