v8: Запись xml с помощью фабрики xdto #565352


#0 by ItimeKodzo
Есть схема: кусок: Пытаюсь записать xml по схеме Попытка получить тип возвращает = неопределено. Подскажите, в чем я ошибаюсь?
#1 by ItimeKodzo
приподыму
#2 by ItimeKodzo
Или если переформулировать вопрос: каким образом с помощью фабрикиXDTO  можно записать произвольный файл, который не содержит сериализируемых объектов 1С?
#3 by Kom-off
Ну, чем способ без фабрики XDTO записать произвольный xml  не подходит?
#4 by ItimeKodzo
Долго и бессмысленно рассказывать: потому что провоцирует дальше на дурацкие разговоры, типа, настоящие программисты руками/в блокноте/на ассемблере все делают. По теме то есть что сказать?
#5 by Широкий
Свойства объекта то доступны?
#6 by ItimeKodzo
Создается фабрика. В ней один пакет, в коллекции корневых свойств пакета свойств которые в xsd нет.
#7 by mikecool
держи,  я тут разобрался в конец то ))
#8 by Kom-off
Вопрос мой был задан не спроста. На форуме разные люди задают вопросы, с разным уровнем знаний. А может быть ТС в синтакс-помощнике сразу наткнулся на XDTO и пропустил работу с XML (кстати, на мой вопрос ответа я так и не получил, т.е. не выяснил причины работы с XDTO, зато натолкнулся, скажем так, на грубость... или, так - на ответ в раздраженном тоне). А по теме, к сожалению сказать нечего. С XDTO плотно не работал.
#9 by mikecool
хдто нужно по одной причине - использование схемы и объектов базы-приемника
#10 by ItimeKodzo
Я конечно, прошу прощения за возможную грубость, но вопрос который вы задаете выглядит стандартным троллингом. Ведь точно ту же систему аргументации можно применить к ситуации: - Не заводится автомобиль. - А чем тебе велосипед не подходит? И дальше можно рассуждать может ТС пропустил в жизни езду на велосипеде, а ему то нужно добираться всего лишь 2 километра по грунтовой дороге, с чем отлично справится хороший горный велосипед.
#11 by ItimeKodzo
Спасибо буду читать, только есть ощущение, что все равно не то. У меня есть сравнительно простая схема, но с некрасивой вложенностью. Ничего по сути сериализировать не нужно. На вход я ее читаю так: Думал и на выход что-то простое будет. Создать ЗначениеXDTO по указанной схеме, заполнить и записать.
#12 by DmitrO
ты ошибся с пространством имен Схема какая-то странная, какое пространство имен она описывает? В схеме, в элементе xs:schema в атрибуте targetNamespace должен быть указан идентификатор пространства имен, его и надо указывать первым параметром в методе фабрики Тип, а у тебя его нет в схеме.
#13 by Serginio1
Посмотри в отладчике какие пакеты и пространства имен
#14 by ItimeKodzo
Такую схему раздает провайдер EDI. На загрузку она отработала нормально, что запутало.    <xs:enumeration value="12E"/> <!-- Sattelzug mit Pritsche 25 t -->    <xs:enumeration value="13E"/> <!-- Sattelzug 24 t mit Pritsche und Kran 10m -->    <xs:enumeration value="14E"/> <!-- Sattelzug 24 t mit Pritsche und Kran 15m -->    <xs:enumeration value="15E"/> <!-- Sattelzug 24 t mit Pritsche und Kran 18m -->    <xs:enumeration value="16E"/> <!-- Sattelzug mit Pritsche 10 t -->    <xs:enumeration value="17E"/> <!-- Tautliner 25t mit Anhaenger 90m3 -->    <xs:enumeration value="18E"/> <!-- Tautliner 25t mit Anhaenger 120m3 -->    <xs:enumeration value="19E"/> <!-- LKW mit Pritsche, Anhaenger + Krank 10m -->    <xs:enumeration value="20E"/> <!-- Sattelzug mit Tankaufbau -->    <xs:enumeration value="21E"/> <!-- LKW mit Pritsche 15t -->    <xs:enumeration value="34E"/> <!-- Anhaenger fuer Schuettgut -->    <xs:enumeration value="35"/>  <!-- LKW/Anhaenger mit Kippvorrichtung -->    <xs:enumeration value="35E"/> <!-- LKW fuer Schuettgut -->    <xs:enumeration value="37E"/> <!-- Anhaenger ausziehbar -->    <xs:enumeration value="51"/>  <!-- Paketdienst der Post -->    <xs:enumeration value="52"/>  <!-- Exppressdienst der Post -->    <xs:enumeration value="53"/>  <!-- Normaler Postversand -->    <xs:enumeration value="54"/>  <!-- Beschleunigter normaler Postversand -->    <xs:enumeration value="97E"/> <!-- LKW mit Anhaenger -->    <xs:enumeration value="98E"/> <!-- LKW mit Kran ebenerdig ohne Anhaenger -->    <xs:enumeration value="99E"/> <!-- LKW mit Kran ebenerdig mit Anhaenger -->    <xs:enumeration value="X01"/> <!-- LKW mit Kran Hochtr. ohne Anhaenger -->    <xs:enumeration value="X02"/> <!-- LKW m. Kran Hochtransp. m. Anhaenger -->    <xs:enumeration value="70"/>  <!-- Fixe Transportinstallationen -->    <xs:enumeration value="80"/>  <!-- Transport auf Binnengewaessern -->    <xs:enumeration value="HEA"/> <!-- Schwere Fracht/150 kg u. mehr pro Stk. -->    <xs:enumeration value="HGA"/> <!-- Haengende Kleidungsstuecke -->    <xs:enumeration value="HWC"/> <!-- Handle with care -->    <xs:enumeration value="PER"/> <!-- Leichtverderbliche Fracht -->    <xs:enumeration value="PSC"/> <!-- Vor Schaedlingen schuetzen -->    <xs:enumeration value="RFG"/> <!-- Entflammbares Gas unter Druck -->    <xs:enumeration value="RFL"/> <!-- Entflammbare Fluessigkeit -->    <xs:enumeration value="RFS"/> <!-- Entflammbare Feststoffe -->    <xs:enumeration value="UST"/> <!-- Nicht stapelbar -->    <xs:enumeration value="VAL"/> <!-- Hochwertige Fracht -->      <xs:enumeration value="201"/> <!-- 1/1 EURO-Palette -->      <xs:enumeration value="203"/> <!-- 1/4 EURO-Palette -->      <xs:enumeration value="204"/> <!-- 1/8 EURO-Palette -->      <xs:enumeration value="CHC"/> <!-- CHEP Gitterbox -->      <xs:enumeration value="PMA"/> <!-- Modularer Palettenaufsetzrahmen 80*100 -->      <xs:enumeration value="PMB"/> <!-- Modularer Palettenaufsetzrahmen 80*120 -->
#15 by ItimeKodzo
Вот, кажется лед тронулся. Добавил = targetNamespace Появился еще один пакет в котором все элементы присутствуют. Но попытка получить тип ТипОсновная = Фабрика.Тип("MyBestNameSpace","DESADV"); Возвращает все еще неопределено.
#16 by Serginio1
Так в отладчике то какой URIПространства имен для второго пакета?
#17 by Serginio1
И посмотри что в пакете
#18 by ItimeKodzo
разобрался. Заменил: На И все срослось. Спасибо.
#19 by ItimeKodzo
Дополнительный вопрос возник? Подскажите кто знает, плз. Как должен быть описан complexType. чтобы при создании объекта из фабрики фабрика его не создавала как объектXDTO, а как СписокXDTO? Пробую его в схеме описать таким образом Но схема создает его как объект, а не список.
#20 by Serginio1
У меня такое описание
#21 by DmitrO
именно, ограничения по количеству надо задавать у элементов (xsd:element) у последовательности это не имеет смысла.
#22 by DmitrO
xs:sequence обязывает элементы содержащиеся в ней следовать в  объявленном порядке.
#23 by Serginio1
Срздавай XDTO пакеты в 1С Экспортируй в xsd схемы анализируй. Можешь также и импортировать схемы
#24 by ItimeKodzo
Разобрался Здесь и определяется  что элемент будет содержать список. 2. ТипPOSITION = Фабрика.Тип("http://www.Retail.org","POSITION");
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям