mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-08 19:20:52 +03:00
fix(meta-decompile): слоты форм таблицы внешнего источника терялись при разборе
Раундтрип B на стенде вскрыл пробел: у таблицы внешнего источника декомпилятор не снимал DefaultObjectForm/DefaultRecordForm/DefaultListForm/DefaultChoiceForm, хотя DSL их поддерживает, компилятор эмитит, а у прочих объектов они снимаются. Пересборка стенда молча теряла назначенную форму списка. Сами формы вне скоупа раундтрипа (это отдельные файлы, их делает навык form-add), поэтому собранная из такого DSL конфигурация не загрузится — ровно как и у справочника с формой. Договорённость одна и та же, записана в docs/meta-dsl-spec.md. Раундтрип B после правки: из выгрузки стенда → DSL → meta-compile → загрузка в базу → выгрузка платформой = побайтово то же, что собрал компилятор. Против исходной выгрузки стенда остаются два известных расхождения: UnfilledParentValue (загрузкой XML не задаётся, замерено тремя опытами) и регистрация <Form> (вне скоупа). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NBsZA5cr2WFThtgp7i5WVi
This commit is contained in:
co-authored by
Claude Opus 5
parent
5c79b494cd
commit
41e2eca638
@@ -2145,6 +2145,9 @@ ChildObjects и модулей.
|
||||
|
||||
Неверная пара не отвергается схемой формы — она валит загрузку всей конфигурации
|
||||
«Исключением XDTO при чтении файла», не называя причины, поэтому `form-add` проверяет её сам.
|
||||
- Слоты `default*Form` таблицы декомпилятор снимает — как у прочих объектов. Собранная из такого
|
||||
DSL конфигурация сама по себе не загрузится («Неизвестный объект метаданных — …Form.ФормаСписка»): файлы форм
|
||||
создаёт навык `form-add`. Это та же договорённость, что для справочников и документов.
|
||||
- **Таблица без ключевых полей** собирается: загрузку XML платформа принимает молча, хотя
|
||||
Конфигуратор интерактивно ключ требует. `meta-validate` предупреждает, но не отвергает — рабочие
|
||||
конфигурации без ключей существуют. Без ключа недоступны форма записи и набор записей.
|
||||
|
||||
Reference in New Issue
Block a user