Skip to content
Back to skills

1c Xdto Edit

ASecurity

Точечное редактирование пакета XDTO 1С. Используй когда нужно добавить, изменить или удалить тип или свойство в существующем пакете, переименовать пакет, сменить пространство имен

  • 73 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 2, 2026
ai-agentsshellbash

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 2, 2026

npx -y skills add Desko77/claude-code-skills-1c --skill 1c-xdto-edit --agent claude-code

Installs 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 with every re-scan.

Security grade badge for 1c Xdto Edit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/desko77-1c-xdto-edit/badge)](https://www.skillsdirectory.com/skills/desko77-1c-xdto-edit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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`

Files in this skill

  • SKILL.md6.2 KB
  • scripts/xdto-edit.ps133.1 KB
  • scripts/xdto-edit.py35.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.