From aae69664c525d0c5618b8af60b2d4276de0f8c85 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sun, 15 Feb 2026 14:36:27 +0300 Subject: [PATCH] Add CFE extension source format specification New spec covers: extension Configuration.xml properties, borrowed vs own objects (ObjectBelonging/ExtendedConfigurationObject), type extension mechanisms (xr:PropertyState, xr:ExtendedProperty), module interceptors (&Before/&After/&Instead), diff markers, predefined items, and full directory structure reference. Co-Authored-By: Claude Opus 4.6 --- docs/1c-extension-spec.md | 960 ++++++++++++++++++++++++++++++++++++++ docs/1c-specs-index.md | 19 +- 2 files changed, 976 insertions(+), 3 deletions(-) create mode 100644 docs/1c-extension-spec.md diff --git a/docs/1c-extension-spec.md b/docs/1c-extension-spec.md new file mode 100644 index 00000000..85f9e4f6 --- /dev/null +++ b/docs/1c-extension-spec.md @@ -0,0 +1,960 @@ +# Спецификация формата выгрузки расширений конфигурации 1С (CFE) + +Формат: XML-выгрузка расширения конфигурации 1С:Предприятие 8.3 (Конфигуратор → Конфигурация → Расширения → Выгрузить расширение в файлы). +Версия формата: `2.17` (платформа 8.3.17–8.3.24). + +> **Связанные спецификации:** +> - Корневая структура конфигурации — [1c-configuration-spec.md](1c-configuration-spec.md) +> - Объекты метаданных — [1c-config-objects-spec.md](1c-config-objects-spec.md) +> - Подсистемы — [1c-subsystem-spec.md](1c-subsystem-spec.md) +> - Управляемые формы — [1c-form-spec.md](1c-form-spec.md) +> - Роли — [1c-role-spec.md](1c-role-spec.md) +> - Сводный индекс — [1c-specs-index.md](1c-specs-index.md) + +--- + +## 1. Общая структура выгрузки расширения + +``` +Configuration.xml # Корневой файл — свойства и состав расширения +ConfigDumpInfo.xml # Служебный файл — версии объектов +Languages/ # Языки (всегда заимствованные) +Roles/ # Роли (собственные) +Subsystems/ # Подсистемы (собственные или заимствованные) +CommonModules/ # Общие модули +CommonPictures/ # Общие картинки +CommonCommands/ # Общие команды +Catalogs/ # Справочники +Documents/ # Документы +Enums/ # Перечисления +... # Другие типы объектов +``` + +### Ключевые отличия от конфигурации + +| Аспект | Конфигурация | Расширение | +|--------|-------------|------------| +| Корневой `Ext/` | Есть (модули, интерфейс, справка) | **Нет** | +| `ObjectBelonging` в Properties | Нет | `Adopted` (всегда) | +| `ConfigurationExtensionPurpose` | Нет | `Patch` / `Customization` / `AddOn` | +| `KeepMappingToExtendedConfigurationObjectsByIDs` | Нет | `true` / `false` | +| `NamePrefix` | Пустой или нет | Префикс для собственных объектов | +| `CompatibilityMode` | Да | Нет (используется `ConfigurationExtensionCompatibilityMode`) | +| Свойства режимов работы | Полный набор | Сокращённый набор | +| Объекты в ChildObjects | Только собственные | Собственные **и заимствованные** | + +--- + +## 2. Configuration.xml — корневой файл расширения + +### 2.1. Общая структура + +```xml + + + + ... + ... + ... + + +``` + +Пространства имён и корневой элемент идентичны конфигурации. Атрибут `version` соответствует версии формата выгрузки. + +### 2.2. InternalInfo + +Содержит 7 записей `xr:ContainedObject` — аналогично конфигурации. ClassId фиксированные, ObjectId уникальны для каждого расширения. + +### 2.3. Properties — свойства расширения + +Свойства идут в фиксированном порядке. Набор свойств **отличается** от конфигурации — часть свойств специфична для расширений, часть свойств конфигурации отсутствует. + +#### Специфичные свойства расширения + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `ObjectBelonging` | enum | Всегда `Adopted` — расширение «принято» к основной конфигурации | +| `ConfigurationExtensionPurpose` | enum | Назначение расширения: `Patch` (исправление), `Customization` (адаптация), `AddOn` (дополнение) | +| `KeepMappingToExtendedConfigurationObjectsByIDs` | `xs:boolean` | Сохранять привязку к объектам по идентификаторам | +| `NamePrefix` | `xs:string` | Префикс имён собственных объектов (напр. `Расш1_`, `МоёРасш_`) | +| `ConfigurationExtensionCompatibilityMode` | enum | Режим совместимости расширения (`Version8_3_17`, `Version8_3_24`, ...) | + +#### Общие свойства (совпадают с конфигурацией) + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `Name` | `xs:string` | Имя расширения (идентификатор) | +| `Synonym` | `LocalString` | Отображаемое имя | +| `Comment` | `xs:string` | Комментарий | +| `DefaultRunMode` | enum | Режим запуска (`ManagedApplication`) | +| `UsePurposes` | list | Назначения (`PlatformApplication`) | +| `ScriptVariant` | enum | Язык скриптов (`Russian` / `English`) | +| `DefaultRoles` | list | Роли по умолчанию | +| `Vendor` | `xs:string` | Поставщик | +| `Version` | `xs:string` | Версия расширения | +| `DefaultLanguage` | ref | Язык по умолчанию (`Language.Русский`) | +| `BriefInformation` | `LocalString` | Краткая информация | +| `DetailedInformation` | `LocalString` | Подробная информация | +| `Copyright` | `LocalString` | Авторские права | +| `VendorInformationAddress` | `LocalString` | Адрес поставщика | +| `ConfigurationInformationAddress` | `LocalString` | Адрес информации | +| `InterfaceCompatibilityMode` | enum | Совместимость интерфейса | + +> **Примечание:** Свойства `DefaultRunMode`, `UsePurposes`, `DefaultRoles`, `DefaultLanguage`, `InterfaceCompatibilityMode` **опциональны** — могут отсутствовать в расширении (в отличие от конфигурации, где они обязательны). + +#### Свойства конфигурации, отсутствующие в расширении + +В расширениях **нет** следующих свойств: +- `CompatibilityMode` (заменено на `ConfigurationExtensionCompatibilityMode`) +- `DataLockControlMode` +- `ObjectAutonumerationMode` +- `ModalityUseMode` +- `SynchronousPlatformExtensionAndAddInCallUseMode` +- `DatabaseTablespacesUseMode` +- `MainClientApplicationWindowMode` +- `UpdateCatalogAddress` +- `IncludeHelpInContents` +- `UseManagedFormInOrdinaryApplication` +- `UseOrdinaryFormInManagedApplication` +- `Content` +- `StandaloneConfigurationRestrictionRoles` + +### 2.4. Порядок свойств + +```xml + + Adopted + ИмяРасширения + ... + + Patch + true + Расш1_ + Version8_3_17 + ManagedApplication + ... + Russian + ... + + + Language.Русский + + + + + + TaxiEnableVersion8_2 + +``` + +### 2.5. ChildObjects — состав расширения + +Содержит как **собственные** объекты расширения, так и **заимствованные** из основной конфигурации. Порядок типов аналогичен конфигурации. + +```xml + + Русский + Расш1_МояПодсистема + Расш1_МояКартинка + Расш1_ОсновнаяРоль + Расш1_МодульСервер + ОбщийМодульКонфигурации + Контрагенты + Расш1_Проекты + Расш1_ВидыДокументов + Расш1_ДатыРабот + +``` + +В `ChildObjects` не видно различие между собственными и заимствованными — оно определяется по содержимому XML-файла объекта (свойство `ObjectBelonging` и наличие `ExtendedConfigurationObject`). + +**Правило именования:** собственные объекты расширения обычно имеют `NamePrefix` в начале имени (напр. `Расш1_Справочник1`, `Расш1_Проекты`), заимствованные — имя объекта из основной конфигурации без префикса (напр. `Контрагенты`, `Валюты`). + +--- + +## 3. ConfigDumpInfo.xml + +Формат идентичен конфигурации: + +```xml + + + + + + + + + +``` + +Включает записи для **всех** объектов расширения (и собственных, и заимствованных). Атрибут `configVersion` — 40-символьный SHA1-хеш версии объекта. + +--- + +## 4. Заимствованные и собственные объекты + +Расширение может содержать два типа объектов: + +### 4.1. Заимствованные объекты (Adopted) + +Объекты, существующие в основной конфигурации, которые расширение модифицирует или дополняет. + +**Признаки:** +- `Adopted` в Properties +- `uuid` — UUID объекта в основной конфигурации +- Минимальный набор свойств (только те, что изменяются) + +```xml + + + ... + + + + Adopted + Валюты + + 7aadbb67-... + + + + + +``` + +Заимствованные объекты **не содержат** полного набора свойств — только `ObjectBelonging`, `Name`, `Comment`, `ExtendedConfigurationObject` и те свойства, которые расширение изменяет (напр. `CodeLength`, `DefaultListForm`). + +### 4.2. Собственные объекты (Own) + +Объекты, созданные непосредственно в расширении. + +**Признаки:** +- **Нет** элемента `ObjectBelonging` +- **Нет** элемента `ExtendedConfigurationObject` +- Полный набор свойств (как в объектах конфигурации) +- Имя обычно начинается с `NamePrefix` расширения + +```xml + + + ... + + + + Расш5_Справочник1 + + + false + 9 + + + + +``` + +Формат полностью совпадает с форматом объектов конфигурации (см. [1c-config-objects-spec.md](1c-config-objects-spec.md)). + +--- + +## 5. Заимствованные дочерние элементы + +Дочерние элементы заимствованных объектов (реквизиты, табличные части, значения перечислений) также маркируются как заимствованные или собственные. + +### 5.1. Заимствованные реквизиты + +```xml + + + + Adopted + ОсновнаяВалюта + + 206abcd3-... + + cfg:CatalogRef.Валюты + + + +``` + +Заимствованный реквизит содержит `ObjectBelonging: Adopted` и `ExtendedConfigurationObject`. Набор свойств минимальный (Name, Comment, ExtendedConfigurationObject, Type). + +### 5.2. Собственные реквизиты в заимствованном объекте + +```xml + + + Расш5_Реквизит1 + + + + cfg:CatalogRef.Расш5_Справочник1 + + false + + + +``` + +Собственный реквизит **не имеет** `ObjectBelonging` и `ExtendedConfigurationObject`. Содержит полный набор свойств. + +### 5.3. Заимствованные значения перечислений + +```xml + + + Adopted + НаценкаНаКурсДругойВалюты + c9ab3890-... + ... + + + +``` + +### 5.4. Заимствованные формы + +Метаданные формы (файл `.xml` в каталоге `Forms/`): + +```xml +
+ + + Adopted + ФормаСписка + + 5f91b00f-... + Managed + + +``` + +Содержимое формы (расширение) хранится в `Forms/ФормаСписка/Ext/Form.xml`, модуль формы — в `Forms/ФормаСписка/Ext/Form/Module.bsl`. + +--- + +## 6. Расширение свойств (xr:PropertyState и xr:ExtendedProperty) + +Расширения могут изменять свойства заимствованных реквизитов. Для этого используются специальные XML-конструкции. + +### 6.1. PropertyState — уведомление об изменении + +Элемент `xr:PropertyState` в `InternalInfo` реквизита указывает, что свойство было изменено расширением. + +```xml + + + + Type + Notify + + + + Adopted + Наценка + 87429f11-... + + xs:decimal + + 10 + 2 + Any + + + + +``` + +Значения `xr:State`: +| Значение | Описание | +|----------|----------| +| `Notify` | Свойство изменено расширением, платформа выводит предупреждение | +| `MultiState` | Свойство расширено (тип отличается от основной конфигурации) | + +### 6.2. ExtendedProperty — расширение типа + +Когда расширение изменяет тип реквизита, используется конструкция `xr:ExtendedProperty`: + +```xml + + + xs:string + + 60 + Variable + + + +``` + +Свойство `Type` получает атрибут `xsi:type="xr:ExtendedProperty"`, а значение оборачивается в `xr:ExtendValue`. При этом в `InternalInfo` указывается `MultiState`. + +--- + +## 7. Модули в расширениях + +### 7.1. Типы модулей + +Расширения поддерживают те же типы модулей, что и конфигурация: + +| Модуль | Файл | Для каких объектов | +|--------|------|--------------------| +| Модуль объекта | `Ext/ObjectModule.bsl` | Справочники, документы, обработки | +| Модуль менеджера | `Ext/ManagerModule.bsl` | Справочники, документы, регистры | +| Модуль набора записей | `Ext/RecordSetModule.bsl` | Регистры | +| Модуль формы | `Forms/Имя/Ext/Form/Module.bsl` | Формы | +| Общий модуль | `CommonModules/Имя/Ext/Module.bsl` | Общие модули | +| Модуль команды | `Commands/Имя/Ext/CommandModule.bsl` | Команды | + +### 7.2. Декораторы перехвата + +Модули расширений используют специальные **аннотации-декораторы** для перехвата вызовов процедур основной конфигурации: + +| Декоратор | Описание | +|-----------|----------| +| `&Перед("ИмяПроцедуры")` | Выполняется **до** оригинальной процедуры | +| `&После("ИмяПроцедуры")` | Выполняется **после** оригинальной процедуры | +| `&Вместо("ИмяПроцедуры")` | **Заменяет** оригинальную процедуру | +| `&ИзменениеИКонтроль("ИмяПроцедуры")` | Копия с контролем изменений (diff-маркеры) | + +#### Пример &Перед / &После + +```bsl +&НаКлиенте +&Перед("ПодборИзКлассификатора") +Процедура Расш5_ПодборИзКлассификатораПеред(Команда) + // Код выполняется ДО оригинальной процедуры +КонецПроцедуры + +&НаКлиенте +&После("ПодборИзКлассификатора") +Процедура Расш5_ПодборИзКлассификатораПосле(Команда) + // Код выполняется ПОСЛЕ оригинальной процедуры +КонецПроцедуры +``` + +#### Пример &Вместо + +```bsl +&НаСервере +&Вместо("ЗаполнитьПодменюПараметрыПрописиВалюты") +Процедура Расш5_ЗаполнитьПодменюПараметрыПрописиВалюты() + // Полная замена оригинальной процедуры + // ПродолжитьВызов() — вызов оригинальной реализации + ПродолжитьВызов(); +КонецПроцедуры +``` + +#### Пример &ИзменениеИКонтроль + +```bsl +&ИзменениеИКонтроль("РеквизитыРедактируемыеВГрупповойОбработке") +Функция Расш5_РеквизитыРедактируемыеВГрупповойОбработке() + Результат = Новый Массив; + Результат.Добавить("СпособУстановкиКурса"); +#Удаление + Результат.Добавить("ФормулаРасчетаКурса"); +#КонецУдаления +#Вставка + Результат.Добавить("НоваяФормулаРасчетаКурса"); +#КонецВставки + Возврат Результат; +КонецФункции +``` + +### 7.3. Diff-маркеры в коде + +Внутри процедур с декоратором `&ИзменениеИКонтроль` используются diff-маркеры для отслеживания изменений: + +| Маркер | Описание | +|--------|----------| +| `#Удаление` | Начало блока удалённого кода | +| `#КонецУдаления` | Конец блока удалённого кода | +| `#Вставка` | Начало блока вставленного кода | +| `#КонецВставки` | Конец блока вставленного кода | + +Маркеры могут быть вложенными и чередующимися — типичный паттерн «удалить → вставить»: + +```bsl +#Удаление + ИначеЕсли Выборка.Дата > Дата Тогда +#КонецУдаления +#Вставка + ИначеЕсли Выборка.Дата < Дата Тогда +#КонецВставки +``` + +### 7.4. Именование процедур расширения + +Собственные процедуры расширения именуются с `NamePrefix`: +- `Расш5_ПрочитатьАрхивВнутр()` — при `NamePrefix = Расш5_` +- `МоёРасш_ПроверитьДату()` — при `NamePrefix = МоёРасш_` +- `Расш1_ПриОпределенииНастроек()` — при `NamePrefix = Расш1_` + +--- + +## 8. Предопределённые элементы в расширениях + +Расширения могут добавлять предопределённые элементы к заимствованным справочникам. Файл: `Каталог/Ext/Predefined.xml`. + +```xml + + + + НовыйЭлемент + 000000001 + Новый элемент + false + Native + + +``` + +### Отличие от Predefined.xml конфигурации + +| Аспект | Конфигурация | Расширение | +|--------|-------------|------------| +| Пространство имён | `http://v8.1c.ru/8.3/xcf/predef` (то же) | То же | +| `ExtensionState` | Нет | `Native` — элемент создан расширением | + +--- + +## 9. Языки (Languages/) + +Язык в расширении **всегда** заимствованный: + +```xml + + + + Adopted + Русский + + 0663bf5b-... + ru + + +``` + +UUID в `ExtendedConfigurationObject` одинаков для всех расширений одной конфигурации — это UUID языка в основной конфигурации. + +--- + +## 10. Роли (Roles/) + +### 10.1. Собственная роль расширения (без прав) + +Минимальная роль без `Ext/Rights.xml`: + +```xml + + + Расш1_ОсновнаяРоль + + + + +``` + +Собственные роли расширений в изученных примерах **не имеют** каталога `Ext/` с `Rights.xml`. Права могут задаваться через конфигуратор. + +### 10.2. DefaultRoles + +Ссылки на роли по умолчанию в Configuration.xml: + +```xml + + Role.Расш1_ОсновнаяРоль + +``` + +--- + +## 11. Подсистемы (Subsystems/) + +### 11.1. Собственная подсистема расширения + +```xml + + + Расш1_МояПодсистема + ... + + + CommonPicture.Расш1_МояКартинка + + false + true + + Catalog.Расш1_Проекты + Catalog.Расш1_Задачи + DataProcessor.Расш1_Обработка1 + + + + + +``` + +### 11.2. Заимствованная подсистема + +```xml + + + Adopted + Закупки + f230c0c7-... + + + + + + Расш1_Документы + + +``` + +Заимствованная подсистема может содержать элементы `Content` (добавленные расширением команды/объекты) и дочерние подсистемы в `ChildObjects`. + +### 11.3. CommandInterface в расширении + +Командный интерфейс подсистемы в расширении: `Subsystems/Имя/Ext/CommandInterface.xml`. + +```xml + + + + Document.ЗаказНаПеремещение.StandardCommand.OpenList + + false + true + + + + + + ... + + + +``` + +--- + +## 12. Общие модули (CommonModules/) + +### 12.1. Заимствованный общий модуль + +```xml + + + Adopted + ZipАрхивы + b92e2bb8-... + + +``` + +Модуль расширения: `CommonModules/ZipАрхивы/Ext/Module.bsl` — содержит процедуры с декораторами перехвата. + +### 12.2. Собственный общий модуль + +Формат аналогичен конфигурации (без `ObjectBelonging` и `ExtendedConfigurationObject`), со всеми свойствами (Server, ExternalConnection, ClientManagedApplication и т.д.). + +--- + +## 13. Другие типы заимствованных объектов + +### 13.1. Константы + +```xml + + + ... + ... + ... + + + Adopted + ИмяКонстанты + 81d26b82-... + + xs:boolean + + + +``` + +### 13.2. Функциональные опции + +```xml + + + Adopted + ИмяФункциональнойОпции + d2699502-... + Constant.ИмяКонстанты + + +``` + +### 13.3. Определяемые типы + +Заимствованный (минимальный): +```xml + + + ... + + + Adopted + ИмяОпределяемогоТипа + + +``` + +Собственный (с полным описанием типа): +```xml + + + Расш1_Координата + ... + + xs:decimal + + 15 + 10 + Any + + + + +``` + +### 13.4. Элементы стиля + +```xml + + + Adopted + ИмяЭлементаСтиля + 3d428bdf-... + Font + + +``` + +Тип: `Color`, `Font`, `Border`. + +### 13.5. Общие картинки + +```xml + + + + Adopted + ИмяКартинки + + +``` + +Собственные картинки могут иметь каталог `Ext/` с `Picture.xml` и файлом изображения: + +``` +CommonPictures/Расш1_МояКартинка/ + Ext/ + Picture.xml # Picture.png... + Picture/ + Picture.png # Файл изображения +``` + +### 13.6. Общие команды + +```xml + + + Adopted + ИмяКоманды + FormCommandBarImportant + + +``` + +### 13.7. Планы обмена + +```xml + + + c335c2b8-... + + + + Adopted + ИмяПланаОбмена + 0c01b26a-... + + + +``` + +### 13.8. Планы счетов + +```xml + + + + + + Adopted + Хозрасчетный + 3796bdf5-... + + + +``` + +### 13.9. Регистры сведений + +Заимствованный (минимальный): +```xml + + ... + + Adopted + ИмяРегистра + ... + Quarter + Independent + + + + + Adopted + ИмяРесурса + ... + ... + + + + +``` + +Собственный регистр — полный набор свойств, аналогично конфигурации. + +--- + +## 14. Назначения расширений (ConfigurationExtensionPurpose) + +| Значение | Русское название | Описание | +|----------|-----------------|----------| +| `Patch` | Исправление | Минимальные исправления ошибок. Наибольшие ограничения | +| `Customization` | Адаптация | Доработка под требования заказчика. Средний уровень ограничений | +| `AddOn` | Дополнение | Добавление новой функциональности. Минимальные ограничения | + +Назначение влияет на то, какие модификации допускает платформа при подключении расширения. + +--- + +## 15. Структура каталогов (сводка) + +### 15.1. Собственный объект (полная структура) + +``` +Catalogs/Расш1_Проекты.xml # Метаданные (полные) +Catalogs/Расш1_Проекты/ + Ext/ + ObjectModule.bsl # Модуль объекта + ManagerModule.bsl # Модуль менеджера + Predefined.xml # Предопределённые (опц.) + Forms/ + ФормаЭлемента.xml # Метаданные формы + ФормаЭлемента/ + Ext/ + Form.xml # Содержимое формы + Form/ + Module.bsl # Модуль формы + ФормаСписка.xml + ФормаСписка/ + Ext/ + Form.xml + Form/ + Module.bsl + Templates/ + ПФ_MXL_Акт.xml # Метаданные макета + ПФ_MXL_Акт/ + Ext/ + Template.xml # Содержимое макета + Commands/ + ИмяКоманды.xml # Метаданные команды + ИмяКоманды/ + Ext/ + CommandModule.bsl # Модуль команды +``` + +### 15.2. Заимствованный объект (минимальная структура) + +``` +Catalogs/Валюты.xml # Метаданные (сокращённые) +Catalogs/Валюты/ + Ext/ + ManagerModule.bsl # Расширение модуля менеджера + Predefined.xml # Предопред. элементы (опц.) + Forms/ + ФормаСписка.xml # Метаданные (сокращённые) + ФормаСписка/ + Ext/ + Form.xml # Расширение формы + Form/ + Module.bsl # Расширение модуля формы +``` + +### 15.3. Минимальное расширение (пустое) + +``` +Configuration.xml # Корневой файл +ConfigDumpInfo.xml # Версии объектов +Languages/ + Русский.xml # Язык (заимствованный) +``` + +### 15.4. Типичное расширение с ролью + +``` +Configuration.xml +ConfigDumpInfo.xml +Languages/ + Русский.xml +Roles/ + Расш1_ОсновнаяРоль.xml +``` + +--- + +## 16. Отличия заимствованного объекта от обычного (сводная таблица) + +| Аспект | Обычный (конфигурация) | Заимствованный (расширение) | Собственный (расширение) | +|--------|----------------------|--------------------------|------------------------| +| `ObjectBelonging` | Нет | `Adopted` | Нет | +| `ExtendedConfigurationObject` | Нет | UUID объекта конфигурации | Нет | +| Набор Properties | Полный | Минимальный + изменённые | Полный | +| InternalInfo | GeneratedType | GeneratedType + PropertyState | GeneratedType | +| Реквизиты в ChildObjects | Полные | Заимствованные + собственные | Полные | +| Модули | Полные | С декораторами перехвата | Полные | +| Формы | Полные | С расширениями (Ext/) | Полные | diff --git a/docs/1c-specs-index.md b/docs/1c-specs-index.md index 1a0ed662..fb1f8769 100644 --- a/docs/1c-specs-index.md +++ b/docs/1c-specs-index.md @@ -122,7 +122,20 @@ --- -## 4. Внешние обработки и отчёты +## 4. Расширения конфигурации (CFE) + +| Тема | Описание | Спецификация | +|------|----------|--------------| +| Общая структура выгрузки | Каталоги, отличия от конфигурации | [1c-extension-spec.md § 1](1c-extension-spec.md#1-общая-структура-выгрузки-расширения) | +| Configuration.xml расширения | Свойства, назначение, ChildObjects | [1c-extension-spec.md § 2](1c-extension-spec.md#2-configurationxml--корневой-файл-расширения) | +| Заимствованные / собственные объекты | ObjectBelonging, ExtendedConfigurationObject | [1c-extension-spec.md § 4](1c-extension-spec.md#4-заимствованные-и-собственные-объекты) | +| Расширение свойств (xr:PropertyState) | MultiState, ExtendedProperty | [1c-extension-spec.md § 6](1c-extension-spec.md#6-расширение-свойств-xrpropertystate-и-xrextendedproperty) | +| Модули и декораторы перехвата | &Перед, &После, &Вместо, diff-маркеры | [1c-extension-spec.md § 7](1c-extension-spec.md#7-модули-в-расширениях) | +| Предопределённые элементы | ExtensionState: Native | [1c-extension-spec.md § 8](1c-extension-spec.md#8-предопределённые-элементы-в-расширениях) | + +--- + +## 5. Внешние обработки и отчёты | Формат | Описание | Спецификация | |--------|----------|--------------| @@ -131,7 +144,7 @@ --- -## 5. Общие элементы формата +## 6. Общие элементы формата Общие для всех типов объектов структуры XML описаны в спецификации объектов: @@ -148,7 +161,7 @@ --- -## 6. DSL-спецификации (компактный формат ввода) +## 7. DSL-спецификации (компактный формат ввода) | DSL | Описание | Спецификация | |-----|----------|--------------|