Во многих руководствах (http://infostart.ru/public/98019/, http://pro1c.org.ua/index.php?showtopic=214) по использованию фабрики XDTO фигурируют структуры создания объекта типа

```1c
    структурныйТип = ФабрикаXDTO.Тип("http://www.1c.ru/demos/products1", "Номенклатура1");
    номенклатура = ФабрикаXDTO.Создать(структурныйТип);
```

- если пакет уже в конфигурации.

Либо создание фабрики из *.xsd файлов:

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

У меня есть схема *.xsd во внешнем файле, при этом оформлена она не в виде типов объектов, а виде одного большого свойства (см. скриншот). Я ее импортирую в конфигруацию, как мне теперь создать на ее основе фабрику? То есть, по сути, если я не могу получить тип объекта (все в свойствах), как мне его создать?
---
Ответ тут http://elvis.kz/xdto/

```1c
    Процедура СоздатьXMLФайлНаСервере(ПолноеИмяФайла)

    // Создание типа, который будет использоваться для создания объекта
    // При создании типа указывается пространство имен XDTO-пакета и имя элемента <books>
    КнигиТип = ФабрикаXDTO.Тип("http://www.elvis.kz", "books");

    // Создание объекта <books> на основе описание типа
    Книги = ФабрикаXDTO.Создать(КнигиТип);

    // Заполняем количество книг
    Книги.count = 2;

    // Создаем первую книгу <book>
    Книга = ФабрикаXDTO.Создать(КнигиТип.Свойства.Получить("book").Тип);
    // Заполняем узел <author>. Узел принадлежит первой книге <book>
    Книга.author = "Вадим Панов";
    // Заполняем узел <title>. Узел принадлежит первой книге <book>
    Книга.title = "Анклавы";
    // Добавляем в список книг <books>, первую книгу <book>
    Книги.book.Добавить(Книга);

    // Создаем вторую книгу <book>
    Книга = ФабрикаXDTO.Создать(КнигиТип.Свойства.Получить("book").Тип);
    // Заполняем узел <author>. Узел принадлежит второй книге <book>
    Книга.author = "Дуглас Адамс";
    // Заполняем узел <title>. Узел принадлежит второй книге <book>
    Книга.title = "Автостопом по галактике";
    // Добавляем в список книг <books>, вторую книгу <book>
    Книги.book.Добавить(Книга);

    // Создаем объект ЗаписьXML, который необходим для создания XML файла
    ЗаписьXML = Новый ЗаписьXML;
    // Открываем файл для записи XML
    ЗаписьXML.ОткрытьФайл(ПолноеИмяФайла, "UTF-8");
    // Записываем объект Книги, с пмощью объекта ЗаписьXML
    ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, Книги);
    // Закрываем и сохраняем записанный объект
    ЗаписьXML.Закрыть();

    КонецПроцедуры
```

для доступа к корневому свойству нужно заменить

```1c
    КнигиТип = ФабрикаXDTO.Тип("http://www.elvis.kz", "books");
```

на
```1c
    пакет=ФабрикаXDTO.Пакеты.Получить("http://www.elvis.kz");
    КнигиТип=пакет.КорневыеСвойства.Получить("root").Тип;
```

удачи..
---
Пожалуй даже переформулирую вопрос. Как работать со свойствами в пакете XDTO? Буду благодарен за ссылки в том числе.
---
Ответ тут http://elvis.kz/xdto/

```1c
    Процедура СоздатьXMLФайлНаСервере(ПолноеИмяФайла)

    // Создание типа, который будет использоваться для создания объекта
    // При создании типа указывается пространство имен XDTO-пакета и имя элемента <books>
    КнигиТип = ФабрикаXDTO.Тип("http://www.elvis.kz", "books");

    // Создание объекта <books> на основе описание типа
    Книги = ФабрикаXDTO.Создать(КнигиТип);

    // Заполняем количество книг
    Книги.count = 2;

    // Создаем первую книгу <book>
    Книга = ФабрикаXDTO.Создать(КнигиТип.Свойства.Получить("book").Тип);
    // Заполняем узел <author>. Узел принадлежит первой книге <book>
    Книга.author = "Вадим Панов";
    // Заполняем узел <title>. Узел принадлежит первой книге <book>
    Книга.title = "Анклавы";
    // Добавляем в список книг <books>, первую книгу <book>
    Книги.book.Добавить(Книга);

    // Создаем вторую книгу <book>
    Книга = ФабрикаXDTO.Создать(КнигиТип.Свойства.Получить("book").Тип);
    // Заполняем узел <author>. Узел принадлежит второй книге <book>
    Книга.author = "Дуглас Адамс";
    // Заполняем узел <title>. Узел принадлежит второй книге <book>
    Книга.title = "Автостопом по галактике";
    // Добавляем в список книг <books>, вторую книгу <book>
    Книги.book.Добавить(Книга);

    // Создаем объект ЗаписьXML, который необходим для создания XML файла
    ЗаписьXML = Новый ЗаписьXML;
    // Открываем файл для записи XML
    ЗаписьXML.ОткрытьФайл(ПолноеИмяФайла, "UTF-8");
    // Записываем объект Книги, с пмощью объекта ЗаписьXML
    ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, Книги);
    // Закрываем и сохраняем записанный объект
    ЗаписьXML.Закрыть();

    КонецПроцедуры
```

для доступа к корневому свойству нужно заменить

```1c
    КнигиТип = ФабрикаXDTO.Тип("http://www.elvis.kz", "books");
```

на
```1c
    пакет=ФабрикаXDTO.Пакеты.Получить("http://www.elvis.kz");
    КнигиТип=пакет.КорневыеСвойства.Получить("root").Тип;
```

удачи..
---
В общем-то уже разобрался - моей проблемой было именно то, что не знал о конструкции типа КнигиТип.Свойства.Получить("book").Тип

Поскольку других сообщений нет, отдаю вам СМ.