36 снэпшотов навыков, использующих meta-compile для сборки host-объекта DataProcessor
(form-*/cf-edit/role-compile). Единственное изменение в каждом — UseStandardCommands
false→true (смена дефолта, mode корпуса). Проверено: git diff содержит только эти строки.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Снэпшоты 20 навыков строятся preRun-прогоном meta-compile и отстали от его
текущего вывода. Дрейф проверен построчно — исключительно известные изменения
meta-compile, поломок навыков не замаскировано:
• <StandardAttributes>-блок больше не эмитится для некастомизированных
объектов (условная эмиссия, df5c1ee1);
• object-level CreateOnInput DontUse→Use;
• boolean FillValue false→nil.
Ни одной удалённой/добавленной строки вне этих паттернов. Затронуты form-*,
role-*, cf-*, subsystem-*, interface-*, meta-info/remove, help-add. Все наборы
зелёные.
Примечание: meta-compile ещё в активной разработке (meta-roundtrip) — впредь
пересъём затронутых наборов включаем в петлю каждого изменения meta-compile.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Размножение per-object паттерна состояния поддержки из meta-info на
остальные info-навыки. Унифицированный helper Get-SupportStatusForPath
(нативная копия в каждом скрипте): walk-up от пути цели — берёт uuid
ближайшего метафайла элемента (форма/макет/роль/подсистема, либо сам
целевой .xml) и корень конфигурации с ParentConfigurations.bin, затем
G-vs-f1 и консервативная свёртка min(f1) по блокам поставщиков.
Резолв точный на уровне элемента: форма с индивидуально включённым
редактированием (Валюты.ФормаСписка f1=1) показывает «редактируется»,
а форма того же объекта на замке (ФормаЭлемента f1=0) — «на замке».
form-info v1.4, skd-info v1.7, role-info/subsystem-info/mxl-info v1.1.
Проверено на корпусе (acc G=1 → read-only, erp → снято) — оба порта
байт-в-байт. Тесты: все 7 info-навыков зелёные на PowerShell и Python.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Снапшот form-info отставал от давних сертифицированных фич form-compile (есть в
собственных снапшотах form-compile): <ShowTitle> у группы + полный AdditionSource
+ companion-панели у табличных дополнений (SearchString/ViewStatus/SearchControl)
+ каскадная перенумерация id. Контент не теряется — только добавления и сдвиг id.
Не связано с правками этой сессии (фейл воспроизводился и на пред-сессионном
компиляторе). Полный регресс: 427/427.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- QuickChoice<true→false> для Catalog (07b2ec3 «дефолты QuickChoice по реальным
конфигам» — часть снапшотов уже обновили в dc0382c, эти были пропущены)
- автоген <Title>/<AutoTitle>/<TitleLocation>/<SavedData> в формах
(76800fc «автоген Title из имени» и серия фич form-compile)
- column-group/ — новый снапшот для кейса из 4f9d9ae (был не закоммичен)
Все 349 unit-тестов и 6 integration-тестов зелёные. verify-snapshots
(платформенная загрузка) — 201/202; отдельный pre-existing fail
cf-edit/set-home-page (Check 9 не валидирует HP form refs) разбираем
отдельно, в дифф этой регенерации не входит.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- form-info/{rich-form,simple-form}: тип реквизита Объект исправлен
с ExternalDataProcessorObject на DataProcessorObject — preRun создаёт
обычную обработку, и платформа отвергала несоответствие XDTO-исключением.
- verify-snapshots.mjs: поддержка setup="external:<path>" — копирует
внешний дамп (выгрузку ERP/БП) в workDir, пропускает cf-init и
авто-регистрацию объектов через cf-edit. Платформенная загрузка
целой вендорской конфы скипается — кейсы real-acc-form-* проверяют
скрипт против реального XML, а не пригодность всей БП к чистой базе.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- HorizontalAlign не эмитится, если не задан явно через autoCmdBar.horizontalAlign.
Раньше был хардкод Right; платформенный дефолт — Left, эталонные формы
типовых (Бригады/ФормаСписка) тег вообще не содержат.
- horizontalAlign принимает Left/Center/Right.
- SKILL.md: убран раздел «Эвристики компилятора» (внутренняя кухня скрипта),
сжато описание autoCmdBar и main — модель пишет DSL явно, помощь
компилятора видна в [INFO]/[WARN]-логе.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Эвристика главной АКП: без cmdBar/autoCmdBar остаётся Autofill=true
(как в Конфигураторе), с cmdBar — Autofill=false (обратная совместимость).
- Новый элемент autoCmdBar для наполнения главной АКП кастомными кнопками.
- Тихие синонимы commandBar↔cmdBar, autoCommandBar↔autoCmdBar.
- Инференс main-реквизита по типу (*Object.*, *RecordSet.*, DynamicList,
ConstantsSet) — единственный кандидат проставляется молча с [INFO].
- Эвристика DynamicList → таблица: tableAutofill=false +
commandBarLocation=None для привязанной таблицы (соответствие ERP).
- Косметика: <Autofill>true</Autofill> не эмитится явно.
Snapshot'ы form-* также обновлены до актуального состояния cf-init
(Ext/ClientApplicationInterface.xml).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
form-add теперь покрывает и объекты конфигурации, и standalone EPF/ERF
source tree (тип определяется из корневого XML, маппинг типов уже был).
Изменения form-add scaffold:
- Module.bsl: пустые регионы вместо скелета процедуры ПриСозданииНаСервере
- Form.xml: убран <Events> (раньше привязывал OnCreateAtServer к процедуре)
- Form.xml: <SavedData>true</SavedData> теперь условный — ставится для
Catalog/Document/etc (стандарт ERP, 99% форм), не ставится для
DataProcessor/Report/External* (где у объекта нет состояния)
Это согласуется с workflow: form-compile перегенерирует Form.xml целиком,
поэтому привязки в scaffold могут стать orphan; пустые регионы +
без Events — корректная стартовая точка, которую form-edit/form-compile
наполняют атомарно.
Удалён навык epf-add-form (директория + тесты), вызовы заменены на
form-add в integration-тестах, в кейсах epf-validate/help-add, в
description epf-init/epf-bsp-init, в docs и README.
Перегенерированы snapshot'ы 5 навыков (form-add, form-compile,
form-edit, form-info, form-validate). Платформенная верификация в 1С 8.3.24
прошла для всех 9 кейсов form-add.
Bump form-add v1.3 → v1.4.
KNOWN_INVALID_TYPES (FormDataStructure, FormDataCollection, FormDataTree,
etc.) was checked but only produced a Write-Warning/print warning — the
script still emitted the bad <v8:Type> into Form.xml, which XDTO later
rejected with a cryptic load-time error. Turn the warning into a hard
throw so misuse is caught at compile time with the correct hint.
Reveals two broken test cases that shipped invalid forms:
- form-compile/catalog-form: main attribute was FormDataStructure, fixed
to CatalogObject.Товары (what ERP's reference catalog forms actually
use with the cfg: prefix).
- form-info/overview: preRun form-compile used the same wrong type, fixed
the same way; snapshot regenerated.
Bumps form-compile to v1.4 on both runtimes.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- form-add v1.2: ExtendedPresentation only for DataProcessor/Report/External* forms
(Catalogs, Documents, Registers etc. don't have this property — platform rejects it)
- cf-init v1.1: InterfaceCompatibilityMode Taxi → TaxiEnableVersion8_2
(matches all real configs: acc 8.3.20/24/27, erp 8.3.24)
- cfe-init v1.1: read InterfaceCompatibilityMode from -ConfigPath base config
(analogous to existing CompatibilityMode auto-detection)
- Remove workaround in platform-cfe integration test (cf-edit modify-property)
- Update 162 snapshot Configuration.xml + 7 form metadata snapshots
Tests: 301/301 passed
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add 195 new test cases covering examples from SKILL.md, edge cases,
and parameter combinations. Create _skill.json for form-edit, skd-edit,
subsystem-edit. Add fixtures for negative validate cases. Fix
normalizeUuids in meta-validate/meta-info configs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>