|
Не даются XDTO-пакеты | ☑ | ||
---|---|---|---|---|
0
kornet76
25.05.12
✎
16:16
|
Второй день бьюсь, даже стыдно.
Хочу по следующей схеме ну хоть что-нибудь состряпать в xml <?xml version="1.0" encoding="windows-1251" ?> - <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> - <xs:element name="Header"> - <xs:annotation> <xs:documentation>Декларация об объемах розничной продажи алкогольной и спиртосодержащей продукции</xs:documentation> </xs:annotation> - <xs:complexType> - <xs:all> - <xs:element name="Type"> - <xs:annotation> <xs:documentation>Описание формы отчетности</xs:documentation> </xs:annotation> - <xs:complexType> - <xs:choice> - <xs:element name="Primary"> - <xs:annotation> <xs:documentation>Первичная форма отчетности</xs:documentation> </xs:annotation> <xs:complexType /> </xs:element> - <xs:element name="Korrect"> - <xs:annotation> <xs:documentation>Корректирующая форма отчетности</xs:documentation> </xs:annotation> - <xs:complexType> - <xs:attribute name="Number" use="required"> - <xs:annotation> <xs:documentation>Номер корректировки</xs:documentation> </xs:annotation> - <xs:simpleType> - <xs:restriction base="xs:integer"> <xs:totalDigits value="3" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> - <xs:element name="Quarter"> - <xs:annotation> <xs:documentation>Отчетный период за квартал</xs:documentation> </xs:annotation> - <xs:simpleType> - <xs:restriction base="xs:string"> <xs:length value="1" /> <xs:enumeration value="3" /> <xs:enumeration value="6" /> <xs:enumeration value="9" /> <xs:enumeration value="0" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="PrizOtch"> + <xs:annotation> ...... и т.д. Делаю все, как по учебнику: ФайлыXSD = Новый Массив(); ФайлыXSD.Добавить("D:\EPF\Работем с XML\11-h.xsd"); МояФабрикаXDTO = СоздатьФабрикуXDTO(ФайлыXSD); КварталТип = МояФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema", "Quarter"); КварталХДТ = МояФабрикаXDTO.Создать(КварталТип); Вылетаю с ошибкой Несоответствие типов (параметр номер '1') т.е. КварталТип - неопределен. Нутром понимаю, что проблема в пространстве имен "http://www.w3.org/2001/XMLSchema". Здесь у меня в голове бардак: Насколько я понял пространство имен "http://www.w3.org/2001/XMLSchema" - какое-то стандартное, в котором никиким "Quarter" и не пахнет. С другой стороны оно объявляется в моей схеме. Здесь, видимо собака и зарыта. Помогите, плиз ее откопать, кому не лень) |
|||
1
sikuda
25.05.12
✎
16:22
|
Лучше схемы XML понимать без 1С. Книга Самоучитель XML Ильдар Хабибуллин.
А потом посмотреть что сделала 1С... Твой ответ правильный... |
|||
2
kornet76
26.05.12
✎
10:07
|
Только из-за фамилии автора стоит почитать) /шутка для поклонников старой группы Крематорий)
|
|||
3
DmitrO
26.05.12
✎
11:29
|
В схеме собственно не указано пространство имен, которому будут принадлежать объявляемые в ней типы.
|
|||
4
DmitrO
26.05.12
✎
11:32
|
++
оно объявляется атрибутом TargetNamespace в элементе schema |
|||
5
maxx079
26.05.12
✎
13:41
|
да не мучайся ты с этими ФабрикамиХДТО
создавать ХМЛ проще всего через стандартную ЗаписьХМЛ - быстро и просто вот при чтении ХМЛ Фабрика действительно удобный инструмент |
|||
6
kornet76
27.05.12
✎
14:19
|
Покурил Хабибуллина, голова слегка прояснилась)
Подкорректировал схему,получилось <?xml version="1.0" encoding="windows-1251"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:hdr="http://www.SampleStore.com/Account" targetNamespace="http://www.SampleStore.com/Account" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="Header"> <xs:annotation> ... Все равно ЭлементТип = МояФабрикаXDTO.Тип("http://www.SampleStore.com/Account", "Header"); не определен( Ладно, побившись головой о схемы пошел простым путем МойXML.ЗаписатьНачалоЭлемента("Quarter"); ЗаписатьXML(МойXML, "1"); МойXML.ЗаписатьКонецЭлемента(); Получил запись вида: <Quarter> <string>1</string> </Quarter> А у ребят в примере к схеме, к которому я должен придти <Quarter>1</Quarter> Как избавиться от string-ов? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |