mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-16 02:43:14 +03:00
c0487c51b7
Кнопка команды может нести <Parameter> (после CommandName) — параметр команды:
- xr:MDObjectRef (20 в корпусе 8.3.24): ссылка на объект метаданных, напр.
DocumentJournal.Взаимодействия (команда ShowInList «Показать в списке»);
- v8:TypeDescription (16): описание типа <v8:Type>cfg:DocumentRef.X</v8:Type>
(команда CreateByParameter «Создать по параметру»).
Декомпилятор не ловил → терялось (форма ЭлектронноеПисьмоИсходящее и др.).
DSL: ключ button.parameter (синоним «параметр»), дизамбигуация по форме значения —
строка → MDObjectRef (verbatim), объект {type} → TypeDescription (грамматика типа,
переиспользует Emit-Type с tag=Parameter). Декомпилятор: MDObjectRef → строка,
TypeDescription → {type} (Decompile-Type). Позиция: после CommandName.
Выборка 16 форм с Button Parameter: match 16/16, 0 потерь (оба вида). Кейс commands
(+кнопка с параметр:{type:CatalogRef} через рус-синоним) сертифицирован загрузкой в 1С —
позиция Parameter и синоним подтверждены. MDObjectRef-вариант: та же позиция эмиссии +
corpus round-trip (ShowInList требует list-контекст, синтетически не воспроизвести).
Регресс 43/43, ps1==py. parameter в knownKeys allowlist.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
49 lines
2.4 KiB
JSON
49 lines
2.4 KiB
JSON
{
|
|
"name": "Форма с командами и кнопками",
|
|
"preRun": [
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": { "type": "Catalog", "name": "Справочник1" },
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": { "type": "DataProcessor", "name": "Команды" },
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "form-add/scripts/form-add",
|
|
"args": { "-ObjectPath": "{workDir}/DataProcessors/Команды.xml", "-FormName": "Форма" }
|
|
}
|
|
],
|
|
"params": { "outputPath": "DataProcessors/Команды/Forms/Форма/Ext/Form.xml" },
|
|
"validatePath": "DataProcessors/Команды/Forms/Форма/Ext/Form.xml",
|
|
"input": {
|
|
"title": "Форма с командами",
|
|
"mobileCommandBarContent": ["Панель", "Выполнить"],
|
|
"elements": [
|
|
{ "cmdBar": "Панель", "horizontalLocation": "right", "children": [
|
|
{ "button": "Выполнить", "command": "Выполнить", "defaultButton": true },
|
|
{ "button": "Закрыть", "stdCommand": "Close", "representationInContextMenu": "None" },
|
|
{ "button": "СоздатьПоТипу", "command": "Выполнить", "параметр": { "type": "CatalogRef.Справочник1" } }
|
|
]},
|
|
{ "input": "Результат", "path": "Результат", "multiLine": true, "height": 8, "readOnly": true }
|
|
],
|
|
"attributes": [
|
|
{ "name": "Объект", "type": "DataProcessorObject.Команды", "main": true },
|
|
{ "name": "Результат", "type": "string" }
|
|
],
|
|
"commands": [
|
|
{ "name": "Выполнить", "action": "ВыполнитьОбработка", "shortcut": "Ctrl+Enter", "use": false, "modifiesSavedData": true, "picture": { "src": "StdPicture.ExecuteTask", "transparentPixel": { "x": 1, "y": 1 } } },
|
|
{ "name": "БезЗаголовка", "action": "БезЗаголовкаОбработка", "title": "", "representation": "Picture", "picture": { "src": "StdPicture.Refresh" } }
|
|
],
|
|
"commandInterface": {
|
|
"commandBar": {
|
|
"important": [
|
|
{ "command": "Form.Command.Выполнить", "defaultVisible": false, "index": 0, "visible": false }
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|