Автоматическое создание XSD-файла по выбранным типам объектов конфигурации для загрузки в XDTO пакет в 1С 8.3

29.01.23

Интеграция - WEB-интеграция

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Автоматическое создание XSD-файла по выбранным типам объектов конфигурации для загрузки в XDTO пакет в 1С 8.3:
.epf 23,61Kb
137
137 Скачать (1 SM) Купить за 1 850 руб.

Данная обработка пригодится тем, кому нужно создать WEB-сервис который должен возвращать некоторые реквизиты для выбранного списка объектов метаданных. Например, нужны только:
- Наименование, Код, ИНН и КПП из Контрагентов;
- Наименование, Дата и Номер из Договоров;
- Документы Поступления НМА со списком принятых НМА;
- Документы Принятие к Учету НМА;

XML-схему всей конфигурации можно выгрузить в XSD-файл, а потом вычищать его, но это долго и неэффективно. К тому же в любой момент к документам НМА могут добавить ОС, а потом еще захотят Поступления номенклатуры и снова придется заниматься ручным трудом.

Чтобы этого избежать можно добавить необходимые типы, галочками проставить требуемые реквизиты и выгрузить готовый XSD-файл. А если потребуется что-то добавить, то при повторном открытии все Ваши настройки будут сохранены, поскольку в обработке включено автоматическое сохранение данных формы.


Порядок работы с обработкой:
1. Открываем обработку и добавляем в список необходимые типы:

2. Для каждого типа выбираем, какие реквизиты (включая стандартные и реквизиты табличных частей) нужно выгружать. Если нужны все реквизиты, то можно воспользоваться кнопками на командной панели, а если все реквизиты всех типов, то можно воспользоваться подменю «Для всех типов»

3. После этого достаточно выбрать папку выгрузки XSD-файла и нажать кнопку «Создать схему XSD» и в выбранной папке будет создан файл «XSD_schema.xsd». Если данный файл там уже есть – он будет перезаписан. А если Вы хотите, чтобы файл имел другое имя – задайте полный путь, включая ИмяФайла.xsd.
На скриншоте для выгрузки выбран реквизит СтранаРегистрации, который имеет тип Справочник.СтраныМира. Данный тип не выбран в Списке выгружаемых типов, поэтому по умолчанию такие реквизиты выгружаются с типом «anyType». Если Вы все же хотите, чтобы такие ссылочные типы были указаны верно, но не хотите выбирать множество мелких справочников типа Страны, Валюты, Банки и т.п. можно установить галочку «Создавать рекурсивную структуру подчиненных объектов». В этом случае справочник СтраныМира будет выгружен полностью (включая все реквизиты) и для каждого реквизита будет произведено рекурсивное добавление его ссылочных типов.

4. В ветке XDTO пакетов конфигуратора нажимаем  Правой кнопкой -  Импорт XML-схемы  и выбираем созданный XSD-файл.
В моей выгрузке я не устанавливал галочку «Создавать рекурсивную структуру подчиненных объектов», поэтому реквизит СтранаРегистрации имеет тип «anyType».

Данная обработка основана на публикации: infostart.ru/public/615256/
И содержит в себе множество доработок:
- Выгружаемые типы можно указывать списком. Данный список – не список ссылок, а список описаний типов.
- Расширены типы, которые можно указывать: Справочники, Документы, Плана видов характеристик и даже Плана обмена.
- В список реквизитов добавлены стандартные реквизиты (Ссылка, Дата, Код, Наименование и др.) и их выгрузку также можно отключить.
- Опциональная возможность включать рекурсивный обход типов, не указанных в списке выгружаемых, но присутствующих в реквизитах.
- Доработаны случаи, когда реквизит является ПланомСчетов, ПланомВидовХарактеристик, ПланыВидовРасчета или ПланомОбмена.
- Исправлены мелкие ошибки.
- Для решения собственной задачи Перечисления было решено выгружать с типом строка и не добавлять в его как отдельный тип в XSD-схему. Данная версия не работает с Перечислениями (тип EnumRef).


Протестировано на платформе 8.3.11.2899, но должно работать на любой 8.3.*

XSD XDTO WEB-сервисы

См. также

Оптовая торговля Розничная торговля WEB-интеграция Конфигурации 1cv8 Платные (руб)

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

57600 руб.

26.11.2024    693    1    1    

4

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    18105    19    22    

17

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23): 1С:Управление торговлей, 1С:Управление Нашей фирмой 3, 1С:Комплексная автоматизация 2, Объединенное решение: Модуль 1С:CRM 3 (3.0.21.3) +1С:ERP Управление предприятием 2. При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20279    13    19    

