Files
cc-1c-skills/docs/1c-configuration-spec.md
T
Nick Shirokov 3ec2d2594c Add root configuration spec and unified specs index
New docs:
- 1c-configuration-spec.md: Configuration.xml properties, ConfigDumpInfo.xml,
  Ext/ directory, Languages, 17 additional object types (CommonPicture,
  SessionParameter, FunctionalOption, etc.), version 2.17→2.20 differences
- 1c-specs-index.md: single entry point linking all 44 object types,
  nested formats (Form, DCS, MXL, Rights), EPF/ERF, and DSL specs

Updated cross-references in 1c-config-objects-spec.md and 1c-subsystem-spec.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:58:32 +03:00

993 lines
47 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Спецификация корневой структуры конфигурации 1С
Формат: XML-выгрузка конфигурации 1С:Предприятие 8.3 (Конфигуратор → Конфигурация → Выгрузить конфигурацию в файлы).
Версии формата: `2.17` (платформа 8.3.208.3.24), `2.20` (платформа 8.3.27+).
Источники: выгрузки Бухгалтерия предприятия (платформы 8.3.20, 8.3.24, 8.3.27), ERP 2 (8.3.24).
> **Связанные спецификации:**
> - Объекты метаданных — [1c-config-objects-spec.md](1c-config-objects-spec.md)
> - Подсистемы и командный интерфейс — [1c-subsystem-spec.md](1c-subsystem-spec.md)
> - Сводный индекс — [1c-specs-index.md](1c-specs-index.md)
---
## 1. Общая структура выгрузки
```
Configuration.xml # Корневой файл — свойства и состав конфигурации
ConfigDumpInfo.xml # Служебный файл — версии объектов
Ext/ # Корневой каталог модулей и интерфейса
Languages/ # Языки конфигурации
Subsystems/ # Подсистемы
Catalogs/ # Справочники
Documents/ # Документы
... # Каталоги всех типов объектов (см. раздел 2.4)
```
Полный перечень каталогов объектов и их формат — [1c-config-objects-spec.md § 1](1c-config-objects-spec.md#1-общая-структура-выгрузки).
---
## 2. Configuration.xml — корневой файл конфигурации
### 2.1. Общая структура
```xml
<?xml version="1.0" encoding="utf-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses"
xmlns:v8="http://v8.1c.ru/8.1/data/core"
xmlns:xr="http://v8.1c.ru/8.3/xcf/readable"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:app="http://v8.1c.ru/8.2/managed-application/core"
... version="2.17">
<Configuration uuid="e0666db2-...">
<InternalInfo>...</InternalInfo>
<Properties>...</Properties>
<ChildObjects>...</ChildObjects>
</Configuration>
</MetaDataObject>
```
Атрибут `version` корневого элемента `MetaDataObject` определяет версию формата выгрузки.
### 2.2. InternalInfo
Содержит набор `xr:ContainedObject` — пары ClassId/ObjectId, идентифицирующие внутренние компоненты конфигурации (модули, интерфейс, справка и т.д.). Количество записей фиксировано (7 в типичной конфигурации).
```xml
<InternalInfo>
<xr:ContainedObject>
<xr:ClassId>9cd510cd-abfc-11d4-9434-004095e12fc7</xr:ClassId>
<xr:ObjectId>f0ba0954-a66b-4085-9df1-b8a4283bdbd3</xr:ObjectId>
</xr:ContainedObject>
<!-- ещё 6 записей -->
</InternalInfo>
```
ClassId — фиксированные идентификаторы классов платформы. ObjectId — уникальные для каждой конфигурации.
### 2.3. Properties — свойства конфигурации
Свойства идут строго в фиксированном порядке. Пустые свойства записываются как самозакрывающийся элемент (`<Comment/>`) или с пробелом (`<Comment />`).
#### Идентификация и общие
| Свойство | Тип | Описание |
|----------|-----|----------|
| `Name` | `xs:string` | Имя конфигурации (идентификатор) |
| `Synonym` | `LocalString` | Отображаемое имя |
| `Comment` | `xs:string` | Комментарий |
| `NamePrefix` | `xs:string` | Префикс имён объектов |
| `Vendor` | `xs:string` | Поставщик |
| `Version` | `xs:string` | Версия конфигурации (напр. `3.0.181.31`) |
| `UpdateCatalogAddress` | `xs:string` | URL каталога обновлений |
| `BriefInformation` | `LocalString` | Краткая информация |
| `DetailedInformation` | `LocalString` | Подробная информация |
| `Copyright` | `LocalString` | Авторские права |
| `VendorInformationAddress` | `LocalString` | Адрес сайта поставщика |
| `ConfigurationInformationAddress` | `LocalString` | Адрес информации о конфигурации |
#### Режимы работы и совместимость
| Свойство | Тип | Описание |
|----------|-----|----------|
| `ConfigurationExtensionCompatibilityMode` | enum | Совместимость расширений (`Version8_3_24`, ...) |
| `DefaultRunMode` | enum | Режим запуска (`ManagedApplication`) |
| `ScriptVariant` | enum | Язык скриптов (`Russian` / `English`) |
| `CompatibilityMode` | enum | Режим совместимости (`Version8_3_24`, ...) |
| `DataLockControlMode` | enum | Управление блокировками (`Managed` / `Automatic`) |
| `ObjectAutonumerationMode` | enum | Автонумерация (`NotAutoFree` / `AutoFree`) |
| `ModalityUseMode` | enum | Модальность (`DontUse` / `Use` / `UseWithWarnings`) |
| `SynchronousPlatformExtensionAndAddInCallUseMode` | enum | Синхр. вызовы (`DontUse` / `Use`) |
| `InterfaceCompatibilityMode` | enum | Совместимость интерфейса (`Taxi` / `TaxiEnableVersion8_2`) |
| `DatabaseTablespacesUseMode` | enum | Табличные пространства (`DontUse` / `Use`) |
| `MainClientApplicationWindowMode` | enum | Режим окна (`Normal` / `Fullscreen` / `Kiosk`) |
#### Назначение и использование
| Свойство | Тип | Описание |
|----------|-----|----------|
| `UsePurposes` | list | Назначения: `PlatformApplication`, `MobilePlatformApplication` |
| `DefaultRoles` | list | Роли по умолчанию: `<xr:Item xsi:type="xr:MDObjectRef">Role.XXX</xr:Item>` |
| `DefaultLanguage` | ref | Язык по умолчанию: `Language.Русский` |
| `IncludeHelpInContents` | `xs:boolean` | Включить справку в оглавление |
| `UseManagedFormInOrdinaryApplication` | `xs:boolean` | Управл. формы в обычном приложении |
| `UseOrdinaryFormInManagedApplication` | `xs:boolean` | Обычные формы в управл. приложении |
| `Content` | list | Состав конфигурации (обычно пуст — используется при расширениях) |
| `StandaloneConfigurationRestrictionRoles` | list | Роли ограничения автономной конфигурации |
#### Хранилища настроек
| Свойство | Тип | Описание |
|----------|-----|----------|
| `CommonSettingsStorage` | ref | Хранилище общих настроек |
| `ReportsUserSettingsStorage` | ref | Хранилище пользовательских настроек отчётов |
| `ReportsVariantsStorage` | ref | Хранилище вариантов отчётов (напр. `SettingsStorage.XXX`) |
| `FormDataSettingsStorage` | ref | Хранилище данных форм |
| `DynamicListsUserSettingsStorage` | ref | Хранилище настроек динамических списков |
| `URLExternalDataStorage` | ref | Хранилище внешних данных URL |
#### Формы по умолчанию
| Свойство | Тип | Описание |
|----------|-----|----------|
| `DefaultReportForm` | ref | Форма отчёта по умолчанию (напр. `CommonForm.ФормаОтчета`) |
| `DefaultReportVariantForm` | ref | Форма варианта отчёта |
| `DefaultReportSettingsForm` | ref | Форма настроек отчёта |
| `DefaultReportAppearanceTemplate` | ref | Шаблон оформления отчёта |
| `DefaultDynamicListSettingsForm` | ref | Форма настроек динамического списка |
| `DefaultSearchForm` | ref | Форма поиска |
| `DefaultDataHistoryChangeHistoryForm` | ref | Форма истории изменений |
| `DefaultDataHistoryVersionDataForm` | ref | Форма данных версии |
| `DefaultDataHistoryVersionDifferencesForm` | ref | Форма различий версий |
| `DefaultCollaborationSystemUsersChoiceForm` | ref | Форма выбора пользователей |
| `DefaultConstantsForm` | ref | Форма констант |
| `DefaultInterface` | ref | Интерфейс по умолчанию (устаревший) |
| `DefaultStyle` | ref | Стиль по умолчанию (устаревший) |
#### Полнотекстовый поиск
| Свойство | Тип | Описание |
|----------|-----|----------|
| `AdditionalFullTextSearchDictionaries` | `xs:string` | Дополнительные словари |
#### Мобильные настройки
| Свойство | Тип | Описание |
|----------|-----|----------|
| `RequiredMobileApplicationPermissions` | list | Обязательные разрешения |
| `UsedMobileApplicationFunctionalities` | list | Используемые функциональности (см. ниже) |
| `MobileApplicationURLs` | list | URL мобильного приложения |
| `AllowedIncomingShareRequestTypes` | list | Разрешённые типы входящих share-запросов |
**UsedMobileApplicationFunctionalities** — список из `app:functionality` с подэлементами `app:functionality` (имя) и `app:use` (boolean):
```xml
<UsedMobileApplicationFunctionalities>
<app:functionality>
<app:functionality>Biometrics</app:functionality>
<app:use>true</app:use>
</app:functionality>
<!-- ... -->
</UsedMobileApplicationFunctionalities>
```
Известные функциональности: `Biometrics`, `Location`, `BackgroundLocation`, `BluetoothPrinters`, `WiFiPrinters`, `Contacts`, `Calendars`, `PushNotifications`, `LocalNotifications`, `InAppPurchases`, `PersonalComputerFileExchange`, `Ads`, `NumberDialing`, `CallProcessing`, `CallLog`, `AutoSendSMS`, `ReceiveSMS`, `SMSLog`, `Camera`, `Microphone`, `MusicLibrary`, `PictureAndVideoLibraries`, `AudioPlaybackAndVibration`, `BackgroundAudioPlaybackAndVibration`, `InstallPackages`, `OSBackup`, `ApplicationUsageStatistics`, `BarcodeScanning`, `BackgroundAudioRecording`, `AllFilesAccess`, `Videoconferences`, `NFC`, `DocumentScanning`, `SpeechToText`, `Geofences`, `IncomingShareRequests`, `AllIncomingShareRequestsTypesProcessing`, `TextToSpeech` (v2.20+).
### 2.4. ChildObjects — состав конфигурации
Перечисляет все объекты метаданных, сгруппированные по типу. Имя XML-элемента = тип объекта, текстовое содержимое = имя объекта. Порядок типов фиксирован:
```xml
<ChildObjects>
<Language>Русский</Language>
<Subsystem>Администрирование</Subsystem>
<Subsystem>Продажи</Subsystem>
<StyleItem>АктуальнаяПодпискаЦвет</StyleItem>
<!-- Style (только ERP и аналогичные) -->
<CommonPicture>AppStore</CommonPicture>
<SessionParameter>АвторизованныйПользователь</SessionParameter>
<Role>ПолныеПрава</Role>
<CommonTemplate>fresh</CommonTemplate>
<FilterCriterion>ДокументыПоВидуОплаты</FilterCriterion>
<CommonModule>АвтоматическиеСкидки</CommonModule>
<CommonAttribute>КомментарийЯзык1</CommonAttribute>
<ExchangePlan>ОбновлениеИнформационнойБазы</ExchangePlan>
<XDTOPackage>AgentScripts</XDTOPackage>
<WebService>EnterpriseDataExchange_1_0_1_2</WebService>
<HTTPService>RegApi</HTTPService>
<WSReference>WSСборОтчетностиРосстата</WSReference>
<EventSubscription>ВстраиваниеОбщихФорм</EventSubscription>
<ScheduledJob>АвтоматическаяВыгрузкаЧеков</ScheduledJob>
<SettingsStorage>БуферыОбменаНовостей</SettingsStorage>
<FunctionalOption>ИспользоватьВалюту</FunctionalOption>
<FunctionalOptionsParameter>Организация</FunctionalOptionsParameter>
<DefinedType>ОписаниеТаблицОбъекта</DefinedType>
<CommonCommand>АвтономнаяРабота</CommonCommand>
<CommandGroup>Документы</CommandGroup>
<Constant>АдресОбработкиОповещений</Constant>
<CommonForm>ФормаОтчета</CommonForm>
<Catalog>Банки</Catalog>
<Document>АвансовыйОтчет</Document>
<DocumentNumerator>ПерсонифицированныйУчет</DocumentNumerator>
<Sequence>ДокументыОрганизаций</Sequence>
<DocumentJournal>ЖурналДокументовЕГАИС</DocumentJournal>
<Enum>АвтоОперацииСПодотчетником</Enum>
<Report>АктСверки</Report>
<DataProcessor>АвансовыйОтчет</DataProcessor>
<InformationRegister>АвторизованныеПодключения</InformationRegister>
<AccumulationRegister>ВозвратыТоваров</AccumulationRegister>
<ChartOfCharacteristicTypes>ВидыСубконтоХозрасчетные</ChartOfCharacteristicTypes>
<ChartOfAccounts>Хозрасчетный</ChartOfAccounts>
<AccountingRegister>Хозрасчетный</AccountingRegister>
<ChartOfCalculationTypes>Начисления</ChartOfCalculationTypes>
<!-- CalculationRegister (только ERP и аналогичные) -->
<BusinessProcess>Задание</BusinessProcess>
<Task>ЗадачаИсполнителя</Task>
<IntegrationService>ОбменСообщениями</IntegrationService>
</ChildObjects>
```
#### Порядок типов в ChildObjects
| № | XML-элемент | Каталог | Описание |
|---|-------------|---------|----------|
| 1 | `Language` | `Languages/` | Языки |
| 2 | `Subsystem` | `Subsystems/` | Подсистемы |
| 3 | `StyleItem` | `StyleItems/` | Элементы стиля |
| 4 | `Style` | `Styles/` | Стили (устаревший тип) |
| 5 | `CommonPicture` | `CommonPictures/` | Общие картинки |
| 6 | `SessionParameter` | `SessionParameters/` | Параметры сеанса |
| 7 | `Role` | `Roles/` | Роли |
| 8 | `CommonTemplate` | `CommonTemplates/` | Общие макеты |
| 9 | `FilterCriterion` | `FilterCriteria/` | Критерии отбора |
| 10 | `CommonModule` | `CommonModules/` | Общие модули |
| 11 | `CommonAttribute` | `CommonAttributes/` | Общие реквизиты |
| 12 | `ExchangePlan` | `ExchangePlans/` | Планы обмена |
| 13 | `XDTOPackage` | `XDTOPackages/` | XDTO-пакеты |
| 14 | `WebService` | `WebServices/` | Веб-сервисы |
| 15 | `HTTPService` | `HTTPServices/` | HTTP-сервисы |
| 16 | `WSReference` | `WSReferences/` | WS-ссылки |
| 17 | `EventSubscription` | `EventSubscriptions/` | Подписки на события |
| 18 | `ScheduledJob` | `ScheduledJobs/` | Регламентные задания |
| 19 | `SettingsStorage` | `SettingsStorages/` | Хранилища настроек |
| 20 | `FunctionalOption` | `FunctionalOptions/` | Функциональные опции |
| 21 | `FunctionalOptionsParameter` | `FunctionalOptionsParameters/` | Параметры ФО |
| 22 | `DefinedType` | `DefinedTypes/` | Определяемые типы |
| 23 | `CommonCommand` | `CommonCommands/` | Общие команды |
| 24 | `CommandGroup` | `CommandGroups/` | Группы команд |
| 25 | `Constant` | `Constants/` | Константы |
| 26 | `CommonForm` | `CommonForms/` | Общие формы |
| 27 | `Catalog` | `Catalogs/` | Справочники |
| 28 | `Document` | `Documents/` | Документы |
| 29 | `DocumentNumerator` | `DocumentNumerators/` | Нумераторы документов |
| 30 | `Sequence` | `Sequences/` | Последовательности |
| 31 | `DocumentJournal` | `DocumentJournals/` | Журналы документов |
| 32 | `Enum` | `Enums/` | Перечисления |
| 33 | `Report` | `Reports/` | Отчёты |
| 34 | `DataProcessor` | `DataProcessors/` | Обработки |
| 35 | `InformationRegister` | `InformationRegisters/` | Регистры сведений |
| 36 | `AccumulationRegister` | `AccumulationRegisters/` | Регистры накопления |
| 37 | `ChartOfCharacteristicTypes` | `ChartsOfCharacteristicTypes/` | Планы видов характеристик |
| 38 | `ChartOfAccounts` | `ChartsOfAccounts/` | Планы счетов |
| 39 | `AccountingRegister` | `AccountingRegisters/` | Регистры бухгалтерии |
| 40 | `ChartOfCalculationTypes` | `ChartsOfCalculationTypes/` | Планы видов расчёта |
| 41 | `CalculationRegister` | `CalculationRegisters/` | Регистры расчёта |
| 42 | `BusinessProcess` | `BusinessProcesses/` | Бизнес-процессы |
| 43 | `Task` | `Tasks/` | Задачи |
| 44 | `IntegrationService` | `IntegrationServices/` | Сервисы интеграции |
Внутри одного типа объекты отсортированы по имени (алфавитный порядок). Типы, для которых нет объектов, в ChildObjects не записываются.
---
## 3. ConfigDumpInfo.xml — служебный файл выгрузки
Содержит информацию о версиях всех объектов конфигурации. Используется платформой для определения изменений при загрузке.
### 3.1. Общая структура
```xml
<?xml version="1.0" encoding="UTF-8"?>
<ConfigDumpInfo xmlns="http://v8.1c.ru/8.3/xcf/dumpinfo"
xmlns:xen="http://v8.1c.ru/8.3/xcf/enums"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
format="Hierarchical" version="2.17">
<ConfigVersions>
<Metadata name="..." id="..." configVersion="...">
<Metadata name="..." id="..."/>
...
</Metadata>
...
</ConfigVersions>
</ConfigDumpInfo>
```
### 3.2. Атрибуты корневого элемента
| Атрибут | Описание |
|---------|----------|
| `format` | Формат выгрузки (`Hierarchical`) |
| `version` | Версия формата (`2.17` / `2.20`) — совпадает с Configuration.xml |
### 3.3. Структура записей Metadata
Каждый `<Metadata>` описывает один объект или его компоненту:
| Атрибут | Описание |
|---------|----------|
| `name` | Полное имя в dot-нотации (напр. `Catalog.Банки.Attribute.Код`) |
| `id` | UUID объекта (с суффиксом `.N` для модулей/форм/справки) |
| `configVersion` | Хеш версии (32 hex-символа + `00000000`), только у записей с файлами |
**Правила:**
- Корневой объект содержит вложенные `<Metadata>` для реквизитов, измерений, ресурсов (без `configVersion`, т.к. они не имеют отдельных файлов)
- Формы, модули, справка — отдельные `<Metadata>` верхнего уровня с `configVersion`
- Суффиксы id для модулей: `.0` — форма, `.1` — модуль набора записей, `.2` — модуль менеджера, `.5` — справка, `.6` — модуль набора записей (альт.), `.7` — модуль менеджера (альт.)
```xml
<!-- Объект с вложенными реквизитами -->
<Metadata name="AccountingRegister.Хозрасчетный" id="7b248429-..." configVersion="eda4...">
<Metadata name="AccountingRegister.Хозрасчетный.Attribute.Содержание" id="17c87c43-..."/>
<Metadata name="AccountingRegister.Хозрасчетный.Resource.Сумма" id="3656a8da-..."/>
<Metadata name="AccountingRegister.Хозрасчетный.Dimension.Организация" id="4d42e16e-..."/>
</Metadata>
<!-- Форма — отдельная запись -->
<Metadata name="AccountingRegister.Хозрасчетный.Form.ФормаСписка" id="5a682c7f-..." configVersion="1362..."/>
<Metadata name="AccountingRegister.Хозрасчетный.Form.ФормаСписка.Form" id="5a682c7f-....0" configVersion="e384..."/>
<!-- Модули — отдельные записи -->
<Metadata name="AccountingRegister.Хозрасчетный.ManagerModule" id="7b248429-....7" configVersion="0387..."/>
```
---
## 4. Ext/ — корневой каталог конфигурации
Каталог `Ext/` содержит файлы, относящиеся к конфигурации в целом (не к отдельным объектам).
### 4.1. Модули (BSL)
| Файл | Описание |
|------|----------|
| `ManagedApplicationModule.bsl` | Модуль управляемого приложения |
| `OrdinaryApplicationModule.bsl` | Модуль обычного приложения |
| `SessionModule.bsl` | Модуль сеанса |
| `ExternalConnectionModule.bsl` | Модуль внешнего соединения |
Все модули — текстовые файлы в кодировке UTF-8 с BOM, содержащие код на языке 1С (BSL).
### 4.2. Командный интерфейс
| Файл | Описание |
|------|----------|
| `CommandInterface.xml` | Корневой командный интерфейс (порядок подсистем, видимость) |
| `MainSectionCommandInterface.xml` | Командный интерфейс главного раздела |
| `ClientApplicationInterface.xml` | Интерфейс клиентского приложения (расположение панелей) |
**CommandInterface.xml** — описывает порядок подсистем и видимость команд для главного окна:
```xml
<CommandInterface xmlns="http://v8.1c.ru/8.3/xcf/extrnprops" ... version="2.17">
<SubsystemsOrder>
<Subsystem>Subsystem.Руководителю</Subsystem>
<Subsystem>Subsystem.БанкИКасса</Subsystem>
...
</SubsystemsOrder>
</CommandInterface>
```
Подробнее: [1c-subsystem-spec.md § 4](1c-subsystem-spec.md#4-формат-командного-интерфейса-commandinterfacexml).
**ClientApplicationInterface.xml** — расположение панелей (top/left/bottom/right):
```xml
<ClientApplicationInterface xmlns="http://v8.1c.ru/8.2/managed-application/core" ...>
<top>
<group id="...">
<group><panel id="..."><uuid>...</uuid></panel></group>
...
</group>
</top>
<left>...</left>
</ClientApplicationInterface>
```
### 4.3. Начальная страница
| Файл | Описание |
|------|----------|
| `HomePageWorkArea.xml` | Рабочая область начальной страницы |
```xml
<HomePageWorkArea xmlns="http://v8.1c.ru/8.3/xcf/extrnprops" ... version="2.17">
<WorkingAreaTemplate>TwoColumnsVariableWidth</WorkingAreaTemplate>
<LeftColumn>
<Item>
<Form>CommonForm.НачалоРаботы</Form>
<Height>100</Height>
<Visibility>
<xr:Common>true</xr:Common>
<xr:Value name="Role.ОператорОтправки...">false</xr:Value>
</Visibility>
</Item>
...
</LeftColumn>
<RightColumn>...</RightColumn>
</HomePageWorkArea>
```
Шаблон рабочей области: `TwoColumnsVariableWidth`, `OneColumn` и др.
### 4.4. Картинки
| Файл | Описание |
|------|----------|
| `Splash.xml` + `Splash/Picture.png` | Заставка при запуске |
| `MainSectionPicture.xml` + `MainSectionPicture/Picture.svg` | Картинка главного раздела |
Формат XML-описания картинки:
```xml
<ExtPicture xmlns="http://v8.1c.ru/8.3/xcf/extrnprops" ... version="2.17">
<Picture>
<xr:Abs>Picture.png</xr:Abs>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
</ExtPicture>
```
### 4.5. Бинарные файлы
| Файл | Описание |
|------|----------|
| `ParentConfigurations.bin` | Информация о родительских конфигурациях (поставки) |
| `MobileClientSignature.bin` | Подпись мобильного клиента |
---
## 5. Языки (Languages)
Языки — простейший тип объекта конфигурации. Каталог `Languages/`, один XML-файл на язык.
```xml
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" ... version="2.17">
<Language uuid="db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e">
<Properties>
<Name>Русский</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Русский</v8:content>
</v8:item>
</Synonym>
<Comment/>
<LanguageCode>ru</LanguageCode>
</Properties>
</Language>
</MetaDataObject>
```
| Свойство | Описание |
|----------|----------|
| `Name` | Имя (идентификатор) |
| `Synonym` | Отображаемое имя |
| `Comment` | Комментарий |
| `LanguageCode` | Код языка (`ru`, `en`, и т.д.) |
Язык, указанный в `Properties.DefaultLanguage` конфигурации как `Language.Русский`, является основным.
---
## 6. Дополнительные типы объектов
Ниже описаны типы, не покрытые в [1c-config-objects-spec.md](1c-config-objects-spec.md). Все объекты следуют стандартной структуре `MetaDataObject / <Type> / Properties` с обязательными `Name`, `Synonym`, `Comment`.
### 6.1. CommonPicture — общая картинка
Каталог: `CommonPictures/`. Файлы: `<Имя>.xml` + `<Имя>/Ext/Picture/` (файлы картинок).
```xml
<CommonPicture uuid="...">
<Properties>
<Name>AppStore</Name>
<Synonym>...</Synonym>
<Comment/>
<AvailabilityForChoice>false</AvailabilityForChoice>
<AvailabilityForAppearance>false</AvailabilityForAppearance>
</Properties>
</CommonPicture>
```
| Свойство | Тип | Описание |
|----------|-----|----------|
| `AvailabilityForChoice` | `xs:boolean` | Доступность для выбора в интерфейсе |
| `AvailabilityForAppearance` | `xs:boolean` | Доступность для оформления |
### 6.2. CommonTemplate — общий макет
Каталог: `CommonTemplates/`. Файлы: `<Имя>.xml` (метаданные) + `<Имя>/Ext/Template.xml` (содержимое).
```xml
<CommonTemplate uuid="...">
<Properties>
<Name>fresh</Name>
<Synonym>...</Synonym>
<Comment/>
<TemplateType>BinaryData</TemplateType>
</Properties>
</CommonTemplate>
```
| Свойство | Тип | Описание |
|----------|-----|----------|
| `TemplateType` | enum | Тип макета: `SpreadsheetDocument`, `BinaryData`, `HTMLDocument`, `TextDocument`, `ActiveDocument`, `DataCompositionSchema`, `DataCompositionAppearanceTemplate`, `GraphicalSchema`, `AddIn` |
### 6.3. CommonAttribute — общий реквизит
Каталог: `CommonAttributes/`. Один XML-файл на объект.
```xml
<CommonAttribute uuid="...">
<Properties>
<Name>КомментарийЯзык1</Name>
<Synonym>...</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<!-- Свойства аналогичны Attribute объекта: PasswordMode, Format, EditFormat, ... -->
<AutoUse>DontUse</AutoUse>
<DataSeparation>DontUse</DataSeparation>
<SeparatedDataUse>IndependentlyAndSimultaneously</SeparatedDataUse>
<DataSeparationValue/>
<DataSeparationUse/>
<ConditionalSeparation/>
<UsersSeparation>DontUse</UsersSeparation>
<AuthenticationSeparation>DontUse</AuthenticationSeparation>
<ConfigurationExtensionsSeparation>DontUse</ConfigurationExtensionsSeparation>
<Content>...</Content>
</Properties>
</CommonAttribute>
```
Специфичные свойства (помимо стандартных реквизитных): `AutoUse`, `DataSeparation`, `SeparatedDataUse`, `DataSeparationValue`, `DataSeparationUse`, `Content` (список объектов, к которым применяется).
### 6.4. CommonForm — общая форма
Каталог: `CommonForms/`. Файлы: `<Имя>.xml` (метаданные) + `<Имя>/Ext/Form.xml` + `<Имя>/Ext/Form/Module.bsl`.
```xml
<CommonForm uuid="...">
<Properties>
<Name>АварийныйРежимИСМП</Name>
<Synonym>...</Synonym>
<Comment/>
<FormType>Managed</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
<UseStandardCommands>false</UseStandardCommands>
<ExtendedPresentation/>
<Explanation/>
</Properties>
</CommonForm>
```
| Свойство | Тип | Описание |
|----------|-----|----------|
| `FormType` | enum | `Managed` / `Ordinary` |
| `IncludeHelpInContents` | `xs:boolean` | Включить справку в оглавление |
| `UsePurposes` | list | Назначения |
| `UseStandardCommands` | `xs:boolean` | Использовать стандартные команды |
| `ExtendedPresentation` | `LocalString` | Расширенное представление |
| `Explanation` | `LocalString` | Пояснение |
### 6.5. CommonCommand — общая команда
Каталог: `CommonCommands/`. Файлы: `<Имя>.xml` + `<Имя>/Ext/CommandModule.bsl`.
```xml
<CommonCommand uuid="...">
<Properties>
<Name>АвтономнаяРабота</Name>
<Synonym>...</Synonym>
<Comment/>
<Group>NavigationPanelOrdinary</Group>
<Representation>Auto</Representation>
<ToolTip/>
<Picture/>
<Shortcut/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
```
Подробнее: [1c-subsystem-spec.md § 6](1c-subsystem-spec.md#6-формат-общей-команды-commoncommand).
### 6.6. SessionParameter — параметр сеанса
Каталог: `SessionParameters/`. Один XML-файл на объект.
```xml
<SessionParameter uuid="...">
<Properties>
<Name>АвторизованныйПользователь</Name>
<Synonym>...</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:CatalogRef.ВнешниеПользователи</v8:Type>
<v8:Type>cfg:CatalogRef.Пользователи</v8:Type>
</Type>
</Properties>
</SessionParameter>
```
Единственное специфичное свойство — `Type` (составной тип).
### 6.7. FunctionalOption — функциональная опция
Каталог: `FunctionalOptions/`. Один XML-файл на объект.
```xml
<FunctionalOption uuid="...">
<Properties>
<Name>АвансыВключаютсяВДоходыВПериодеПолучения</Name>
<Synonym>...</Synonym>
<Comment/>
<Location>InformationRegister.НастройкиУчетаНДФЛ.Resource.АвансыВключаютсяВДоходыВПериодеПолучения</Location>
<PrivilegedGetMode>true</PrivilegedGetMode>
<Content/>
</Properties>
</FunctionalOption>
```
| Свойство | Тип | Описание |
|----------|-----|----------|
| `Location` | ref | Где хранится значение (ссылка на реквизит/ресурс/константу) |
| `PrivilegedGetMode` | `xs:boolean` | Привилегированный режим получения |
| `Content` | list | Состав (объекты, зависящие от опции) |
### 6.8. FunctionalOptionsParameter — параметр функциональных опций
Каталог: `FunctionalOptionsParameters/`. Один XML-файл.
```xml
<FunctionalOptionsParameter uuid="...">
<Properties>
<Name>ДополнительныеОтчетыИОбработкиОбъектНазначения</Name>
<Synonym>...</Synonym>
<Comment/>
<Use>
<xr:Item xsi:type="xr:MDObjectRef">InformationRegister.Назначение...Dimension.ОбъектНазначения</xr:Item>
</Use>
</Properties>
</FunctionalOptionsParameter>
```
| Свойство | Тип | Описание |
|----------|-----|----------|
| `Use` | list | Список измерений/реквизитов, используемых как параметр |
### 6.9. Sequence — последовательность документов
Каталог: `Sequences/`. Один XML-файл.
```xml
<Sequence uuid="...">
<InternalInfo>
<xr:GeneratedType name="SequenceRecord.ДокументыОрганизаций" category="Record">...</xr:GeneratedType>
<xr:GeneratedType name="SequenceManager.ДокументыОрганизаций" category="Manager">...</xr:GeneratedType>
<xr:GeneratedType name="SequenceRecordSet.ДокументыОрганизаций" category="RecordSet">...</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ДокументыОрганизаций</Name>
<Synonym>...</Synonym>
<Comment/>
<MoveBoundaryOnPosting>DontMove</MoveBoundaryOnPosting>
<Documents>
<xr:Item xsi:type="xr:MDObjectRef">Document.АвансовыйОтчет</xr:Item>
...
</Documents>
</Properties>
<ChildObjects>
<Dimension>Организация</Dimension>
</ChildObjects>
</Sequence>
```
| Свойство | Тип | Описание |
|----------|-----|----------|
| `MoveBoundaryOnPosting` | enum | Перемещение границы при проведении: `DontMove` / `Move` |
| `Documents` | list | Список документов, входящих в последовательность |
ChildObjects могут содержать `Dimension` (измерения последовательности).
### 6.10. SettingsStorage — хранилище настроек
Каталог: `SettingsStorages/`. Файлы: `<Имя>.xml` + `<Имя>/` (формы, модули).
```xml
<SettingsStorage uuid="...">
<InternalInfo>
<xr:GeneratedType name="SettingsStorageManager.БуферыОбменаНовостей" category="Manager">...</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>БуферыОбменаНовостей</Name>
<Synonym>...</Synonym>
<Comment/>
<DefaultSaveForm/>
<DefaultLoadForm/>
<AuxiliarySaveForm/>
<AuxiliaryLoadForm/>
</Properties>
<ChildObjects>
<Form>ФормаУправленияБуферамиОбмена</Form>
</ChildObjects>
</SettingsStorage>
```
| Свойство | Тип | Описание |
|----------|-----|----------|
| `DefaultSaveForm` | ref | Форма сохранения по умолчанию |
| `DefaultLoadForm` | ref | Форма загрузки по умолчанию |
| `AuxiliarySaveForm` | ref | Вспомогательная форма сохранения |
| `AuxiliaryLoadForm` | ref | Вспомогательная форма загрузки |
ChildObjects: `Form` (формы), `Template` (макеты).
### 6.11. FilterCriterion — критерий отбора
Каталог: `FilterCriteria/`. Один XML-файл.
```xml
<FilterCriterion uuid="...">
<InternalInfo>
<xr:GeneratedType name="FilterCriterionManager.ДокументыПоВидуОплаты" category="Manager">...</xr:GeneratedType>
<xr:GeneratedType name="FilterCriterionList.ДокументыПоВидуОплаты" category="List">...</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ДокументыПоВидуОплаты</Name>
<Synonym>...</Synonym>
<Comment/>
<Type>
<v8:Type>cfg:CatalogRef.ВидыОплатОрганизаций</v8:Type>
</Type>
<UseStandardCommands>true</UseStandardCommands>
<Content>
<xr:Item xsi:type="xr:MDObjectRef">Document.ОплатаПлатежнойКартой.Attribute.ВидОплаты</xr:Item>
...
</Content>
</Properties>
</FilterCriterion>
```
| Свойство | Тип | Описание |
|----------|-----|----------|
| `Type` | type-def | Тип значения критерия (обычно ссылочный) |
| `UseStandardCommands` | `xs:boolean` | Использовать стандартные команды |
| `Content` | list | Реквизиты объектов, по которым выполняется отбор |
ChildObjects: `Form` (формы), `Command` (команды).
### 6.12. DocumentNumerator — нумератор документов
Каталог: `DocumentNumerators/`. Один XML-файл.
```xml
<DocumentNumerator uuid="...">
<Properties>
<Name>ПерсонифицированныйУчет</Name>
<Synonym>...</Synonym>
<Comment/>
<NumberType>String</NumberType>
<NumberLength>11</NumberLength>
<NumberAllowedLength>Variable</NumberAllowedLength>
<NumberPeriodicity>Year</NumberPeriodicity>
<CheckUnique>true</CheckUnique>
</Properties>
</DocumentNumerator>
```
| Свойство | Тип | Описание |
|----------|-----|----------|
| `NumberType` | enum | Тип номера: `String` / `Number` |
| `NumberLength` | `xs:decimal` | Длина номера |
| `NumberAllowedLength` | enum | Допустимая длина: `Variable` / `Fixed` |
| `NumberPeriodicity` | enum | Периодичность: `Nonperiodical` / `Year` / `Quarter` / `Month` / `Day` |
| `CheckUnique` | `xs:boolean` | Контроль уникальности |
### 6.13. IntegrationService — сервис интеграции
Каталог: `IntegrationServices/`. Файлы: `<Имя>.xml` + `<Имя>/Ext/Module.bsl`.
```xml
<IntegrationService uuid="...">
<InternalInfo>
<xr:GeneratedType name="IntegrationServiceManager.ОбменСообщениями" category="Manager">...</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ОбменСообщениями</Name>
<Synonym>...</Synonym>
<Comment/>
<ExternalIntegrationServiceAddress/>
</Properties>
<ChildObjects>
<IntegrationServiceChannel uuid="...">
<InternalInfo>...</InternalInfo>
<Properties>
<Name>input_from_SM_normal_priority</Name>
<Synonym/>
<Comment/>
<ExternalIntegrationServiceChannelName>e1c::FreshBus::Main::...</ExternalIntegrationServiceChannelName>
<MessageDirection>Receive</MessageDirection>
<ReceiveMessageProcessing>ОбработатьСообщениеОбычныйПриоритет</ReceiveMessageProcessing>
<Transactioned>false</Transactioned>
</Properties>
</IntegrationServiceChannel>
</ChildObjects>
</IntegrationService>
```
| Свойство | Тип | Описание |
|----------|-----|----------|
| `ExternalIntegrationServiceAddress` | `xs:string` | Адрес внешнего сервиса интеграции |
ChildObjects содержат `IntegrationServiceChannel` (каналы) — inline-определения с uuid, InternalInfo и Properties (Name, ExternalIntegrationServiceChannelName, MessageDirection: `Send`/`Receive`, ReceiveMessageProcessing, Transactioned).
### 6.14. XDTOPackage — XDTO-пакет
Каталог: `XDTOPackages/`. Файлы: `<Имя>.xml` (метаданные) + `<Имя>/Ext/Package.xdto` (схема).
```xml
<XDTOPackage uuid="...">
<Properties>
<Name>AgentScripts</Name>
<Synonym>...</Synonym>
<Comment/>
<Namespace>http://v8.1c.ru/agent/scripts/1.0</Namespace>
</Properties>
</XDTOPackage>
```
| Свойство | Тип | Описание |
|----------|-----|----------|
| `Namespace` | `xs:string` | URI пространства имён XDTO-пакета |
### 6.15. WSReference — WS-ссылка
Каталог: `WSReferences/`. Файлы: `<Имя>.xml` + `<Имя>/Ext/WSDefinition.wsdl`.
```xml
<WSReference uuid="...">
<InternalInfo>
<xr:GeneratedType name="WSReferenceManager.WSСборОтчетностиРосстата" category="Manager">...</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>WSСборОтчетностиРосстата</Name>
<Synonym>...</Synonym>
<Comment/>
<LocationURL>file://C:/TEMP/ECCOwsdl.xml</LocationURL>
</Properties>
</WSReference>
```
| Свойство | Тип | Описание |
|----------|-----|----------|
| `LocationURL` | `xs:string` | URL WSDL-описания сервиса |
### 6.16. StyleItem — элемент стиля
Каталог: `StyleItems/`. Один XML-файл.
```xml
<StyleItem uuid="...">
<Properties>
<Name>АктуальнаяПодпискаЦвет</Name>
<Synonym>...</Synonym>
<Comment/>
<Type>Color</Type>
<Value xsi:type="v8ui:Color">#009646</Value>
</Properties>
</StyleItem>
```
| Свойство | Тип | Описание |
|----------|-----|----------|
| `Type` | enum | Тип элемента стиля: `Color`, `Font`, `Border` |
| `Value` | varies | Значение: цвет `#RRGGBB`, шрифт (`v8ui:FontInfo`), рамка (`v8ui:BorderInfo`) |
### 6.17. Style — стиль (устаревший)
Каталог: `Styles/`. Файлы: `<Имя>.xml` + `<Имя>/Ext/Style.xml`.
```xml
<Style uuid="...">
<Properties>
<Name>Основной</Name>
<Synonym>...</Synonym>
<Comment/>
</Properties>
</Style>
```
Присутствует только в конфигурациях с поддержкой устаревших стилей (ERP). Не имеет специфичных свойств в метаданных; содержимое в `Ext/Style.xml`.
---
## 7. Различия версий 2.17 → 2.20
### 7.1. Атрибут version
```xml
<!-- 2.17 -->
<MetaDataObject ... version="2.17">
<!-- 2.20 -->
<MetaDataObject ... version="2.20">
```
### 7.2. Configuration.xml — Properties
Набор свойств Properties **идентичен** в обеих версиях. Отличия только в значениях:
| Свойство | Изменение |
|----------|-----------|
| `CompatibilityMode` | `Version8_3_24``Version8_3_24` / `Version8_3_27` (зависит от конфигурации) |
| `ConfigurationExtensionCompatibilityMode` | аналогично |
| `UsedMobileApplicationFunctionalities` | В v2.20 добавлена функциональность `TextToSpeech` |
### 7.3. Configuration.xml — ChildObjects
Набор типов объектов в ChildObjects **идентичен** между версиями 2.17 и 2.20.
### 7.4. ConfigDumpInfo.xml
Атрибут `version` меняется на `2.20`. Структура записей не изменилась.
### 7.5. Ext/ файлы
В файлах `CommandInterface.xml`, `HomePageWorkArea.xml` атрибут `version` меняется на `2.20`. Структура не изменилась.
### 7.6. Форматирование XML
В v2.20 пустые элементы записываются без пробела: `<Comment/>` вместо `<Comment />`. Это косметическое отличие, не влияющее на парсинг.
---
## 8. Пространства имён XML
Полный набор namespace, используемых в Configuration.xml:
| Префикс | URI | Назначение |
|---------|-----|------------|
| *(default)* | `http://v8.1c.ru/8.3/MDClasses` | Метаданные объектов |
| `v8` | `http://v8.1c.ru/8.1/data/core` | Ядро данных (типы, LocalString) |
| `xr` | `http://v8.1c.ru/8.3/xcf/readable` | Человекочитаемые ссылки |
| `xs` | `http://www.w3.org/2001/XMLSchema` | XML Schema типы |
| `xsi` | `http://www.w3.org/2001/XMLSchema-instance` | Атрибуты xsi:type, xsi:nil |
| `app` | `http://v8.1c.ru/8.2/managed-application/core` | Управляемое приложение |
| `cfg` | `http://v8.1c.ru/8.1/data/enterprise/current-config` | Ссылочные типы конфигурации |
| `v8ui` | `http://v8.1c.ru/8.1/data/ui` | UI-элементы (цвета, шрифты) |
| `style` | `http://v8.1c.ru/8.1/data/ui/style` | Стили |
| `sys` | `http://v8.1c.ru/8.1/data/ui/fonts/system` | Системные шрифты |
| `web` | `http://v8.1c.ru/8.1/data/ui/colors/web` | Web-цвета |
| `win` | `http://v8.1c.ru/8.1/data/ui/colors/windows` | Windows-цвета |
| `xen` | `http://v8.1c.ru/8.3/xcf/enums` | Перечисления формата |
| `xpr` | `http://v8.1c.ru/8.3/xcf/predef` | Предопределённые элементы |
| `ent` | `http://v8.1c.ru/8.1/data/enterprise` | Предприятие |
| `cmi` | `http://v8.1c.ru/8.2/managed-application/cmi` | Командный интерфейс |
| `lf` | `http://v8.1c.ru/8.2/managed-application/logform` | Логические формы |