diff --git a/docs/1c-config-objects-spec.md b/docs/1c-config-objects-spec.md index 6fc51d91..ece3c3a1 100644 --- a/docs/1c-config-objects-spec.md +++ b/docs/1c-config-objects-spec.md @@ -5,7 +5,10 @@ Источники: выгрузки ERP 2, Бухгалтерия предприятия (платформы 8.3.20, 8.3.24, 8.3.27). -> **Связанные спецификации**: Подсистемы и командный интерфейс — [1c-subsystem-spec.md](1c-subsystem-spec.md). +> **Связанные спецификации:** +> - Корневая структура конфигурации — [1c-configuration-spec.md](1c-configuration-spec.md) +> - Подсистемы и командный интерфейс — [1c-subsystem-spec.md](1c-subsystem-spec.md) +> - Сводный индекс — [1c-specs-index.md](1c-specs-index.md) --- diff --git a/docs/1c-configuration-spec.md b/docs/1c-configuration-spec.md new file mode 100644 index 00000000..d62eeb5e --- /dev/null +++ b/docs/1c-configuration-spec.md @@ -0,0 +1,992 @@ +# Спецификация корневой структуры конфигурации 1С + +Формат: XML-выгрузка конфигурации 1С:Предприятие 8.3 (Конфигуратор → Конфигурация → Выгрузить конфигурацию в файлы). +Версии формата: `2.17` (платформа 8.3.20–8.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 + + + + ... + ... + ... + + +``` + +Атрибут `version` корневого элемента `MetaDataObject` определяет версию формата выгрузки. + +### 2.2. InternalInfo + +Содержит набор `xr:ContainedObject` — пары ClassId/ObjectId, идентифицирующие внутренние компоненты конфигурации (модули, интерфейс, справка и т.д.). Количество записей фиксировано (7 в типичной конфигурации). + +```xml + + + 9cd510cd-abfc-11d4-9434-004095e12fc7 + f0ba0954-a66b-4085-9df1-b8a4283bdbd3 + + + +``` + +ClassId — фиксированные идентификаторы классов платформы. ObjectId — уникальные для каждой конфигурации. + +### 2.3. Properties — свойства конфигурации + +Свойства идут строго в фиксированном порядке. Пустые свойства записываются как самозакрывающийся элемент (``) или с пробелом (``). + +#### Идентификация и общие + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `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 | Роли по умолчанию: `Role.XXX` | +| `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 + + + Biometrics + true + + + +``` + +Известные функциональности: `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 + + Русский + Администрирование + Продажи + АктуальнаяПодпискаЦвет + + AppStore + АвторизованныйПользователь + ПолныеПрава + fresh + ДокументыПоВидуОплаты + АвтоматическиеСкидки + КомментарийЯзык1 + ОбновлениеИнформационнойБазы + AgentScripts + EnterpriseDataExchange_1_0_1_2 + RegApi + WSСборОтчетностиРосстата + ВстраиваниеОбщихФорм + АвтоматическаяВыгрузкаЧеков + БуферыОбменаНовостей + ИспользоватьВалюту + Организация + ОписаниеТаблицОбъекта + АвтономнаяРабота + Документы + АдресОбработкиОповещений + ФормаОтчета + Банки + АвансовыйОтчет + ПерсонифицированныйУчет + ДокументыОрганизаций + ЖурналДокументовЕГАИС + АвтоОперацииСПодотчетником + АктСверки + АвансовыйОтчет + АвторизованныеПодключения + ВозвратыТоваров + ВидыСубконтоХозрасчетные + Хозрасчетный + Хозрасчетный + Начисления + + Задание + ЗадачаИсполнителя + ОбменСообщениями + +``` + +#### Порядок типов в 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 + + + + + + ... + + ... + + +``` + +### 3.2. Атрибуты корневого элемента + +| Атрибут | Описание | +|---------|----------| +| `format` | Формат выгрузки (`Hierarchical`) | +| `version` | Версия формата (`2.17` / `2.20`) — совпадает с Configuration.xml | + +### 3.3. Структура записей Metadata + +Каждый `` описывает один объект или его компоненту: + +| Атрибут | Описание | +|---------|----------| +| `name` | Полное имя в dot-нотации (напр. `Catalog.Банки.Attribute.Код`) | +| `id` | UUID объекта (с суффиксом `.N` для модулей/форм/справки) | +| `configVersion` | Хеш версии (32 hex-символа + `00000000`), только у записей с файлами | + +**Правила:** +- Корневой объект содержит вложенные `` для реквизитов, измерений, ресурсов (без `configVersion`, т.к. они не имеют отдельных файлов) +- Формы, модули, справка — отдельные `` верхнего уровня с `configVersion` +- Суффиксы id для модулей: `.0` — форма, `.1` — модуль набора записей, `.2` — модуль менеджера, `.5` — справка, `.6` — модуль набора записей (альт.), `.7` — модуль менеджера (альт.) + +```xml + + + + + + + + + + + +``` + +--- + +## 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 + + + Subsystem.Руководителю + Subsystem.БанкИКасса + ... + + +``` + +Подробнее: [1c-subsystem-spec.md § 4](1c-subsystem-spec.md#4-формат-командного-интерфейса-commandinterfacexml). + +**ClientApplicationInterface.xml** — расположение панелей (top/left/bottom/right): + +```xml + + + + ... + ... + + + ... + +``` + +### 4.3. Начальная страница + +| Файл | Описание | +|------|----------| +| `HomePageWorkArea.xml` | Рабочая область начальной страницы | + +```xml + + TwoColumnsVariableWidth + + +
CommonForm.НачалоРаботы
+ 100 + + true + false + +
+ ... +
+ ... +
+``` + +Шаблон рабочей области: `TwoColumnsVariableWidth`, `OneColumn` и др. + +### 4.4. Картинки + +| Файл | Описание | +|------|----------| +| `Splash.xml` + `Splash/Picture.png` | Заставка при запуске | +| `MainSectionPicture.xml` + `MainSectionPicture/Picture.svg` | Картинка главного раздела | + +Формат XML-описания картинки: + +```xml + + + Picture.png + false + + +``` + +### 4.5. Бинарные файлы + +| Файл | Описание | +|------|----------| +| `ParentConfigurations.bin` | Информация о родительских конфигурациях (поставки) | +| `MobileClientSignature.bin` | Подпись мобильного клиента | + +--- + +## 5. Языки (Languages) + +Языки — простейший тип объекта конфигурации. Каталог `Languages/`, один XML-файл на язык. + +```xml + + + + + Русский + + + ru + Русский + + + + ru + + + +``` + +| Свойство | Описание | +|----------|----------| +| `Name` | Имя (идентификатор) | +| `Synonym` | Отображаемое имя | +| `Comment` | Комментарий | +| `LanguageCode` | Код языка (`ru`, `en`, и т.д.) | + +Язык, указанный в `Properties.DefaultLanguage` конфигурации как `Language.Русский`, является основным. + +--- + +## 6. Дополнительные типы объектов + +Ниже описаны типы, не покрытые в [1c-config-objects-spec.md](1c-config-objects-spec.md). Все объекты следуют стандартной структуре `MetaDataObject / / Properties` с обязательными `Name`, `Synonym`, `Comment`. + +### 6.1. CommonPicture — общая картинка + +Каталог: `CommonPictures/`. Файлы: `<Имя>.xml` + `<Имя>/Ext/Picture/` (файлы картинок). + +```xml + + + AppStore + ... + + false + false + + +``` + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `AvailabilityForChoice` | `xs:boolean` | Доступность для выбора в интерфейсе | +| `AvailabilityForAppearance` | `xs:boolean` | Доступность для оформления | + +### 6.2. CommonTemplate — общий макет + +Каталог: `CommonTemplates/`. Файлы: `<Имя>.xml` (метаданные) + `<Имя>/Ext/Template.xml` (содержимое). + +```xml + + + fresh + ... + + BinaryData + + +``` + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `TemplateType` | enum | Тип макета: `SpreadsheetDocument`, `BinaryData`, `HTMLDocument`, `TextDocument`, `ActiveDocument`, `DataCompositionSchema`, `DataCompositionAppearanceTemplate`, `GraphicalSchema`, `AddIn` | + +### 6.3. CommonAttribute — общий реквизит + +Каталог: `CommonAttributes/`. Один XML-файл на объект. + +```xml + + + КомментарийЯзык1 + ... + + + xs:string + + 0 + Variable + + + + DontUse + DontUse + IndependentlyAndSimultaneously + + + + DontUse + DontUse + DontUse + ... + + +``` + +Специфичные свойства (помимо стандартных реквизитных): `AutoUse`, `DataSeparation`, `SeparatedDataUse`, `DataSeparationValue`, `DataSeparationUse`, `Content` (список объектов, к которым применяется). + +### 6.4. CommonForm — общая форма + +Каталог: `CommonForms/`. Файлы: `<Имя>.xml` (метаданные) + `<Имя>/Ext/Form.xml` + `<Имя>/Ext/Form/Module.bsl`. + +```xml + + + АварийныйРежимИСМП + ... + + Managed + false + + PlatformApplication + MobilePlatformApplication + + false + + + + +``` + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `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 + + + АвтономнаяРабота + ... + + NavigationPanelOrdinary + Auto + + + + false + + Single + false + Auto + + +``` + +Подробнее: [1c-subsystem-spec.md § 6](1c-subsystem-spec.md#6-формат-общей-команды-commoncommand). + +### 6.6. SessionParameter — параметр сеанса + +Каталог: `SessionParameters/`. Один XML-файл на объект. + +```xml + + + АвторизованныйПользователь + ... + + + cfg:CatalogRef.ВнешниеПользователи + cfg:CatalogRef.Пользователи + + + +``` + +Единственное специфичное свойство — `Type` (составной тип). + +### 6.7. FunctionalOption — функциональная опция + +Каталог: `FunctionalOptions/`. Один XML-файл на объект. + +```xml + + + АвансыВключаютсяВДоходыВПериодеПолучения + ... + + InformationRegister.НастройкиУчетаНДФЛ.Resource.АвансыВключаютсяВДоходыВПериодеПолучения + true + + + +``` + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `Location` | ref | Где хранится значение (ссылка на реквизит/ресурс/константу) | +| `PrivilegedGetMode` | `xs:boolean` | Привилегированный режим получения | +| `Content` | list | Состав (объекты, зависящие от опции) | + +### 6.8. FunctionalOptionsParameter — параметр функциональных опций + +Каталог: `FunctionalOptionsParameters/`. Один XML-файл. + +```xml + + + ДополнительныеОтчетыИОбработкиОбъектНазначения + ... + + + InformationRegister.Назначение...Dimension.ОбъектНазначения + + + +``` + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `Use` | list | Список измерений/реквизитов, используемых как параметр | + +### 6.9. Sequence — последовательность документов + +Каталог: `Sequences/`. Один XML-файл. + +```xml + + + ... + ... + ... + + + ДокументыОрганизаций + ... + + DontMove + + Document.АвансовыйОтчет + ... + + + + Организация + + +``` + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `MoveBoundaryOnPosting` | enum | Перемещение границы при проведении: `DontMove` / `Move` | +| `Documents` | list | Список документов, входящих в последовательность | + +ChildObjects могут содержать `Dimension` (измерения последовательности). + +### 6.10. SettingsStorage — хранилище настроек + +Каталог: `SettingsStorages/`. Файлы: `<Имя>.xml` + `<Имя>/` (формы, модули). + +```xml + + + ... + + + БуферыОбменаНовостей + ... + + + + + + + +
ФормаУправленияБуферамиОбмена
+
+
+``` + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `DefaultSaveForm` | ref | Форма сохранения по умолчанию | +| `DefaultLoadForm` | ref | Форма загрузки по умолчанию | +| `AuxiliarySaveForm` | ref | Вспомогательная форма сохранения | +| `AuxiliaryLoadForm` | ref | Вспомогательная форма загрузки | + +ChildObjects: `Form` (формы), `Template` (макеты). + +### 6.11. FilterCriterion — критерий отбора + +Каталог: `FilterCriteria/`. Один XML-файл. + +```xml + + + ... + ... + + + ДокументыПоВидуОплаты + ... + + + cfg:CatalogRef.ВидыОплатОрганизаций + + true + + Document.ОплатаПлатежнойКартой.Attribute.ВидОплаты + ... + + + +``` + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `Type` | type-def | Тип значения критерия (обычно ссылочный) | +| `UseStandardCommands` | `xs:boolean` | Использовать стандартные команды | +| `Content` | list | Реквизиты объектов, по которым выполняется отбор | + +ChildObjects: `Form` (формы), `Command` (команды). + +### 6.12. DocumentNumerator — нумератор документов + +Каталог: `DocumentNumerators/`. Один XML-файл. + +```xml + + + ПерсонифицированныйУчет + ... + + String + 11 + Variable + Year + true + + +``` + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `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 + + + ... + + + ОбменСообщениями + ... + + + + + + ... + + input_from_SM_normal_priority + + + e1c::FreshBus::Main::... + Receive + ОбработатьСообщениеОбычныйПриоритет + false + + + + +``` + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `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 + + + AgentScripts + ... + + http://v8.1c.ru/agent/scripts/1.0 + + +``` + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `Namespace` | `xs:string` | URI пространства имён XDTO-пакета | + +### 6.15. WSReference — WS-ссылка + +Каталог: `WSReferences/`. Файлы: `<Имя>.xml` + `<Имя>/Ext/WSDefinition.wsdl`. + +```xml + + + ... + + + WSСборОтчетностиРосстата + ... + + file://C:/TEMP/ECCOwsdl.xml + + +``` + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `LocationURL` | `xs:string` | URL WSDL-описания сервиса | + +### 6.16. StyleItem — элемент стиля + +Каталог: `StyleItems/`. Один XML-файл. + +```xml + + + АктуальнаяПодпискаЦвет + ... + + Color + #009646 + + +``` + +| Свойство | Тип | Описание | +|----------|-----|----------| +| `Type` | enum | Тип элемента стиля: `Color`, `Font`, `Border` | +| `Value` | varies | Значение: цвет `#RRGGBB`, шрифт (`v8ui:FontInfo`), рамка (`v8ui:BorderInfo`) | + +### 6.17. Style — стиль (устаревший) + +Каталог: `Styles/`. Файлы: `<Имя>.xml` + `<Имя>/Ext/Style.xml`. + +```xml + +``` + +Присутствует только в конфигурациях с поддержкой устаревших стилей (ERP). Не имеет специфичных свойств в метаданных; содержимое в `Ext/Style.xml`. + +--- + +## 7. Различия версий 2.17 → 2.20 + +### 7.1. Атрибут version + +```xml + + + + +``` + +### 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 пустые элементы записываются без пробела: `` вместо ``. Это косметическое отличие, не влияющее на парсинг. + +--- + +## 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` | Логические формы | diff --git a/docs/1c-specs-index.md b/docs/1c-specs-index.md new file mode 100644 index 00000000..1a0ed662 --- /dev/null +++ b/docs/1c-specs-index.md @@ -0,0 +1,159 @@ +# Сводный индекс спецификаций формата XML конфигурации 1С + +Единая точка входа ко всем спецификациям XML-формата выгрузки 1С:Предприятие 8.3. + +--- + +## 1. Корневые файлы конфигурации + +| Файл | Описание | Спецификация | +|------|----------|--------------| +| `Configuration.xml` | Свойства и состав конфигурации | [1c-configuration-spec.md § 2](1c-configuration-spec.md#2-configurationxml--корневой-файл-конфигурации) | +| `ConfigDumpInfo.xml` | Версии объектов (служебный) | [1c-configuration-spec.md § 3](1c-configuration-spec.md#3-configdumpinfoxml--служебный-файл-выгрузки) | +| `Ext/` | Модули, интерфейс, начальная страница | [1c-configuration-spec.md § 4](1c-configuration-spec.md#4-ext--корневой-каталог-конфигурации) | +| `Languages/` | Языки конфигурации | [1c-configuration-spec.md § 5](1c-configuration-spec.md#5-языки-languages) | + +--- + +## 2. Объекты метаданных + +Все типы объектов, встречающиеся в `ChildObjects` корневого `Configuration.xml`. Порядок соответствует порядку в XML. + +### Служебные и интерфейсные + +| XML-элемент | Каталог | Русское название | Спецификация | +|-------------|---------|-----------------|--------------| +| `Language` | `Languages/` | Языки | [1c-configuration-spec.md § 5](1c-configuration-spec.md#5-языки-languages) | +| `Subsystem` | `Subsystems/` | Подсистемы | [1c-subsystem-spec.md § 3](1c-subsystem-spec.md#3-формат-подсистемы) | +| `StyleItem` | `StyleItems/` | Элементы стиля | [1c-configuration-spec.md § 6.16](1c-configuration-spec.md#616-styleitem--элемент-стиля) | +| `Style` | `Styles/` | Стили (устаревший) | [1c-configuration-spec.md § 6.17](1c-configuration-spec.md#617-style--стиль-устаревший) | +| `CommandGroup` | `CommandGroups/` | Группы команд | [1c-subsystem-spec.md § 5](1c-subsystem-spec.md#5-формат-группы-команд-commandgroup) | + +### Общие объекты + +| XML-элемент | Каталог | Русское название | Спецификация | +|-------------|---------|-----------------|--------------| +| `CommonPicture` | `CommonPictures/` | Общие картинки | [1c-configuration-spec.md § 6.1](1c-configuration-spec.md#61-commonpicture--общая-картинка) | +| `SessionParameter` | `SessionParameters/` | Параметры сеанса | [1c-configuration-spec.md § 6.6](1c-configuration-spec.md#66-sessionparameter--параметр-сеанса) | +| `Role` | `Roles/` | Роли | [1c-role-spec.md § Файл метаданных](1c-role-spec.md#файл-метаданных-rolesимяролиxml) | +| `CommonTemplate` | `CommonTemplates/` | Общие макеты | [1c-configuration-spec.md § 6.2](1c-configuration-spec.md#62-commontemplate--общий-макет) | +| `FilterCriterion` | `FilterCriteria/` | Критерии отбора | [1c-configuration-spec.md § 6.11](1c-configuration-spec.md#611-filtercriterion--критерий-отбора) | +| `CommonModule` | `CommonModules/` | Общие модули | [1c-config-objects-spec.md § 21](1c-config-objects-spec.md#21-общие-модули-commonmodules) | +| `CommonAttribute` | `CommonAttributes/` | Общие реквизиты | [1c-configuration-spec.md § 6.3](1c-configuration-spec.md#63-commonattribute--общий-реквизит) | +| `CommonCommand` | `CommonCommands/` | Общие команды | [1c-subsystem-spec.md § 6](1c-subsystem-spec.md#6-формат-общей-команды-commoncommand) | +| `CommonForm` | `CommonForms/` | Общие формы | [1c-configuration-spec.md § 6.4](1c-configuration-spec.md#64-commonform--общая-форма) | + +### Интеграция и сервисы + +| XML-элемент | Каталог | Русское название | Спецификация | +|-------------|---------|-----------------|--------------| +| `ExchangePlan` | `ExchangePlans/` | Планы обмена | [1c-config-objects-spec.md § 15](1c-config-objects-spec.md#15-планы-обмена-exchangeplans) | +| `XDTOPackage` | `XDTOPackages/` | XDTO-пакеты | [1c-configuration-spec.md § 6.14](1c-configuration-spec.md#614-xdtopackage--xdto-пакет) | +| `WebService` | `WebServices/` | Веб-сервисы | [1c-config-objects-spec.md § 25](1c-config-objects-spec.md#25-веб-сервисы-webservices) | +| `HTTPService` | `HTTPServices/` | HTTP-сервисы | [1c-config-objects-spec.md § 24](1c-config-objects-spec.md#24-http-сервисы-httpservices) | +| `WSReference` | `WSReferences/` | WS-ссылки | [1c-configuration-spec.md § 6.15](1c-configuration-spec.md#615-wsreference--ws-ссылка) | +| `IntegrationService` | `IntegrationServices/` | Сервисы интеграции | [1c-configuration-spec.md § 6.13](1c-configuration-spec.md#613-integrationservice--сервис-интеграции) | + +### Поведение и параметризация + +| XML-элемент | Каталог | Русское название | Спецификация | +|-------------|---------|-----------------|--------------| +| `EventSubscription` | `EventSubscriptions/` | Подписки на события | [1c-config-objects-spec.md § 23](1c-config-objects-spec.md#23-подписки-на-события-eventsubscriptions) | +| `ScheduledJob` | `ScheduledJobs/` | Регламентные задания | [1c-config-objects-spec.md § 22](1c-config-objects-spec.md#22-регламентные-задания-scheduledjobs) | +| `SettingsStorage` | `SettingsStorages/` | Хранилища настроек | [1c-configuration-spec.md § 6.10](1c-configuration-spec.md#610-settingsstorage--хранилище-настроек) | +| `FunctionalOption` | `FunctionalOptions/` | Функциональные опции | [1c-configuration-spec.md § 6.7](1c-configuration-spec.md#67-functionaloption--функциональная-опция) | +| `FunctionalOptionsParameter` | `FunctionalOptionsParameters/` | Параметры ФО | [1c-configuration-spec.md § 6.8](1c-configuration-spec.md#68-functionaloptionsparameter--параметр-функциональных-опций) | +| `DefinedType` | `DefinedTypes/` | Определяемые типы | [1c-config-objects-spec.md § 20](1c-config-objects-spec.md#20-определяемые-типы-definedtypes) | +| `Constant` | `Constants/` | Константы | [1c-config-objects-spec.md § 17](1c-config-objects-spec.md#17-константы-constants) | + +### Прикладные объекты + +| XML-элемент | Каталог | Русское название | Спецификация | +|-------------|---------|-----------------|--------------| +| `Catalog` | `Catalogs/` | Справочники | [1c-config-objects-spec.md § 7](1c-config-objects-spec.md#7-справочники-catalogs) | +| `Document` | `Documents/` | Документы | [1c-config-objects-spec.md § 8](1c-config-objects-spec.md#8-документы-documents) | +| `DocumentNumerator` | `DocumentNumerators/` | Нумераторы документов | [1c-configuration-spec.md § 6.12](1c-configuration-spec.md#612-documentnumerator--нумератор-документов) | +| `Sequence` | `Sequences/` | Последовательности | [1c-configuration-spec.md § 6.9](1c-configuration-spec.md#69-sequence--последовательность-документов) | +| `DocumentJournal` | `DocumentJournals/` | Журналы документов | [1c-config-objects-spec.md § 19](1c-config-objects-spec.md#19-журналы-документов-documentjournals) | +| `Enum` | `Enums/` | Перечисления | [1c-config-objects-spec.md § 16](1c-config-objects-spec.md#16-перечисления-enums) | +| `Report` | `Reports/` | Отчёты | [1c-config-objects-spec.md § 18](1c-config-objects-spec.md#18-отчёты-и-обработки) | +| `DataProcessor` | `DataProcessors/` | Обработки | [1c-config-objects-spec.md § 18](1c-config-objects-spec.md#18-отчёты-и-обработки) | + +### Регистры + +| XML-элемент | Каталог | Русское название | Спецификация | +|-------------|---------|-----------------|--------------| +| `InformationRegister` | `InformationRegisters/` | Регистры сведений | [1c-config-objects-spec.md § 9.1](1c-config-objects-spec.md#91-регистры-сведений-informationregisters) | +| `AccumulationRegister` | `AccumulationRegisters/` | Регистры накопления | [1c-config-objects-spec.md § 9.4](1c-config-objects-spec.md#94-регистры-накопления-accumulationregisters) | +| `AccountingRegister` | `AccountingRegisters/` | Регистры бухгалтерии | [1c-config-objects-spec.md § 9.5](1c-config-objects-spec.md#95-регистры-бухгалтерии-accountingregisters) | +| `CalculationRegister` | `CalculationRegisters/` | Регистры расчёта | [1c-config-objects-spec.md § 9.6](1c-config-objects-spec.md#96-регистры-расчёта-calculationregisters) | + +### Планы + +| XML-элемент | Каталог | Русское название | Спецификация | +|-------------|---------|-----------------|--------------| +| `ChartOfCharacteristicTypes` | `ChartsOfCharacteristicTypes/` | Планы видов характеристик | [1c-config-objects-spec.md § 11](1c-config-objects-spec.md#11-планы-видов-характеристик-chartsofcharacteristictypes) | +| `ChartOfAccounts` | `ChartsOfAccounts/` | Планы счетов | [1c-config-objects-spec.md § 10](1c-config-objects-spec.md#10-планы-счетов-chartsofaccounts) | +| `ChartOfCalculationTypes` | `ChartsOfCalculationTypes/` | Планы видов расчёта | [1c-config-objects-spec.md § 12](1c-config-objects-spec.md#12-планы-видов-расчёта-chartsofcalculationtypes) | + +### Бизнес-процессы + +| XML-элемент | Каталог | Русское название | Спецификация | +|-------------|---------|-----------------|--------------| +| `BusinessProcess` | `BusinessProcesses/` | Бизнес-процессы | [1c-config-objects-spec.md § 13](1c-config-objects-spec.md#13-бизнес-процессы-businessprocesses) | +| `Task` | `Tasks/` | Задачи | [1c-config-objects-spec.md § 14](1c-config-objects-spec.md#14-задачи-tasks) | + +--- + +## 3. Вложенные форматы + +Форматы файлов, вложенных в каталоги объектов метаданных. + +| Формат | Файл | Описание | Спецификация | +|--------|------|----------|--------------| +| Управляемая форма | `Ext/Form.xml` | Элементы, реквизиты, команды | [1c-form-spec.md § 1](1c-form-spec.md#1-корневой-элемент) | +| СКД (DataCompositionSchema) | `Ext/Template.xml` | Схема компоновки данных | [1c-dcs-spec.md § 2](1c-dcs-spec.md#2-общая-структура-datacompositionschema) | +| Табличный документ (MXL) | `Ext/Template.xml` | Печатная форма | [1c-spreadsheet-spec.md](1c-spreadsheet-spec.md#структура-документа) | +| Роль (Rights) | `Ext/Rights.xml` | Права доступа и RLS | [1c-role-spec.md](1c-role-spec.md#файл-прав-rolesимяролиextrightsxml) | +| Справка (Help) | `Ext/Help/` | Встроенная справка | [1c-help-spec.md § 1](1c-help-spec.md#1-структура-файлов) | +| Предопределённые элементы | `Predefined.xml` | Предопределённые справочники/ПВХ | [1c-config-objects-spec.md § 7.2](1c-config-objects-spec.md#72-предопределённые-элементы-predefinedxml) | +| Состав плана обмена | `Content.xml` | Объекты синхронизации | [1c-config-objects-spec.md § 15.4](1c-config-objects-spec.md#154-состав-плана-обмена-contentxml) | +| Карта маршрута | `Flowchart.xml` | Маршрут бизнес-процесса | [1c-config-objects-spec.md § 13.3](1c-config-objects-spec.md#133-карта-маршрута-flowchartxml) | + +--- + +## 4. Внешние обработки и отчёты + +| Формат | Описание | Спецификация | +|--------|----------|--------------| +| EPF (внешняя обработка) | ExternalDataProcessor | [1c-epf-spec.md § 1](1c-epf-spec.md#1-структура-каталогов) | +| ERF (внешний отчёт) | ExternalReport | [1c-erf-spec.md § 1](1c-erf-spec.md#1-структура-каталогов) | + +--- + +## 5. Общие элементы формата + +Общие для всех типов объектов структуры XML описаны в спецификации объектов: + +| Тема | Спецификация | +|------|--------------| +| Корневой элемент MetaDataObject | [1c-config-objects-spec.md § 2](1c-config-objects-spec.md#2-общий-формат-xml) | +| Пространства имён XML | [1c-config-objects-spec.md § 2.2](1c-config-objects-spec.md#22-пространства-имён) | +| InternalInfo / GeneratedType | [1c-config-objects-spec.md § 3](1c-config-objects-spec.md#3-internalinfo--внутренняя-информация) | +| Общие свойства Properties | [1c-config-objects-spec.md § 4](1c-config-objects-spec.md#4-общие-элементы-properties) | +| Стандартные реквизиты | [1c-config-objects-spec.md § 5](1c-config-objects-spec.md#5-стандартные-реквизиты-standardattributes) | +| Дочерние объекты (Attribute, TabularSection, Form, Template, Command) | [1c-config-objects-spec.md § 6](1c-config-objects-spec.md#6-дочерние-объекты-childobjects) | +| Формат ссылок на объекты | [1c-config-objects-spec.md § 28](1c-config-objects-spec.md#28-формат-ссылок-на-объекты-метаданных) | +| Различия версий 2.17 → 2.20 | [1c-config-objects-spec.md § 26](1c-config-objects-spec.md#26-различия-версий-платформы) | + +--- + +## 6. DSL-спецификации (компактный формат ввода) + +| DSL | Описание | Спецификация | +|-----|----------|--------------| +| Meta DSL | JSON-формат для создания/редактирования объектов | [meta-dsl-spec.md](meta-dsl-spec.md) | +| Form DSL | JSON-формат для компиляции форм | [form-dsl-spec.md](form-dsl-spec.md) | +| SKD DSL | JSON-формат для компиляции СКД | [skd-dsl-spec.md](skd-dsl-spec.md) | +| MXL DSL | JSON-формат для компиляции табличных документов | [mxl-dsl-spec.md](mxl-dsl-spec.md) | +| Role DSL | JSON-формат для компиляции ролей | [role-dsl-spec.md](role-dsl-spec.md) | diff --git a/docs/1c-subsystem-spec.md b/docs/1c-subsystem-spec.md index aac114f6..5d2183a2 100644 --- a/docs/1c-subsystem-spec.md +++ b/docs/1c-subsystem-spec.md @@ -5,6 +5,11 @@ Источники: выгрузки Бухгалтерия предприятия (платформы 8.3.20, 8.3.24, 8.3.27), ERP 2 (8.3.24). +> **Связанные спецификации:** +> - Корневая структура конфигурации — [1c-configuration-spec.md](1c-configuration-spec.md) +> - Объекты метаданных — [1c-config-objects-spec.md](1c-config-objects-spec.md) +> - Сводный индекс — [1c-specs-index.md](1c-specs-index.md) + --- ## 1. Структура каталогов