осваиваю XDTO - никак не осваивается. #748031


#0 by DES
сделал по книжке пример, пишет в файл , все норм, взял рабочую схему, импортировал, не пойму как доступиться к данным. В примере начиналось с Типа, а в схеме начинается со свойства. Как быть?
#1 by Asmody
#2 by Serginio1
root это корневые свойства, содержащие тип
#3 by DES
да почитал я, не вкриваю
#4 by DES
подскажите как создать объект доступный для заполнения из 1с
#5 by Serginio1
так в 2 все расписано. Нужно просто читать внимательно
#6 by DES
да несколько раз прочитал
#7 by DES
мне нужно объявить еще тип со свойством root ?
#8 by kiruha
#9 by DES
да сделал я по этому примеру - работает, а по нужной схеме - нет
#10 by Serginio1
Нет. У root  есть тип тип=ФабрикаXDTO.Пакеты.Получить(ПространствоИменПакета).КорневыеСвойства.Получить("root").тип; Объект=ФабрикаXDTO.Создать(Тип);
#11 by DES
о, спс к zap.d_data - есть доступ, а  далее zap.d_data.elem2 есть  неопределено.
#12 by Serginio1
Вот видишь в 2 все есть. Читай внимательнее и посмотри какие еще есть типы у типа
#13 by DES
так в чем смысл всего? по этим свойствам собрать переменную? и тогда уже ее юзать ?
#14 by DES
у меня там в свойствах - 1000 строк,  запарюсь собирать.
#15 by Serginio1
У типа есть еще 2 свойтва Тип.Свойства Напримет типddata=Тип.Свойства["d_data"].тип
#16 by Serginio1
Смотри в 2 функцию ПолучитьТипОбъектаCML
#17 by Serginio1
#18 by DES
в чем смысл схемы? т.е. ее импорта. чтобы потом так извращаться ?
#19 by Serginio1
Вообщето есть еще типы. Читай внимательнее 2. Ты все с наскока хочешь взять. Смысл в том, как и в любом другом языке, что каждый объект имеет тип и поля объекта тоже имеют типы.
#20 by Serginio1
19 + у каждого типа есть конструктор
#21 by DES
что должен сделать с импортированной схемой ? чтобы использовать метод апвап.пвапв.папв = "тратата" ? просто назначить тип переменной тип согласно схемы или построить структуру переменной дергая каждую строчку схемы ?
#22 by Serginio1
Представь, что это объект представляет из себя дерево структур. Для строка, дат, чисел тебе тип создавать не надо. Просто некоторые поля являются объектами у которых есть свои поля итд
#23 by DES
нет, я же не совсем незнайка, я все себе представляю, я не знаю как это используют. Как инициализировать к использованию ?
#24 by DES
я предполагаю, что есть описание (схема). Назначил переменной описание и начал юзать. Что я не так понимаю?
#25 by DES
по имени Тип.Свойства["d_data"].тип = не идет так идет Тип.Свойства[0].тип - но так не нужно.
#26 by Serginio1
Смотри 17 Тип.Свойства.Получить("d_data").Тип. Но проще ПолучитьТипОбъектаCML("{ИмяПакета}.root.d_data") Ну почитай же ты то, что тебе дают.
#27 by DES
да читаю, читаю. Пока китайская грамота
#28 by DES
а что делать с результатом ПолучитьТипОбъектаCML ? мне то нужно создать и записать XML-файл.
#29 by Serginio1
Получаешь тип, на основании его создаешь объект. Заполнить и присвоить
#30 by DES
А как можно полученный ОбъектXDTO получить в строку, кроме как через записать в файлXML и потом его прочитать как текст ?
#31 by Serginio1
Стр=ЧтениеXML.Записать;
#32 by MaxS
Имеет ли смысл сейчас плотно заняться освоением XDTO ? Это устаревающая или наоборот развивающаяся технология? ))
#33 by Serginio1
Имеет. XSD это одно из полных форматов описаний данных. Поэтому XML удобно применять для обмена сложных форматов данных. Есть еще ProtoBuf но у XML уже куча наработок. Никуда он не денется. У JSON пока тяжело с описанием и проблемы с той же датой
#34 by DES
это уникальная технология. only insade 1c8
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С