mcpField
X
xdto-info

xdto-info

github.com/nikolay-shirokovDevelopment74143 installsUpdated today
Repository

About xdto-info

xdto-info is a PowerShell skill for developers working with 1C XDTO packages. It summarizes package and type structure in 1C terms, including required fields, value constraints, and references between types.

Key features

  1. 01List packages and package contents
  2. 02Inspect type properties and constraints
  3. 03Expand nested objects to a chosen depth
  4. 04Filter to required properties
  5. 05Find types that reference a given type
  6. 06Save results to a file

Use cases

  1. 01Identify a package from its namespace and type
  2. 02Check required fields before constructing an XDTO value
  3. 03Assess references before changing a type

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/nikolay-shirokov/cc-1c-skills --skill xdto-info

After installing, type/xdto-infoin Claude Code to confirm it loaded.

Bundled filesscripts/xdto-info.ps1scripts/xdto-info.py

Details

From the project 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.

Comments

Markdown supported