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

20.06.16

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

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

Файлы

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

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

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

            Простой пример использования 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С:Предприятие 8 Платные (руб)

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

16500 руб.

02.09.2020    263715    1471    421    

1174

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

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

24900 руб.

20.08.2024    72383    367    170    

319

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

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

22570 руб.

06.10.2023    39180    109    46    

123

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    59316    121    36    

130

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    7128    31    42    

44

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    4258    14    1    

18

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

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

17000 руб.

10.11.2023    25928    97    46    

104

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

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

9500 руб.

17.05.2024    53974    186    63    

218
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Evil Beaver 8408 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 Ответить
Для отправки сообщения требуется регистрация/авторизация