/xdto-edit - Точечное редактирование пакета XDTO

SkillAI & models

Targeted editing of a 1C XDTO package. Use when you need to add, modify, or delete a type or property in an existing package, rename the package, or change its namespace

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the /xdto-edit - Точечное редактирование пакета XDTO skill

What this skill tells your AI

The instructions your AI receives, as published by desko77/claude-code-skills-1c in skills/1c-xdto-edit/SKILL.md and read by ahel’s review.

Меняет один элемент пакета, не требуя читать и переписывать всю схему - для больших пакетов (EnterpriseData - около мегабайта) это единственный практичный путь.

Если нужно переработать схему целиком или сперва разобраться, как она устроена, - /xdto-decompile → правка XSD → /xdto-compile -Force.

Параметры

ПараметрОбязательныйОписание
PackagePathдаКаталог пакета, Ext/Package.bin или <Имя>.xml. Псевдоним - -Path
OperationдаОперация из таблицы ниже
TargetзависитАдрес: имя типа или путь Тип.Свойство
ValueзависитФрагмент XSD, литерал, URI или текст. @путь - взять содержимое из файла
NoValidateнетНе запускать 1c-xdto-validate после правки
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-edit.ps1" -PackagePath "<путь>" -Operation <op> -Target "<адрес>" -Value "<значение>"

Операции

Операция-Target-Value
add-propertyимя типа<xs:element> или <xs:attribute>
replace-propertyТип.Свойствоновое объявление целиком
remove-propertyТип.Свойство-
add-type-<xs:complexType> или <xs:simpleType>
remove-typeимя типа-
add-enumимя типа значениялитерал
add-import-URI пространства имен
rename-новое имя объекта метаданных
set-synonym-синоним
set-comment-комментарий
set-namespace-новый URI пространства имен

Батч через ;; там, где перечисление осмысленно: remove-property, remove-type, add-enum, add-import.

... -Operation add-property -Target "Платеж" -Value '<xs:element name="Комментарий" type="xs:string" minOccurs="0"/>'
... -Operation remove-property -Target "Платеж.Комментарий ;; Платеж.Черновик"
... -Operation add-enum -Target "ВидДокумента" -Value "Инкассо ;; Аккредитив"
... -Operation rename -Value ОбменСБанком

Содержимое всегда описывается фрагментом XML-схемы - тем же языком, что и в /xdto-compile. Отдельных параметров вида -MinOccurs нет: чтобы поменять свойство, дай его новое объявление целиком через replace-property.

Ограничение длины и прочие фасеты задаются вложенным типом:

<xs:element name="Комментарий" minOccurs="0">
    <xs:simpleType>
        <xs:restriction base="xs:string"><xs:maxLength value="200"/></xs:restriction>
    </xs:simpleType>
</xs:element>

Многострочный фрагмент передавай файлом: -Value "@frag.xsd". Инлайн через оболочку надежен только для однострочных фрагментов без вложенных кавычек.

Адресация

Путь Тип.Свойство. Точка безопасна: имена типов и свойств - идентификаторы 1С. Путь продолжается внутрь встроенных типов: ПлатежныйДокумент.ДатаСписано.ИдПлатежа.

Посмотреть, что есть в пакете и как называется нужный тип, - /xdto-info. Перед правкой типа полезно /xdto-info -Mode used-by -Name <Тип>: покажет, кого затронет изменение.

Что тянет за собой переименование и смена namespace

rename меняет имя в объекте метаданных, переименовывает файл <Имя>.xml и каталог <Имя>/, правит регистрацию в Configuration.xml. Новое имя проверяется на допустимость как идентификатор 1С и на занятость.

set-namespace меняет targetNamespace, все внутренние ссылки на собственные типы и <Namespace> объекта метаданных. Пакеты, импортирующие старое пространство имен, не изменяются - при версионировании они и должны продолжать смотреть на прежнее. Навык их перечислит; если правка не версионная, поправь их импорты сам.

После правки автоматически запускается /xdto-validate - отключается через -NoValidate.

Типичный workflow

  1. /xdto-info <пакет> - найти нужный тип
  2. /xdto-info <пакет> -Mode used-by -Name <Тип> - если меняешь существующее
  3. /xdto-edit <пакет> -Operation <op> ...
  4. /db-load-xml + /db-update

Signals

GitHub stars
61
Forks
14
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
x-1c-xdto-edit
Source
github.com/desko77/claude-code-skills-1c