Точечное редактирование пакета XDTO 1С. Используй когда нужно добавить, изменить или удалить тип или свойство в существующем пакете, переименовать пакет, сменить пространство имен
Scanned 9/2/2026
Install to Claude Code
npx -y skills add Desko77/claude-code-skills-1c --skill 1c-xdto-edit --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of 1c Xdto Edit?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/desko77-1c-xdto-edit)More formats (shields.io, HTML) on the badges page.
---
name: 1c-xdto-edit
description: Точечное редактирование пакета XDTO 1С. Используй когда нужно добавить, изменить или удалить тип или свойство в существующем пакете, переименовать пакет, сменить пространство имен
argument-hint: <PackagePath> -Operation <операция> [-Target <путь>] [-Value <значение>] [-NoValidate]
allowed-tools:
- Bash
- Read
- Glob
---
# /xdto-edit - Точечное редактирование пакета XDTO
Меняет один элемент пакета, не требуя читать и переписывать всю схему - для больших
пакетов (`EnterpriseData` - около мегабайта) это единственный практичный путь.
Если нужно переработать схему целиком или сперва разобраться, как она устроена, -
`/xdto-decompile` → правка XSD → `/xdto-compile -Force`.
## Параметры
| Параметр | Обязательный | Описание |
|----------|--------------|----------|
| `PackagePath` | да | Каталог пакета, `Ext/Package.bin` или `<Имя>.xml`. Псевдоним - `-Path` |
| `Operation` | да | Операция из таблицы ниже |
| `Target` | зависит | Адрес: имя типа или путь `Тип.Свойство` |
| `Value` | зависит | Фрагмент XSD, литерал, URI или текст. `@путь` - взять содержимое из файла |
| `NoValidate` | нет | Не запускать `1c-xdto-validate` после правки |
```powershell
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`.
```powershell
... -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`.
Ограничение длины и прочие фасеты задаются вложенным типом:
```xml
<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`
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!