Корневые свойства xdto

1. spartak85 26.06.15 18:59 Сейчас в теме
Добрый день.
Подскажите по такому вопросу.
Имеем xdto и корневое свойство signed. По примеру видно, что data должен быть внутри signed.
data полностью формируется и записывается в xml.
Как сделать так, чтобы data оказался внутри signed?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Serginio 943 27.06.15 12:15 Сейчас в теме
http://www.forum.mista.ru/topic.php?id=625423#24

Прошу прощения, не то.
Покажи как ты формируешь объект
3. Serginio 943 27.06.15 12:48 Сейчас в теме
Я так понимаю, что по корневому свойству ты можешь получить тип

Корневые объекты – перечень корневых объектов пакета XDTO. Представляет собой объявления объектов/значений, которые могут являться корневыми элементами документов XML, принадлежащих URI пространства имен данного пакета XDTO.


Источник: http://erpsolution.ru/forum/showthread.php?t=876&page=2

http://forum.infostart.ru/forum24/topic76907/

Функция ПолучитьОбъектXDTO(Фабрика, Владелец, Имя, ЗначениеСвойства = "")
    Если ТипЗнч(Владелец) = Тип("ПакетXDTO") Тогда
        СвойствоXDTO = Владелец.КорневыеСвойства.Получить(Имя);
    Иначе
        СвойствоXDTO = Владелец.Свойства.Получить(Имя);
    КонецЕсли;    
    ТипXDTO = СвойствоXDTO.Тип;
    Если  ТипЗнч(ТипXDTO) = Тип("ТипЗначенияXDTO") Тогда
        ОбъектXDTO = Фабрика.Создать(ТипXDTO, ЗначениеСвойства);
    Иначе
        ОбъектXDTO = Фабрика.Создать(ТипXDTO);
    КонецЕсли;    
    Возврат ОбъектXDTO;
КонецФункции    
Показать



Равносильно тому
ТипXDTO=Фабрика.Тип(ПространствоИмен,"CMSDetached");
  ОбъектXDTO = Фабрика.Создать(ТипXDTO);
CodeNull; native-api; +2 Ответить
4. Serginio 943 27.06.15 15:07 Сейчас в теме
Кстати

Посмотрел УТ там есть такая функция

Функция ПолучитьТипОбъектаCML(Тип, ВерсияСхемы) Экспорт
 
    
 
    МассивПути = СтрРазделить(Тип, \".\");
 
    
 
    ПервыйЭлемент = МассивПути[0];
 
    Если Лев(ПервыйЭлемент,1) = \"{\" И Прав(ПервыйЭлемент,1) = \"}\" Тогда
 
        ИмяПакета = Сред(ПервыйЭлемент, 2, СтрДлина(ПервыйЭлемент) - 2);
 
        Коллекция = ФабрикаXDTO.Пакеты.Получить(ИмяПакета).КорневыеСвойства;
 
    ИначеЕсли ВерсияСхемы <> \"4.02\" Тогда
 
        ТипОбъекта = ФабрикаXDTO.Тип(ВерсияСхемы, ПервыйЭлемент);
 
        Коллекция = ТипОбъекта.Свойства;
 
    Иначе
 
        ТипОбъекта = ФабрикаXDTO.Тип(\"http://v8.1c.ru/edi/edi_stnd\", ПервыйЭлемент);
 
        Коллекция = ТипОбъекта.Свойства;
 
    КонецЕсли;
 
    
 
    МассивПути.Удалить(0);
 
    Пока МассивПути.Количество() > 0 Цикл
 
        
 
        Если Коллекция = Неопределено Тогда
 
            Возврат Неопределено;
 
        КонецЕсли;
 
        
 
        Свойство = Коллекция.Получить(МассивПути[0]);
 
        Если Свойство = Неопределено Тогда
 
            Возврат Неопределено;
 
        КонецЕсли;
 
        
 
        ТипОбъекта = Свойство.Тип;
 
        МассивПути.Удалить(0);
 
        Попытка
 
            Коллекция = ТипОбъекта.Свойства;
 
        Исключение
 
            Коллекция = Неопределено;
 
        КонецПопытки;
 
        
 
    КонецЦикла;
 
    
 
    Возврат ТипОбъекта;
 
    
 
КонецФункции
Показать
Оставьте свое сообщение

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