From 86cddc8ec325130e847e3c398f92d2a2efd0e4ad Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sat, 18 Jul 2026 12:21:12 +0300 Subject: [PATCH] =?UTF-8?q?docs(form-compile):=20=D0=B7=D0=B0=D0=B4=D0=BE?= =?UTF-8?q?=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=20controlRepresentation=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D1=81=D0=B2=D1=91=D1=80=D0=BD=D1=83=D1=82=D1=8B=D1=85=20?= =?UTF-8?q?=D0=B3=D1=80=D1=83=D0=BF=D0=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Свойство «Отображение управления» (TitleHyperlink/Picture) уже эмитилось через generic-скаляры, но не было в таблице свойств группы SKILL.md; в спеке значилось неверное `Picture | Text`. Добавлен фокус-кейс с обоими литералами, снапшот верифицирован загрузкой в 1С 8.3.24. Co-Authored-By: Claude Opus 4.8 (1M context) --- .claude/skills/form-compile/SKILL.md | 1 + docs/1c-form-spec.md | 3 +- .../collapsible-control-representation.json | 32 +++ .../Configuration.xml | 252 ++++++++++++++++++ .../DataProcessors/КонтрольСвёртки.xml | 34 +++ .../КонтрольСвёртки/Ext/ManagerModule.bsl | 0 .../КонтрольСвёртки/Ext/ObjectModule.bsl | 0 .../КонтрольСвёртки/Forms/Форма.xml | 22 ++ .../КонтрольСвёртки/Forms/Форма/Ext/Form.xml | 102 +++++++ .../Forms/Форма/Ext/Form/Module.bsl | 19 ++ .../Ext/ClientApplicationInterface.xml | 18 ++ .../Languages/Русский.xml | 16 ++ 12 files changed, 498 insertions(+), 1 deletion(-) create mode 100644 tests/skills/cases/form-compile/collapsible-control-representation.json create mode 100644 tests/skills/cases/form-compile/snapshots/collapsible-control-representation/Configuration.xml create mode 100644 tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки.xml create mode 100644 tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Ext/ManagerModule.bsl create mode 100644 tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Ext/ObjectModule.bsl create mode 100644 tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Forms/Форма.xml create mode 100644 tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Forms/Форма/Ext/Form.xml create mode 100644 tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Forms/Форма/Ext/Form/Module.bsl create mode 100644 tests/skills/cases/form-compile/snapshots/collapsible-control-representation/Ext/ClientApplicationInterface.xml create mode 100644 tests/skills/cases/form-compile/snapshots/collapsible-control-representation/Languages/Русский.xml diff --git a/.claude/skills/form-compile/SKILL.md b/.claude/skills/form-compile/SKILL.md index 2d09af1c..223027d5 100644 --- a/.claude/skills/form-compile/SKILL.md +++ b/.claude/skills/form-compile/SKILL.md @@ -187,6 +187,7 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/form-compile.ps1" - | `showTitle: true` | Показывать заголовок группы | | `united: false` | Левый край полей ввода выравнивается только в пределах этой группы (по умолчанию `true` — сквозное выравнивание по самому длинному заголовку, в т.ч. с соседними группами) | | `collapsed: true` | Для `behavior: "collapsible"` / `"popup"` — группа создаётся свёрнутой | +| `controlRepresentation` | Отображение управления свёрткой (`behavior: "collapsible"`): `"TitleHyperlink"` (гиперссылка заголовка, по умолчанию) / `"Picture"` (картинка) | | `representation` | `"none"`, `"normal"`, `"weak"`, `"strong"` | | `children: [...]` | Вложенные элементы | diff --git a/docs/1c-form-spec.md b/docs/1c-form-spec.md index fb6dfc12..b5149648 100644 --- a/docs/1c-form-spec.md +++ b/docs/1c-form-spec.md @@ -478,7 +478,8 @@ ChildItems style:... style:... true | false - Picture | Text + + TitleHyperlink | Picture ... diff --git a/tests/skills/cases/form-compile/collapsible-control-representation.json b/tests/skills/cases/form-compile/collapsible-control-representation.json new file mode 100644 index 00000000..8d2328e9 --- /dev/null +++ b/tests/skills/cases/form-compile/collapsible-control-representation.json @@ -0,0 +1,32 @@ +{ + "name": "Свёрнутые группы: отображение управления (Picture / TitleHyperlink)", + "preRun": [ + { + "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": "Отображение управления свёрткой", + "elements": [ + { "group": "vertical", "name": "ГруппаКартинка", "behavior": "collapsible", "title": "Картинка", "controlRepresentation": "Picture", "children": [ + { "input": "Поле1", "path": "Поле1", "title": "Поле 1" } + ]}, + { "group": "vertical", "name": "ГруппаГиперссылка", "behavior": "collapsible", "collapsed": true, "title": "Гиперссылка заголовка", "controlRepresentation": "TitleHyperlink", "children": [ + { "input": "Поле2", "path": "Поле2", "title": "Поле 2" } + ]} + ], + "attributes": [ + { "name": "Объект", "type": "DataProcessorObject.КонтрольСвёртки", "main": true }, + { "name": "Поле1", "type": "string" }, + { "name": "Поле2", "type": "string" } + ] + } +} diff --git a/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/Configuration.xml b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/Configuration.xml new file mode 100644 index 00000000..b499c9c4 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/Configuration.xml @@ -0,0 +1,252 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + + TestConfig + + + ru + TestConfig + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + Русский + КонтрольСвёртки + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки.xml b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки.xml new file mode 100644 index 00000000..d3de943a --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки.xml @@ -0,0 +1,34 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + + КонтрольСвёртки + + + ru + Контроль свёртки + + + + true + DataProcessor.КонтрольСвёртки.Form.Форма + + false + + + + +
Форма
+
+
+
diff --git a/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Ext/ManagerModule.bsl b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Ext/ManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Ext/ObjectModule.bsl b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Forms/Форма.xml b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Forms/Форма.xml new file mode 100644 index 00000000..dffeea01 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Forms/Форма.xml @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + + +
+
\ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Forms/Форма/Ext/Form.xml new file mode 100644 index 00000000..bb738d80 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Forms/Форма/Ext/Form.xml @@ -0,0 +1,102 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Отображение управления свёрткой</v8:content> + </v8:item> + + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Картинка</v8:content> + </v8:item> + + Vertical + Collapsible + Picture + + + + Поле1 + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Поле 1</v8:content> + </v8:item> + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Гиперссылка заголовка</v8:content> + </v8:item> + + Vertical + Collapsible + true + TitleHyperlink + + + + Поле2 + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Поле 2</v8:content> + </v8:item> + + + + + + + + + + + cfg:DataProcessorObject.КонтрольСвёртки + + true + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Поле1</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Поле2</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + diff --git a/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Forms/Форма/Ext/Form/Module.bsl b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Forms/Форма/Ext/Form/Module.bsl new file mode 100644 index 00000000..8ead4cec --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/DataProcessors/КонтрольСвёртки/Forms/Форма/Ext/Form/Module.bsl @@ -0,0 +1,19 @@ +#Область ОбработчикиСобытийФормы + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовФормы + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +#КонецОбласти + +#Область ОбработчикиОповещений + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/Languages/Русский.xml b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/Languages/Русский.xml new file mode 100644 index 00000000..37c60d78 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/collapsible-control-representation/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file