Files
cc-1c-skills/.claude/skills/form-compile/references/choice-params.md
T
Nick ShirokovandClaude Opus 4.8 09d7097476 feat(form-compile): авторские references + индекс, корректность наборов значений
Каскад инструкции: ядро 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>
2026-06-14 13:16:22 +03:00

4.1 KiB
Raw Blame History

Параметры выбора и связь по типу

Свойства поля ввода (input), управляющие выбором значения: чем ограничен список выбора и каким будет тип значения. Имена параметров — строки 1С как есть ("Отбор.Х").

{ "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, число → число, остальное → строка/ссылка:

"choiceParameters": [
  "Отбор.Активный=true",
  "Отбор.ВидПродукции=Enum.Виды.Агрохимикат, Enum.Виды.Пестицид"
]

Параметры выбора, значение которых берётся из другого поля формы (а не задано фиксированно). Типовой случай — отбор списка договоров по выбранному контрагенту. Массив объектов { name, dataPath, valueChange? }:

  • name — имя параметра выбора.
  • dataPath — путь к полю формы, чьё значение подставляется в параметр.
  • valueChange — что делать с уже выбранным значением при смене источника: Clear (очистить, необязательно — поведение по умолчанию) / DontChange (не менять).
{ "input": "Договор", "path": "Объект.Договор",
  "choiceParameterLinks": [
    { "name": "Отбор.Владелец", "dataPath": "Объект.Контрагент" }
  ]
}

Короткая форма — строки "name=dataPath", опциональный хвост :Clear / :DontChange:

"choiceParameterLinks": [ "Отбор.Организация=Объект.Организация", "Отбор.Тип=Объект.Тип:DontChange" ]

Тип значения поля определяется другим полем формы (напр. поле «Значение» субконто, тип которого задаётся выбранным видом субконто). Объект { dataPath, linkItem }:

  • dataPath — путь к полю, задающему тип.
  • linkItem — индекс элемента связи (необязательно, по умолчанию 0).
"typeLink": { "dataPath": "Объект.ВидСубконто", "linkItem": 0 }

Короткая форма — строка "dataPath" либо "dataPath#linkItem":

"typeLink": "Объект.ВидСубконто"
"typeLink": "Объект.ВидСубконто#1"