Skip to content
cccskills
FreePublished on GitHub

xdto-compile

Создание пакета XDTO 1С из XML-схемы (XSD). Используй когда нужно добавить в конфигурацию пакет XDTO — под обмен, интеграцию, веб-сервис или внешний XML-формат

The English summary is being prepared. Showing the original description.

Run score Not tested

See how to install

Files included (4)

  • SKILL.md7.1 KB
  • scripts/xdto-compile.ps158.2 KB
  • scripts/xdto-compile.py59.9 KB
  • xsd-reference.md5.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

/xdto-compile — Создание пакета XDTO из XML-схемы

Собирает пакет XDTO по XML-схеме: XDTOPackages/<Имя>.xml, XDTOPackages/<Имя>/Ext/Package.bin и регистрацию в Configuration.xml.

Вход — обычная XML-схема, писать её нужно так же, как для любого другого инструмента.

Параметры

ПараметрОбязательныйОписание
XsdPathодин из двухПуть к файлу XML-схемы. Псевдоним — -Path
Xsdодин из двухСхема строкой, вместо -XsdPath
OutputDirдаКаталог исходников конфигурации или расширения — там, где лежит Configuration.xml
NameнетИмя объекта метаданных. По умолчанию — из xs:appinfo, иначе имя файла XSD, санированное под идентификатор 1С
SynonymнетСиноним (строка). По умолчанию — из xs:appinfo, иначе имя пакета. Для нескольких языков задавай синоним в схеме, блоком xs:appinfo
CommentнетКомментарий. По умолчанию — из xs:appinfo
ForceнетПерезаписать существующий пакет. Без него навык откажется затирать уже собранный пакет
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-compile.ps1" -XsdPath "<схема.xsd>" -OutputDir "<каталог-исходников>"

Примеры:

... -XsdPath bank.xsd -OutputDir src -Name ОбменСБанком -Synonym "Обмен с банком"
... -XsdPath fss.xsd  -OutputDir src -Force

Читай предупреждения

XSD выразительнее модели XDTO. Всё, что не переносится один в один, навык переносит приближённо и пишет об этом:

Предупреждения (2) — конструкции XSD без точного соответствия в модели XDTO:
  ! Документ : вложенная xs:choice уплощена в последовательность — выбор одного из вариантов не сохранён
  ! Документ : кратность на вложенной частице (<xs:sequence minOccurs/maxOccurs>) не выражается в модели XDTO

Такое сообщение означает, что пакет собран, но схема упрощена. Если упрощение недопустимо — меняй схему (например, разноси варианты xs:choice по разным типам), а не игнорируй.

Что переносится приближённо: вложенные xs:sequence/xs:choice (уплощаются в плоский список свойств), xs:all (становится последовательностью), кратность на частице, substitutionGroup, xs:key/keyref/unique, xs:redefine.

xs:group и xs:attributeGroup раскрываются по ссылке — их содержимое попадает в тип. xs:include игнорируется: зависимости в XDTO разрешаются только по namespace, поэтому включаемую схему нужно собрать отдельным пакетом и заменить include на import.

Посмотреть, что получилось

Модель пакета лежит в Ext/Package.bin. Несмотря на расширение, это текстовый XML, но читать его напрямую обычно незачем: состав собранного пакета показывает /xdto-info, а полную схему — /xdto-decompile.

Зависимости между пакетами

<xs:import namespace="…"/> разрешается по namespace среди пакетов конфигурации или расширения. Если пакета с таким пространством имён нет, платформа при загрузке молча подменит тип на xs:anyType — без ошибки. Собирай сначала зависимости, потом зависящий пакет, и проверяй результат через /xdto-validate.

Какие пакеты уже собраны, видно в ChildObjects файла Configuration.xml.

Что XSD выразить не может

Две вещи модель XDTO умеет, а XML Schema — нет: nillable у атрибута и qualified у отдельного свойства. Они пишутся атрибутами из пространства имён модели:

<xs:attribute name="Представление" type="xs:string"
              xmlns:xdto="http://v8.1c.ru/8.1/xdto" xdto:nillable="true"/>

Схема остаётся валидной — валидаторы такие атрибуты игнорируют. Полный список и таблица соответствий XSD ↔ XDTO — в xsd-reference.md.

Свойства объекта метаданных можно задать прямо в схеме:

<xs:annotation>
    <xs:appinfo>
        <xdto:package xmlns:xdto="http://v8.1c.ru/8.1/xdto">
            <xdto:name>ОбменСБанком</xdto:name>
            <xdto:synonym lang="ru">Обмен с банком</xdto:synonym>
        </xdto:package>
    </xs:appinfo>
</xs:annotation>

Типичный workflow

  1. Получить XSD от контрагента (или выгрузить схему существующего пакета: /xdto-decompile)
  2. /xdto-compile -XsdPath <файл> -OutputDir <каталог-исходников> — прочитать предупреждения
  3. /xdto-validate <каталог-исходников>/XDTOPackages/<Имя> — убедиться, что типы разрешились
  4. /db-load-xml + /db-update

Правка существующего пакета: точечно — /xdto-edit; переработать схему целиком — /xdto-decompile → правка XSD → /xdto-compile -Force.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Точечное редактирование конфигурации 1С. Используй когда нужно изменить свойства конфигурации, добавить или удалить объект из состава, настроить роли по умолчанию, поменять раскладку панелей, настроить начальную страницу

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills720Updated Oct 23, 2026

Анализ структуры конфигурации 1С — свойства, состав, счётчики объектов. Используй для обзора конфигурации — какие объекты есть, сколько их, какие настройки

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills720Updated Oct 23, 2026

Создать пустую конфигурацию 1С (scaffold XML-исходников). Используй когда нужно начать новую конфигурацию с нуля

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills720Updated Oct 23, 2026

Валидация конфигурации 1С. Используй после создания или модификации конфигурации для проверки корректности

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills720Updated Oct 23, 2026

Заимствование объектов из конфигурации 1С в расширение (CFE). Используй когда нужно перехватить метод, изменить форму или добавить реквизит к существующему объекту конфигурации

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills720Updated Oct 23, 2026

Анализ расширения конфигурации 1С (CFE) — состав, заимствованные объекты, перехватчики, проверка переноса. Используй когда нужно понять что содержит расширение или проверить перенесены ли вставки в конфигурацию

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills720Updated Oct 23, 2026

See all skills by Nikolay-Shirokov

Report a problem with this skill