18

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    1914    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. nbeliaev 836 23.10.18 06:54 Сейчас в теме
Идея хорошая, но какой практический смысл? Судя по скриншотам, такой пакет XDTO все равно придется дорабатывать руками. Может Вы скажите, где вы использовали, полученный таким образом ПакетXDTO? И еще интересно - что у Вас добавилось в дериктивы импорта?
2. w.r. 650 23.10.18 11:48 Сейчас в теме
Очень полезная штука для создания обменов! Спасибо!
yurazyuraz; al_zzz; +2 Ответить
3. mityushov.vv 257 23.10.18 14:54 Сейчас в теме
Добрый день, вот я делал что то подобное https://infostart.ru/public/615256/, но только у меня выгружаются все метаданные рекурсивно по выбранным реквизитам объекта, может будет полезной и для вас то же.
yurazyuraz; +1 Ответить
4. mityushov.vv 257 23.10.18 17:51 Сейчас в теме
(3) А это на основе моей обработки то и сделано)))) молодец
yurazyuraz; +1 Ответить
5. jobkostya1c_ERP 100 27.10.18 11:33 Сейчас в теме
Вот , дельная вещь. Надо запомнить и проверять.
6. mvxyz 326 08.12.18 10:22 Сейчас в теме
Полезный инструмент. Спасибо!
7. nkroshko 21.01.19 17:44 Сейчас в теме
Добрый день, а если в объекте есть реквизит составного типа, например с типами СправочникСсылка.Организации и СправочникСсылка.Контрагенты, то при установленном флаге "Создавать рекурсивную структуру подчиненных объектов" как будет формироваться схема? Будут ли в нее добавлены справочники Организации и Контрагенты? И какой тип при этом будет иметь реквизит со составным типом?
8. al_zzz 303 18.12.21 19:00 Сейчас в теме
Скачал, попробовал из БП3.0 выгрузить схему. Споткнулась на метаданном "Задание"(так-то я задания вообще не планировал выгружать). Но идея - огонь! Я поправлю и таки воспользуюсь данной обработкой.
Ещё хочу допилить в ней возможность сохранять и восстанавливать результаты промежуточной работы. Это, на мой взгляд, вообще очень важная возможность, так как в текущей задаче с вероятностью 99% придется менять схему и не хочется заново настройки набивать. Может быть, в обработке уже имеется она, да я просмотрел?
13. yurazyuraz 14.07.23 15:56 Сейчас в теме
(8) Да, спотыкается на задании - на бизнес процессе
Как поправить нашли вариант ?
14. al_zzz 303 14.07.23 19:43 Сейчас в теме
(13) Я не стал искать, а просто взял то, что есть и допилил уже вручную. Там ещё с перечислениями косяк - обработка их как строку конвертирует.
9. user1209971 75 23.05.22 10:10 Сейчас в теме
Для метаданных добавленных в расширений не работает - падает в ошибку
и с перечислениями проблема, не даёт выбрать
10. user1050439 7 02.07.23 16:25 Сейчас в теме
Создаю фабрику используя обработку https://infostart.ru/1c/tools/927540/, выбираю только часть реквизитов у объекта к выгрузке. затем создаю типы объекты на их основе, заполняю с ЗаполнитьЗначенияСвойств. Затем записываю в строку. Но в строке также видно, что при сериализации добавились и поля, которые не входят в типы упомянутые в схеме xsd (обработка позволяет обрезать некоторые типы объекта). Если это ссылочные типы, то они получают значение "00000000-0000-0000-0000-000000000000", а если это не ссылочные типы, они выгружаются как есть.

Как сделать чтобы лишнее не выгружалось?
11. yurazyuraz 13.07.23 17:29 Сейчас в теме
Очень полезная обработка!
12. yurazyuraz 14.07.23 10:49 Сейчас в теме
Судя по всему сделана на базе https://infostart.ru/public/615256
В описании не понятно в чем отличие от ориганала.
Оригинал я скачал штука полезная, но для себя сразу сделал вывод нужна небольшая доработка.
Этот инструмент позволяет быстро создать как минимум шаблон XDTO.

Сейчас как раз пишем обмен он-лайн между базами , прописывать XDTO весьма утомительное занятие.
15. yurazyuraz 17.07.23 16:25 Сейчас в теме
Вопрос к Автору

Для табличных частей не формируется

МаксимальноеКоличество = -1
МинимальноеКоличесто = 0
16. yurazyuraz 17.07.23 17:38 Сейчас в теме
Проблема в том что что для табличных частей обработка ставит

МаксимальноеКоличество = 1
МинимальноеКоличесто = 1

а надо что бы ставила

МаксимальноеКоличество = -1
МинимальноеКоличесто = 0
Прикрепленные файлы:
17. yurazyuraz 17.07.23 18:10 Сейчас в теме
Добавил код
Элемент = СоздатьЭлемент(ТабличнаяЧастьСтр, ДобСписокТипов, СоотвествиеСозданых, ОснПространствоИмен, ИмяТипа, Истина);

Схема.Содержимое[0].Содержимое.МаксимальноВходит =-1;
Схема.Содержимое[0].Содержимое.МинимальноВходит  = 0;


получилось поставить ,но на все реквизиты - на эти элементы ставить не надо Код , КоличествоПолосДлина
не могу найти как поставить только на этот элемент

<xs:element name="ЗатратыДляКалькуляции" type="tns:CatalogTabularSectionRow.ВариантыУпаковки.ЗатратыДляКалькуляции"/>


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ent="http://v8.1c.ru/8.1/xdto" xmlns:tns="http://optisoftfull/Load" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://optisoftfull/Load" attributeFormDefault="unqualified" elementFormDefault="qualified">
	<xs:import namespace="http://v8.1c.ru/8.1/xdto"/>
	<xs:complexType name="CatalogTabularSectionRow.ВариантыУпаковки.ЗатратыДляКалькуляции">
		<xs:sequence>
			<xs:element name="ВидЗатрат" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="CatalogObject.ВариантыУпаковки">
		<xs:sequence minOccurs="0" maxOccurs="unbounded">
			<xs:element name="Код" type="xs:string"/>
			<xs:element name="КоличествоПолосДлина" type="xs:decimal"/>
			<xs:element name="ЗатратыДляКалькуляции" type="tns:CatalogTabularSectionRow.ВариантыУпаковки.ЗатратыДляКалькуляции"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="СписокОбъектов">
		<xs:sequence minOccurs="0" maxOccurs="unbounded">
			<xs:element name="ВариантыУпаковки" type="tns:CatalogObject.ВариантыУпаковки"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>

Показать
Оставьте свое сообщение