mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-17 16:25:16 +03:00
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"
|
||
```
|