xdto-info について
xdto-info は、1C の XDTO パッケージを扱う開発者向けの PowerShell スキルです。必須項目や値の制約、型間の参照を1Cの表記で確認できます。
主な機能
- 01パッケージと内容の一覧表示
- 02型のプロパティと制約の確認
- 03指定した深さまで入れ子を展開
- 04必須プロパティのみ抽出
- 05特定の型を参照する型の検索
- 06結果のファイル保存
活用シーン
- 01namespace と型名からパッケージを特定
- 02XDTO 値の作成前に必須項目を確認
- 03型の変更前に参照関係を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nikolay-shirokov/ cc-1c-skills --skill xdto-infoインストール後、Claude Code で/xdto-infoを入力して読み込まれたか確認します。
同梱ファイルscripts/xdto-info.ps1scripts/xdto-info.py
README(原文)English
プロジェクトの README よりこの README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。
/xdto-info — Анализ структуры пакета XDTO
Показывает структуру типа в терминах 1С: какой тип значения присваивать, что обязательно,
где нужен вложенный объект, какие значения допустимы. Заменяет чтение Package.bin
или XSD с ручным переводом xs:decimal → Число и lowerBound="0" → необязательный.
Параметры
| Параметр | Обязательный | Описание |
|---|---|---|
PackagePath | да | Каталог пакета либо корень исходников конфигурации. Псевдоним — -Path |
Namespace | нет | Выбрать пакет по пространству имён (когда путь — корень исходников) |
Package | нет | Выбрать пакет по имени объекта метаданных |
Name | нет | Имя типа. Без выбранного пакета ищется по всей конфигурации |
Depth | нет | Глубина разузлования вложенных объектов. По умолчанию 1 |
RequiredOnly | нет | Оставить только обязательные свойства — скелет для «заполни обязательное». Необязательный объект уходит вместе со своим содержимым |
Mode | нет | used-by — показать, кто ссылается на тип |
Limit / Offset | нет | Пагинация. По умолчанию 150 строк |
OutFile | нет | Записать результат в файл (UTF-8 BOM) |
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-info.ps1" -PackagePath "<путь>"
Что показывает
Точка входа определяется по пути: корень исходников — список пакетов, каталог пакета — его состав.
| Вызов | Результат |
|---|---|
-PackagePath src | все пакеты конфигурации: имя, число типов, namespace |
-PackagePath src/XDTOPackages/ОбменСБанком | импорты, точки входа, списки типов |
... -Name ПлатежныйДокумент | структура типа для заполнения |
... -Name ПлатежныйДокумент -Depth 3 | то же с раскрытием вложенных объектов |
... -Mode used-by -Name СуммаТип | кто ссылается на тип, включая соседние пакеты |
Когда известны namespace и тип, но не имя пакета
Так бывает чаще всего: namespace и имя типа видны в коде или в образце XML, а как называется пакет — нет. Вызов повторяет строку, от которой отталкиваешься:
# ФабрикаXDTO.Тип("urn:1C.ru:ClientBankExchange", "ПлатежныйДокумент")
... -PackagePath src -Namespace "urn:1C.ru:ClientBankExchange" -Name ПлатежныйДокумент
Если известно только имя типа — укажи -Name и корень исходников: тип найдётся
по всем пакетам. При нескольких совпадениях навык покажет, где именно, чтобы уточнить.
Что в выводе
Свойства показаны так, как их предстоит заполнять в коде: тип значения — в нотации
1С и с учётом ограничений (Строка(6), Число(18,2)), обязательность и коллекции —
флагами, для перечислимых типов перечислены допустимые значения. Непомеченное
свойство необязательно.
Обозначения, которые сами по себе неочевидны, навык поясняет прямо в выводе — и только те, что в нём встретились.
Типичный workflow
/xdto-info src— какие пакеты есть/xdto-info src -Namespace "<URI>"— точки входа и типы пакета/xdto-info src -Namespace "<URI>" -Name <Тип> -Depth 2— структура для кода- Перед правкой типа:
-Mode used-by -Name <Тип>— кого затронет
Нужна сама XML-схема, а не сводка, — это /xdto-decompile.