mcpField
X
xdto-info

xdto-info

github.com/nikolay-shirokov開発74143 回インストール今日更新
リポジトリ

xdto-info について

xdto-info は、1C の XDTO パッケージを扱う開発者向けの PowerShell スキルです。必須項目や値の制約、型間の参照を1Cの表記で確認できます。

主な機能

  1. 01パッケージと内容の一覧表示
  2. 02型のプロパティと制約の確認
  3. 03指定した深さまで入れ子を展開
  4. 04必須プロパティのみ抽出
  5. 05特定の型を参照する型の検索
  6. 06結果のファイル保存

活用シーン

  1. 01namespace と型名からパッケージを特定
  2. 02XDTO 値の作成前に必須項目を確認
  3. 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

  1. /xdto-info src — какие пакеты есть
  2. /xdto-info src -Namespace "<URI>" — точки входа и типы пакета
  3. /xdto-info src -Namespace "<URI>" -Name <Тип> -Depth 2 — структура для кода
  4. Перед правкой типа: -Mode used-by -Name <Тип> — кого затронет

Нужна сама XML-схема, а не сводка, — это /xdto-decompile.

コメント