mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-26 22:51:03 +03:00
docs(xdto): устранить противоречие «как править пакет» между навыками
На один и тот же вопрос четыре инструкции отвечали по-разному: decompile объявлял себя «основным способом менять пакет», edit сам себя занижал до варианта для маленьких пакетов, compile про edit не упоминал вовсе, а workflow валидатора его не знал. Модель получала бы разный ответ в зависимости от того, на какой файл попала, причём два из них уводили от единственного навыка, созданного ровно для этой задачи. Единое правило проведено через все четыре: точечная правка — xdto-edit; переработка схемы целиком или знакомство с ней — decompile → compile. Заодно в decompile добавлена развилка на xdto-info, чтобы разграничить «нужна схема» и «нужна сводка для кода». Мелочи: грамматика в xdto-edit, служебное значение -Mode auto убрано из таблицы параметров (пользователь его не пишет), описан флаг [до N]. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
a146fc1467
commit
1d49c16a67
@@ -102,4 +102,5 @@ XSD выразительнее модели XDTO. Всё, что не перен
|
||||
3. `/xdto-validate <каталог-исходников>/XDTOPackages/<Имя>` — убедиться, что типы разрешились
|
||||
4. `/db-load-xml` + `/db-update`
|
||||
|
||||
Правка существующего пакета: `/xdto-decompile` → правка XSD → `/xdto-compile -Force`.
|
||||
Правка существующего пакета: точечно — `/xdto-edit`; переработать схему целиком —
|
||||
`/xdto-decompile` → правка XSD → `/xdto-compile -Force`.
|
||||
|
||||
@@ -30,12 +30,15 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-decompile.ps1"
|
||||
... -PackagePath src/XDTOPackages/ОбменСБанком -OutFile bank.xsd
|
||||
```
|
||||
|
||||
## Правка пакета
|
||||
## Переработка схемы целиком
|
||||
|
||||
`/xdto-decompile` → правка XSD → `/xdto-compile -Force` возвращает пакет без потерь,
|
||||
включая имя, синоним и комментарий объекта метаданных — они выгружаются
|
||||
в `xs:annotation/xs:appinfo`. Это основной способ менять существующий пакет:
|
||||
отдельных операций правки не нужно, схема читается и правится целиком.
|
||||
в `xs:annotation/xs:appinfo`.
|
||||
|
||||
Этот путь нужен, когда схему меняют широко или сначала надо разобраться, как она
|
||||
устроена. Чтобы поправить одно свойство, схему целиком читать не нужно — `/xdto-edit`.
|
||||
Если нужна не схема, а сводка «что присвоить и что обязательно», — `/xdto-info`.
|
||||
|
||||
В схеме могут встретиться атрибуты с префиксом `xdto:` — так записано то, что
|
||||
XML Schema выразить не может (например `nillable` у атрибута). Схема при этом остаётся
|
||||
|
||||
@@ -10,11 +10,11 @@ allowed-tools:
|
||||
|
||||
# /xdto-edit — Точечное редактирование пакета XDTO
|
||||
|
||||
Меняет один элемент пакета, не требуя читать и переписывать всю схему. Для больших
|
||||
Меняет один элемент пакета, не требуя читать и переписывать всю схему — для больших
|
||||
пакетов (`EnterpriseData` — около мегабайта) это единственный практичный путь.
|
||||
|
||||
Для маленького пакета проще связка `/xdto-decompile` → правка XSD → `/xdto-compile -Force`:
|
||||
она даёт тот же результат и позволяет видеть схему целиком.
|
||||
Если нужно переработать схему целиком или сперва разобраться, как она устроена, —
|
||||
`/xdto-decompile` → правка XSD → `/xdto-compile -Force`.
|
||||
|
||||
## Параметры
|
||||
|
||||
@@ -78,7 +78,7 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-edit.ps1" -Pac
|
||||
`set-namespace` меняет `targetNamespace`, все внутренние ссылки на собственные типы
|
||||
и `<Namespace>` объекта метаданных. Пакеты, импортирующие старое пространство имён,
|
||||
**не изменяются** — при версионировании они и должны продолжать смотреть на прежнее.
|
||||
Навык их перечислит; если правка не версионная, поправь их импорты сами.
|
||||
Навык их перечислит; если правка не версионная, поправь их импорты сам.
|
||||
|
||||
После правки автоматически запускается `/xdto-validate` — отключается через `-NoValidate`.
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ allowed-tools:
|
||||
| `Package` | нет | Выбрать пакет по имени объекта метаданных |
|
||||
| `Name` | нет | Имя типа. Без выбранного пакета ищется по всей конфигурации |
|
||||
| `Depth` | нет | Глубина разузлования вложенных объектов. По умолчанию 1 |
|
||||
| `Mode` | нет | `used-by` — кто ссылается на тип. По умолчанию `auto` |
|
||||
| `Mode` | нет | `used-by` — показать, кто ссылается на тип |
|
||||
| `Limit` / `Offset` | нет | Пагинация. По умолчанию 150 строк |
|
||||
| `OutFile` | нет | Записать результат в файл (UTF-8 BOM) |
|
||||
|
||||
@@ -79,7 +79,8 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-info.ps1" -Pac
|
||||
- **`объект X`** — свойству нужно присвоить вложенный объект XDTO, а не значение.
|
||||
Раскрыть его состав — `-Depth 2` и больше.
|
||||
- **`[обязательный]`** — без заполнения запись XML не пройдёт. Непомеченное свойство
|
||||
необязательно. `[список]` — коллекция, заполняется через `.Добавить()`.
|
||||
необязательно. `[список]` — коллекция, заполняется через `.Добавить()`;
|
||||
`[до N]` — коллекция с ограничением сверху.
|
||||
- **`← СуммаТип`** — исходное имя типа из схемы; слева от стрелки уже развёрнутое значение.
|
||||
- **`[значение элемента]`** — свойство хранит собственное значение элемента,
|
||||
остальные свойства такого типа лежат в атрибутах XML.
|
||||
|
||||
@@ -39,6 +39,6 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-validate.ps1"
|
||||
|
||||
## Типичный workflow
|
||||
|
||||
1. `/xdto-compile` или правка через `/xdto-decompile` → `/xdto-compile -Force`
|
||||
1. `/xdto-compile`, `/xdto-edit` или переработка через `/xdto-decompile` → `/xdto-compile -Force`
|
||||
2. `/xdto-validate <путь>` — до загрузки в базу
|
||||
3. `/db-load-xml` + `/db-update`
|
||||
|
||||
Reference in New Issue
Block a user