Каскад инструкции: ядро 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>
4.1 KiB
Параметры выбора и связь по типу
Свойства поля ввода (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.Виды.Пестицид"
]
Связи параметров выбора (choiceParameterLinks)
Параметры выбора, значение которых берётся из другого поля формы (а не задано фиксированно). Типовой случай — отбор списка договоров по выбранному контрагенту. Массив объектов { name, dataPath, valueChange? }:
name— имя параметра выбора.dataPath— путь к полю формы, чьё значение подставляется в параметр.valueChange— что делать с уже выбранным значением при смене источника:Clear(очистить, необязательно — поведение по умолчанию) /DontChange(не менять).
{ "input": "Договор", "path": "Объект.Договор",
"choiceParameterLinks": [
{ "name": "Отбор.Владелец", "dataPath": "Объект.Контрагент" }
]
}
Короткая форма — строки "name=dataPath", опциональный хвост :Clear / :DontChange:
"choiceParameterLinks": [ "Отбор.Организация=Объект.Организация", "Отбор.Тип=Объект.Тип:DontChange" ]
Связь по типу (typeLink)
Тип значения поля определяется другим полем формы (напр. поле «Значение» субконто, тип которого задаётся выбранным видом субконто). Объект { dataPath, linkItem }:
dataPath— путь к полю, задающему тип.linkItem— индекс элемента связи (необязательно, по умолчанию0).
"typeLink": { "dataPath": "Объект.ВидСубконто", "linkItem": 0 }
Короткая форма — строка "dataPath" либо "dataPath#linkItem":
"typeLink": "Объект.ВидСубконто"
"typeLink": "Объект.ВидСубконто#1"