Пример к статье "XDTO это просто"

20.06.16

Разработка - Инструментарий разработчика

Простой пример использования XDTO к статьям "XDTO это просто" и "XDTO это просто-2" от Evil Beaver.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
1Cv8_XDTO_МиниДокумент.cf
.cf 10,22Kb
14 1 850 руб. Купить
XSD_ДокЗаказа.xsd
.xsd 0,95Kb
7 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

            Простой пример использования XDTO к статьям "XDTO это просто-1" и "XDTO это просто-2" от Evil Beaver

В данном примере приведена конфигурация, в которой в пакетеXDTO описана схема символического мини документа. И одна обработка, в коророй описана процедура Записи и Чтения документа .

 

XML схема мини докунмета:  


<xs:schema xmlns:tns="http://www.sample-package.org/zakaz"xmlns:xs="http://www.w3.org/2001/XMLSchema"targetNamespace="http://www.sample-package.org/zakaz"attributeFormDefault="unqualified"elementFormDefault="qualified">

      <xs:complexType name="ДокЗаказа">

            <xs:sequence>

                  <xs:element name="Дата"type="xs:dateTime"/>

                  <xs:element name="Номер"type="xs:decimal"/>

                  <xs:element name="ТабЧасти"type="tns:ТабЧасти"/>

            </xs:sequence>

      </xs:complexType>

      <xs:complexType name="СтрокаТаблТоваров">

            <xs:sequence>

                  <xs:element name="Наименование"type="xs:string"/>

                  <xs:element name="Цена"type="xs:decimal"/>

            </xs:sequence>

      </xs:complexType>

      <xs:complexType name="ТабЧасти">

            <xs:choice>

                  <xs:element name="Товары"type="tns:СтрокаТаблТоваров"minOccurs="0"maxOccurs="unbounded"/>

            </xs:choice>

      </xs:complexType>

</xs:schema>

 





Пример кода Записи и Чтения миниДокумента, используя схему:


     ТипДокЗаказа          = ФабрикаXDTO.Тип("http://www.sample-package.org/zakaz", "ДокЗаказа");

    ТипТабЧасти           = ФабрикаXDTO.Тип("http://www.sample-package.org/zakaz", "ТабЧасти");
   
ТипСтрокаТаблТоваров  = ФабрикаXDTO.Тип("http://www.sample-package.org/zakaz", "СтрокаТаблТоваров");



   
ДокЗаказа = ФабрикаXDTO.Создать(ТипДокЗаказа);
   
ДокЗаказа.Дата = ТекущаяДата();
   
ДокЗаказа.Номер = 1;


   
ТабЧасть = ФабрикаXDTO.Создать(ТипТабЧасти);


   
СтрокаТоваров ФабрикаXDTO.Создать(ТипСтрокаТаблТоваров);
   
СтрокаТоваров.Наименование = "Карандаш";
   
СтрокаТоваров.Цена = 100;
   
ТабЧасть.Товары.Добавить(СтрокаТоваров);



   
СтрокаТоваров ФабрикаXDTO.Создать(ТипСтрокаТаблТоваров);
   
СтрокаТоваров.Наименование = "Стерка";
   
СтрокаТоваров.Цена = 200;
   
ТабЧасть.Товары.Добавить(СтрокаТоваров);



   
СтрокаТоваров ФабрикаXDTO.Создать(ТипСтрокаТаблТоваров);
   
СтрокаТоваров.Наименование = "Линейка";
   
СтрокаТоваров.Цена = 150;
   
ТабЧасть.Товары.Добавить(СтрокаТоваров);



   
ДокЗаказа.ТабЧасти  = ТабЧасть;

   
//-------------------------------------------------------
    // ЗАПИСЫВАЕМ XML ДОКУМЕНТ

   
Запись = Новый ЗаписьXML;
   
Запись.УстановитьСтроку();
   
ФабрикаXDTO.ЗаписатьXML(Запись, ДокЗаказа);
   
СтрокаXML = Запись.Закрыть();


   
Сообщить( СтрокаXML );

   
//-------------------------------------------------------
    // ЧИТАЕМ XML ДОКУМЕНТ


   
Сообщить(Символы.ПС+Символы.ПС);
   
Сообщить("--------------------------------------------------------");
   
Сообщить(Символы.ПС);

   
Чтение = новый ЧтениеXML;
   
Чтение.УстановитьСтрокуСтрокаXML);

   
ДокЗаказа = ФабрикаXDTO.ПрочитатьXML( Чтение, ТипДокЗаказа );
   
Сообщить("--< миниДокумент >--");

   
Сообщить("Номер:"+ДокЗаказа.Номер);
   
Сообщить("Дата:" +ДокЗаказа.Дата);
   
Сообщить("== товары ==");

    для каждого
стр из  ДокЗаказа.ТабЧасти.Товары Цикл
        
Сообщить("    "+стр.Наименование+"    "+стр.Цена+"р.");
    КонецЦикла;

 



Вступайте в нашу телеграмм-группу Инфостарт

XDTO

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    203666    1120    410    

1024

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    36022    208    104    

197

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

16000 руб.

10.11.2023    16585    71    39    

89

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    24137    63    28    

92

Инструментарий разработчика Программист 1С v8.3 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    34880    124    53    

166

SALE! 30%

Инструментарий разработчика WEB-интеграция 1С v8.3 1C v8.2 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Инструмент для генерации OpenApi (Swagger) спецификаций на основании файлов конфигураций 1С. Это консольное и десктопное приложение на языке Rust с полноценным редактором кода, содержащим автозамену и подсвечивание ошибок для быстрого и безошибочного написания документирующего комментария.

18000 12600 руб.

22.11.2024    1863    1    0    

8

Инструментарий разработчика Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

6000 руб.

07.02.2018    107376    249    100    

313
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Evil Beaver 8358 20.06.16 11:35 Сейчас в теме
Все это очень мило, но в чем смысл данной публикации?
2. sashapere 160 20.06.16 15:31 Сейчас в теме
(1) Evil Beaver, c нуля пытался сделать пример, убил день пока всё заработало т.к. толком не получалось составить рабочую схему. Этот пример наверно больше для новичков в этой теме как я ,просто чтобы было немного больше живых примеров.
jerry_maguire; +1 Ответить
3. lavrov.online 07.01.18 19:22 Сейчас в теме
4. izekia 08.05.18 21:35 Сейчас в теме
Так и не понял для чего был использован xsd:choice
sashapere; +1 Ответить
Оставьте свое сообщение