mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-13 22:35:16 +03:00
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:
@@ -59,6 +59,9 @@ Batch через `;;` во всех операциях. Подробный си
|
||||
|
||||
Позиционная вставка: `"Склад: CatalogRef.Склады >> after Организация"`.
|
||||
|
||||
`modify-attribute` умеет и структурные свойства реквизита — формат/подсказку, форму и параметры выбора,
|
||||
значение заполнения, границы (`Format`, `ChoiceForm`, `ChoiceParameters`, `FillValue`, `MinValue`/`MaxValue` и др.).
|
||||
|
||||
### Свойства объекта — [properties-reference.md](properties-reference.md)
|
||||
|
||||
| Операция | Формат Value | Пример |
|
||||
|
||||
@@ -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-значение |
|
||||
|----------|---------|-----------------|
|
||||
|
||||
Reference in New Issue
Block a user