mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-02 16:20:54 +03:00
Каскад инструкции: ядро SKILL.md покрывает большинство задач, для редких/нишевых конструкций — 12 тематических файлов в references/ (по индексу в SKILL.md). Контракт references: только «как собрать DSL для задачи» — без механики эмиссии, синонимов, авторезолва и forgiving (это тихая помощь модели); ссылки только внутри навыка; область строго по элементу-владельцу. Корректность ядра (наборы значений выверены по корпусу + доменно, forgiving/legacy исключены из авторских): - group расцеплён: ориентация (vertical/horizontalIfPossible/alwaysHorizontal) + отдельный ключ behavior (collapsible/popup) — popup-группы стали выразимы; - titleLocation: полный набор none/left/right/top/bottom/auto; - commandBarLocation += Bottom; searchStringLocation += Bottom/CommandBar/PullFromTop; - общее свойство tooltip; events: null → авто-имя обработчика; правило уникальности имён. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
74 lines
4.1 KiB
Markdown
74 lines
4.1 KiB
Markdown
# Параметры выбора и связь по типу
|
||
|
||
Свойства поля ввода (`input`), управляющие выбором значения: чем ограничен список выбора и каким будет тип значения. Имена параметров — строки 1С как есть (`"Отбор.Х"`).
|
||
|
||
```json
|
||
{ "input": "Контрагент", "path": "Объект.Контрагент",
|
||
"choiceParameters": [
|
||
{ "name": "Отбор.Активный", "value": true },
|
||
{ "name": "Отбор.ВидПродукции", "value": ["Enum.Виды.Агрохимикат", "Enum.Виды.Пестицид"] }
|
||
],
|
||
"choiceParameterLinks": [
|
||
{ "name": "Отбор.Организация", "dataPath": "Объект.Организация" },
|
||
{ "name": "Отбор.Тип", "dataPath": "Объект.Тип", "valueChange": "DontChange" }
|
||
],
|
||
"typeLink": { "dataPath": "Объект.ЗначениеДата", "linkItem": 0 }
|
||
}
|
||
```
|
||
|
||
## Параметры выбора (`choiceParameters`)
|
||
|
||
Фиксированные значения параметров выбора, отбирающие список значений независимо от данных формы. Массив объектов `{ name, value }`:
|
||
|
||
- `name` — имя параметра (`"Отбор.Активный"`).
|
||
- `value` — значение. Допустимы: bool, число, строка, ISO-дата (`"2020-01-01T00:00:00"`), ссылка-путь (`Enum.X.Y`, `Catalog.X`). **Массив** значений задаёт фиксированный массив.
|
||
|
||
Короткая форма — строки `"name=value"`; значение с запятыми становится массивом, `true`/`false` → bool, число → число, остальное → строка/ссылка:
|
||
|
||
```json
|
||
"choiceParameters": [
|
||
"Отбор.Активный=true",
|
||
"Отбор.ВидПродукции=Enum.Виды.Агрохимикат, Enum.Виды.Пестицид"
|
||
]
|
||
```
|
||
|
||
## Связи параметров выбора (`choiceParameterLinks`)
|
||
|
||
Параметры выбора, значение которых берётся из **другого поля формы** (а не задано фиксированно). Типовой случай — отбор списка договоров по выбранному контрагенту. Массив объектов `{ name, dataPath, valueChange? }`:
|
||
|
||
- `name` — имя параметра выбора.
|
||
- `dataPath` — путь к полю формы, чьё значение подставляется в параметр.
|
||
- `valueChange` — что делать с уже выбранным значением при смене источника: `Clear` (очистить, необязательно — поведение по умолчанию) / `DontChange` (не менять).
|
||
|
||
```json
|
||
{ "input": "Договор", "path": "Объект.Договор",
|
||
"choiceParameterLinks": [
|
||
{ "name": "Отбор.Владелец", "dataPath": "Объект.Контрагент" }
|
||
]
|
||
}
|
||
```
|
||
|
||
Короткая форма — строки `"name=dataPath"`, опциональный хвост `:Clear` / `:DontChange`:
|
||
|
||
```json
|
||
"choiceParameterLinks": [ "Отбор.Организация=Объект.Организация", "Отбор.Тип=Объект.Тип:DontChange" ]
|
||
```
|
||
|
||
## Связь по типу (`typeLink`)
|
||
|
||
Тип значения поля определяется другим полем формы (напр. поле «Значение» субконто, тип которого задаётся выбранным видом субконто). Объект `{ dataPath, linkItem }`:
|
||
|
||
- `dataPath` — путь к полю, задающему тип.
|
||
- `linkItem` — индекс элемента связи (необязательно, по умолчанию `0`).
|
||
|
||
```json
|
||
"typeLink": { "dataPath": "Объект.ВидСубконто", "linkItem": 0 }
|
||
```
|
||
|
||
Короткая форма — строка `"dataPath"` либо `"dataPath#linkItem"`:
|
||
|
||
```json
|
||
"typeLink": "Объект.ВидСубконто"
|
||
"typeLink": "Объект.ВидСубконто#1"
|
||
```
|