본문으로 건너뛰기
cccskills
무료GitHub에 공개

xdto-compile

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(4)

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

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

/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.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

cf-edit

무료

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Nikolay-Shirokov/cc-1c-skills7182026년 10월 23일 업데이트

cf-info

무료

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Nikolay-Shirokov/cc-1c-skills7182026년 10월 23일 업데이트

cf-init

무료

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Nikolay-Shirokov/cc-1c-skills7182026년 10월 23일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Nikolay-Shirokov/cc-1c-skills7182026년 10월 23일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Nikolay-Shirokov/cc-1c-skills7182026년 10월 23일 업데이트

cfe-diff

무료

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Nikolay-Shirokov/cc-1c-skills7182026년 10월 23일 업데이트

Nikolay-Shirokov의 스킬 모두 보기

이 스킬의 문제 신고