docs(meta-edit): формулировки инструкции от применения, не от реализации

По фидбэку: инструкция навыка — о том КАК ПРИМЕНЯТЬ, а не как устроено внутри.
Убраны детали реализации: «в канонической позиции», «создаётся/заменяется» механика,
расшифровка флагов через внутренние XML-свойства (req→FillChecking=ShowError и т.п.),
«вложенная XML-структура» → «свойства-списки». Поведение описано в пользовательских
терминах (можно задать даже если не выставлено; опечатка → ошибка; короткие имена в путях).
+ строка-подсказка в SKILL.md про структурные свойства (обнаружимость возможности).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-07-12 11:03:41 +03:00
parent 356258e9c1
commit b8a6a80d9a
3 changed files with 22 additions and 20 deletions
+3
View File
@@ -59,6 +59,9 @@ Batch через `;;` во всех операциях. Подробный си
Позиционная вставка: `"Склад: CatalogRef.Склады >> after Организация"`.
`modify-attribute` умеет и структурные свойства реквизита — формат/подсказку, форму и параметры выбора,
значение заполнения, границы (`Format`, `ChoiceForm`, `ChoiceParameters`, `FillValue`, `MinValue`/`MaxValue` и др.).
### Свойства объекта — [properties-reference.md](properties-reference.md)
| Операция | Формат Value | Пример |
+12 -12
View File
@@ -11,7 +11,7 @@
**Shorthand-формат** реквизитов: `ИмяРеквизита: Тип | флаги`
Флаги: `req` (FillChecking=ShowError), `index` (Indexing=Index), `master` (Master=true, только dimensions), `mainFilter` (MainFilterOperand, только dimensions).
Флаги: `req` — обязательное заполнение; `index` — индексировать; `master` — ведущее измерение (только dimensions); `mainFilter` — основной отбор (только dimensions).
**Позиционная вставка**: `>> after ИмяЭлемента` или `<< before ИмяЭлемента`:
```powershell
@@ -109,9 +109,10 @@ Batch через `;;` — можно указать разные ТЧ: `"Тов
**Спец-операции** (строчные ключи): `name` (переименование), `type` (смена типа), `synonym`.
**Скалярные свойства** — по PascalCase XML-имени (как в выгрузке): `Indexing`, `FillChecking`, `Use`,
`FullTextSearch`, `DataHistory`, `PasswordMode`, `MultiLine`, `Mask`, `CreateOnInput`, `QuickChoice` и др.
Отсутствующее в XML свойство **создаётся** (в канонической позиции); неизвестное имя (опечатка) → **ошибка**.
**Свойства** задавайте по имени свойства 1С (PascalCase, как в конфигураторе): `Indexing`, `FillChecking`,
`Use`, `FullTextSearch`, `DataHistory`, `PasswordMode`, `MultiLine`, `Mask`, `CreateOnInput`, `QuickChoice` и др.
Свойство можно задать, даже если у реквизита оно ещё не выставлено. Опечатка в имени свойства → ошибка
(правка не теряется молча).
```powershell
-Operation modify-attribute -Value "СтароеИмя: name=НовоеИмя, type=Строка(500)"
@@ -121,20 +122,19 @@ Batch через `;;` — можно указать разные ТЧ: `"Тов
### Структурные свойства реквизита
По PascalCase-имени; сложные значения — через JSON DSL (`{ "modify": { "attributes": { "Имя": { ... } } } }`).
Отсутствующее свойство создаётся; существующее — заменяется.
Свойства со сложным значением задавайте через JSON DSL (`{ "modify": { "attributes": { "Имя": { ... } } } }`):
| Ключ | Значение | Пример (JSON) |
|------|----------|---------------|
| `Format` / `EditFormat` / `ToolTip` | строка (мультиязычная) | `"Format": "ДФ=dd.MM.yyyy"` |
| `ChoiceForm` | путь формы | `"ChoiceForm": "Catalog.Товары.Form.ФормаВыбора"` |
| `ChoiceForm` | путь формы выбора | `"ChoiceForm": "Catalog.Товары.Form.ФормаВыбора"` |
| `MinValue` / `MaxValue` | число или строка | `"MinValue": 0, "MaxValue": 100` |
| `FillValue` | значение по типу реквизита | `"FillValue": "EmptyRef"` · `true` · `10` · `{"nil": true}` |
| `FillValue` | значение заполнения | `"FillValue": "EmptyRef"` · `true` · `10` · `{"nil": true}` |
| `LinkByType` | `{dataPath, linkItem?}` | `"LinkByType": {"dataPath": "Вид", "linkItem": 0}` |
| `ChoiceParameterLinks` | `[{name, dataPath, valueChange?}]` | `["Отбор.Организация=Организация"]` |
| `ChoiceParameters` | `[{name, type?, value?}]` | `[{"name": "Отбор.ЭтоГруппа", "value": false}]` |
- `FillValue`: `"EmptyRef"` пустая ссылка по типу реквизита; `{"emptyRef": true}` / `{"nil": true}` — явные маркеры.
- `ChoiceParameters` value: булево/число/строка/ссылочный путь/массив; `type` (напр. `EnumRef.СтавкиНДС`) разворачивает
короткие имена значений (`"Оптовая"` `Enum.…EnumValue.Оптовая`).
- Пути данных (`LinkByType`/`ChoiceParameterLinks`) принимают короткое имя реквизита — разворачивается в полный путь объекта.
- `FillValue`: `"EmptyRef"` пустая ссылка по типу реквизита; `{"emptyRef": true}` / `{"nil": true}` — явные маркеры.
- `ChoiceParameters` value булево/число/строка/ссылочный путь или массив; укажите `type` (напр.
`EnumRef.СтавкиНДС`), чтобы задавать значения короткими именами (`"Оптовая"` вместо полного пути).
- В путях данных (`LinkByType`/`ChoiceParameterLinks`) можно писать короткое имя реквизита вместо полного пути.
@@ -1,23 +1,22 @@
# Свойства объекта и complex properties
# Свойства объекта и свойства-списки
Справочник операций для скалярных свойств объекта и свойств со вложенной XML-структурой (Owners, RegisterRecords, BasedOn, InputByString).
Справочник операций для обычных свойств объекта и свойств-списков (Owners, RegisterRecords, BasedOn, InputByString).
## modify-property
Изменение скалярных свойств объекта по PascalCase XML-имени (как в выгрузке). Формат: `Ключ=Значение`
Изменение свойств объекта по имени свойства 1С (PascalCase, как в конфигураторе). Формат: `Ключ=Значение`
(batch через `;;`):
```powershell
-Operation modify-property -Value "CodeLength=11 ;; DescriptionLength=150"
-Operation modify-property -Value "Hierarchical=true"
```
Отсутствующее в XML свойство **создаётся** (типовые опущенные свойства вроде `FullTextSearch`, `DataHistory`);
неизвестное имя свойства (опечатка) → **ошибка** (а не тихий no-op). Набор допустимых имён — свойства
соответствующего типа объекта.
Свойство можно задать, даже если оно ещё не выставлено у объекта (например `FullTextSearch`, `DataHistory`).
Опечатка в имени свойства → ошибка (правка не теряется молча). Допустимы имена свойств соответствующего типа объекта.
## Complex properties
## Свойства-списки
Свойства со вложенной XML-структурой. Поддерживаются через inline `add-*` / `remove-*` / `set-*` и через JSON `modify.properties`.
Свойства, значение которых — список ссылок. Управляются через inline `add-*` / `remove-*` / `set-*` и через JSON `modify.properties`.
| Свойство | Объекты | Inline-значение |
|----------|---------|-----------------|