# Контролируемые fixtures: типы макетов 1С ## Цель Зафиксировать platform-dependent таблицу `Template descriptor type code -> TemplateType` для конкретной сборки 1С. До выполнения каждого опыта код не является именем типа, а carrier payload не является источником типа. ## Условия опыта - База: `upo_test`; изменения допускаются только в отдельном расширении `codex_TemplateCodecFixtures`. - Для каждого типа создаётся ровно один пустой макет с именем `CodecFixture_` и один минимальный, но непустой вариант. - До создания, после создания и после сохранения конфигурации снимаются descriptor `{GUID}` и все части `{GUID}.*` из SQL saved state. - Для каждого снимка сохраняются SHA-1, размер, compression, descriptor tree, descriptor type code, XML root/сигнатура carrier и экспорт Конфигуратора. - Обратная запись запрещена, пока для того же типа не доказан byte-preserving round trip и не подтверждён результат человеком в Конфигураторе. ## Матрица | Fixture suffix | Тип из мастера | Минимальное содержимое | Нужный артефакт | | --- | --- | --- | --- | | `Spreadsheet` | Табличный документ | Одна ячейка `X` | `.mxl` + SQL carrier | | `Text` | Текстовый документ | `X` | `.txt` + SQL carrier | | `Binary` | Двоичные данные | 3 байта `01 02 03` | `.bin` + SQL carrier | | `Active` | Active document | минимальный выбранный Active object | SQL carrier, тип OLE | | `Html` | HTML документ | `

X

` | `.htm` + SQL carrier | | `Geo` | Географическая схема | пустая схема | `.geo` + SQL carrier | | `Graphical` | Графическая схема | один прямоугольник | `.grs` + SQL carrier | | `Dcs` | Схема компоновки данных | параметр `P` и пустой dataset | XML + SQL carrier | | `DcsAppearance` | Макет оформления компоновки данных | одно правило оформления | XML + SQL carrier | | `AddIn` | Внешняя компонента | тестовый ZIP с манифестом | ZIP + SQL carrier | ## Критерий принятия одной строки таблицы Строка считается `proven` только когда одновременно совпали: 1. тип, выбранный в мастере Конфигуратора; 2. descriptor type code из сохранённого объекта; 3. снимок carrier `{GUID}.0` и export соответствующего редактора; 4. повторное открытие и сохранение fixture в Конфигураторе без ошибки. Любое отсутствие пункта оставляет строку `unresolved_mapping`. Имена макетов, XML root и архивная сигнатура являются вспомогательными evidence и не заменяют эти условия.