From b4514dc350e71291591f02b935d0a8f9c0e2cabb Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sat, 2 May 2026 19:05:50 +0300 Subject: [PATCH] =?UTF-8?q?feat(form-compile):=20AutoMaxWidth=3Dfalse=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D1=83=D0=BC=D0=BE=D0=BB=D1=87=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8E=20=D0=B4=D0=BB=D1=8F=20multiLine=20InputField?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit В реальных формах ERP/БП у ~60% многострочных полей ввода явно стоит АвтоМаксимальнаяШирина=Ложь. Теперь form-compile проставляет это автоматически при multiLine: true, если пользователь не задал autoMaxWidth явно. Co-Authored-By: Claude Opus 4.7 (1M context) --- .claude/skills/form-compile/scripts/form-compile.ps1 | 9 +++++++-- .claude/skills/form-compile/scripts/form-compile.py | 7 +++++-- .../DataProcessors/Команды/Forms/Форма/Ext/Form.xml | 1 + .../ЗагрузкаИзФайла/Forms/Форма/Ext/Form.xml | 1 + .../DataProcessors/ПоляВвода/Forms/Форма/Ext/Form.xml | 1 + 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.claude/skills/form-compile/scripts/form-compile.ps1 b/.claude/skills/form-compile/scripts/form-compile.ps1 index 563f60a9..e821095d 100644 --- a/.claude/skills/form-compile/scripts/form-compile.ps1 +++ b/.claude/skills/form-compile/scripts/form-compile.ps1 @@ -1,4 +1,4 @@ -# form-compile v1.14 — Compile 1C managed form from JSON or object metadata +# form-compile v1.15 — Compile 1C managed form from JSON or object metadata # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [string]$JsonPath, @@ -2051,7 +2051,12 @@ function Emit-Input { if ($el.dropListButton -eq $true) { X "$innertrue" } if ($el.markIncomplete -eq $true) { X "$innertrue" } if ($el.skipOnInput -eq $true) { X "$innertrue" } - if ($el.autoMaxWidth -eq $false) { X "$innerfalse" } + $hasAmw = $el.PSObject.Properties.Name -contains 'autoMaxWidth' + if ($hasAmw) { + if ($el.autoMaxWidth -eq $false) { X "$innerfalse" } + } elseif ($el.multiLine -eq $true) { + X "$innerfalse" + } if ($el.autoMaxHeight -eq $false) { X "$innerfalse" } if ($el.width) { X "$inner$($el.width)" } if ($el.height) { X "$inner$($el.height)" } diff --git a/.claude/skills/form-compile/scripts/form-compile.py b/.claude/skills/form-compile/scripts/form-compile.py index 18db6cb4..9dc4bc35 100644 --- a/.claude/skills/form-compile/scripts/form-compile.py +++ b/.claude/skills/form-compile/scripts/form-compile.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# form-compile v1.14 — Compile 1C managed form from JSON or object metadata +# form-compile v1.15 — Compile 1C managed form from JSON or object metadata # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import copy @@ -1757,7 +1757,10 @@ def emit_input(lines, el, name, eid, indent): lines.append(f'{inner}true') if el.get('skipOnInput') is True: lines.append(f'{inner}true') - if el.get('autoMaxWidth') is False: + if 'autoMaxWidth' in el: + if el['autoMaxWidth'] is False: + lines.append(f'{inner}false') + elif el.get('multiLine') is True: lines.append(f'{inner}false') if el.get('autoMaxHeight') is False: lines.append(f'{inner}false') diff --git a/tests/skills/cases/form-compile/snapshots/commands/DataProcessors/Команды/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/commands/DataProcessors/Команды/Forms/Форма/Ext/Form.xml index 85aec738..ee98000f 100644 --- a/tests/skills/cases/form-compile/snapshots/commands/DataProcessors/Команды/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-compile/snapshots/commands/DataProcessors/Команды/Forms/Форма/Ext/Form.xml @@ -28,6 +28,7 @@ Результат true true + false 8 diff --git a/tests/skills/cases/form-compile/snapshots/file-dialog/DataProcessors/ЗагрузкаИзФайла/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/file-dialog/DataProcessors/ЗагрузкаИзФайла/Forms/Форма/Ext/Form.xml index 8a97cfdd..bcfe9ada 100644 --- a/tests/skills/cases/form-compile/snapshots/file-dialog/DataProcessors/ЗагрузкаИзФайла/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-compile/snapshots/file-dialog/DataProcessors/ЗагрузкаИзФайла/Forms/Форма/Ext/Form.xml @@ -54,6 +54,7 @@ true true + false 8 diff --git a/tests/skills/cases/form-compile/snapshots/input-fields/DataProcessors/ПоляВвода/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/input-fields/DataProcessors/ПоляВвода/Forms/Форма/Ext/Form.xml index fd2ea9fe..d07eaea2 100644 --- a/tests/skills/cases/form-compile/snapshots/input-fields/DataProcessors/ПоляВвода/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-compile/snapshots/input-fields/DataProcessors/ПоляВвода/Forms/Форма/Ext/Form.xml @@ -29,6 +29,7 @@ true + false 5