mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-03 02:00:22 +03:00
docs(specs,db-guide): лестница версий формата 2.17-2.18-2.19-2.20
Спеки утверждали, что за 2.17 (8.3.20-8.3.24) сразу идёт 2.20 (8.3.27+), и приписывали версии 2.20 всю дельту. Промежуточные версии существуют: 8.3.25 пишет 2.18, 8.3.26 - 2.19. Атрибуция изменений исправлена по замеру одной конфигурации, выгруженной четырьмя платформами: TypeReductionMode и TextToSpeech - 2.18, отказ ролей писать право, равное setForNewObjects, - 2.19, LineNumberLength - 2.20. Два утверждения о «дельте 2.20» в 1c-configuration-spec § 7 были ошибочны и удалены. Сжатая шапка xmlns оказалась артефактом стороннего сериализатора в эталонном дампе, а не форматом: платформа во всех версиях пишет полную шапку. Стиль пустых элементов признаком версии не является - он различается и между дампами одной версии. Добавлено: ConfigurationExtensionCompatibilityMode платформа при выгрузке подставляет свой собственный даже при неизменной конфигурации; три свойства форм из 2.18 - изменение дефолта эмиссии, а не новые свойства (8.3.24 принимает их и сохраняет при роундтрипе, в отличие от TypeReductionMode). В db-guide зафиксировано побайтовое совпадение выгрузок конфигуратором и ibcmd - с оговоркой, что на разбор EPF/ERF это не переносится: там результат определяется базой разбора, а не движком. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
2e5289a88f
commit
b92aad519c
@@ -1,7 +1,7 @@
|
||||
# Спецификация корневой структуры конфигурации 1С
|
||||
|
||||
Формат: XML-выгрузка конфигурации 1С:Предприятие 8.3 (Конфигуратор → Конфигурация → Выгрузить конфигурацию в файлы).
|
||||
Версии формата: `2.17` (платформа 8.3.20–8.3.24), `2.20` (платформа 8.3.27+).
|
||||
Версии формата: `2.17` (платформа 8.3.20–8.3.24), `2.18` (8.3.25), `2.19` (8.3.26), `2.20` (8.3.27+).
|
||||
|
||||
Источники: выгрузки Бухгалтерия предприятия (платформы 8.3.20, 8.3.24, 8.3.27), ERP 2 (8.3.24).
|
||||
|
||||
@@ -962,42 +962,49 @@ ChildObjects содержат `IntegrationServiceChannel` (каналы) — inl
|
||||
|
||||
---
|
||||
|
||||
## 7. Различия версий 2.17 → 2.20
|
||||
## 7. Различия версий формата 2.17 → 2.18 → 2.19 → 2.20
|
||||
|
||||
### 7.1. Атрибут version
|
||||
### 7.1. Лестница версий
|
||||
|
||||
Версию формата задаёт **платформа, которой выгружают**; от режима совместимости конфигурации она не зависит. Промежуточных версий не пропускается:
|
||||
|
||||
| Платформа | Версия формата |
|
||||
|-----------|----------------|
|
||||
| 8.3.20–8.3.24 | `2.17` |
|
||||
| 8.3.25 | `2.18` |
|
||||
| 8.3.26 | `2.19` |
|
||||
| 8.3.27 | `2.20` |
|
||||
|
||||
```xml
|
||||
<!-- 2.17 -->
|
||||
<MetaDataObject ... version="2.17">
|
||||
<!-- 2.20 -->
|
||||
<MetaDataObject ... version="2.20">
|
||||
```
|
||||
|
||||
### 7.2. Configuration.xml — Properties
|
||||
### 7.2. Что появилось в каждой версии
|
||||
|
||||
Набор свойств Properties **идентичен** в обеих версиях. Отличия только в значениях:
|
||||
| Версия | Изменения |
|
||||
|--------|-----------|
|
||||
| `2.18` | `TypeReductionMode` у стандартных реквизитов и измерений регистров сведений; `TextToSpeech` в `UsedMobileApplicationFunctionalities`; три редких свойства форм (`ViewModeApplicationOnSetReportResult`, `ReportResultViewMode`, `UseForFoldersAndItems`) |
|
||||
| `2.19` | Новых тегов нет. Роли перестали писать право, совпадающее с `setForNewObjects` |
|
||||
| `2.20` | `LineNumberLength` у табличных частей |
|
||||
|
||||
| Свойство | Изменение |
|
||||
|----------|-----------|
|
||||
| `CompatibilityMode` | `Version8_3_24` → `Version8_3_24` / `Version8_3_27` (зависит от конфигурации) |
|
||||
| `ConfigurationExtensionCompatibilityMode` | аналогично |
|
||||
| `UsedMobileApplicationFunctionalities` | В v2.20 добавлена функциональность `TextToSpeech` |
|
||||
Три свойства форм — не новые возможности, а изменение **дефолта эмиссии**: платформа 8.3.24 их принимает и сохраняет при роундтрипе, просто не пишет сама. `TypeReductionMode`, наоборот, свойство новое — 8.3.24 молча отбраковывает его при загрузке («Свойство не входит в состав объекта метаданных», при этом exit 0).
|
||||
|
||||
### 7.3. Configuration.xml — ChildObjects
|
||||
### 7.3. Configuration.xml — Properties
|
||||
|
||||
Набор типов объектов в ChildObjects **идентичен** между версиями 2.17 и 2.20.
|
||||
Набор свойств Properties **идентичен** во всех версиях. `ConfigurationExtensionCompatibilityMode` платформа при выгрузке подставляет **свой собственный** (8.3.25 пишет `Version8_3_25`, 8.3.27 — `Version8_3_27`) даже если конфигурация не менялась, — при диффе двух дампов это выглядит как правка конфигурации, но ею не является.
|
||||
|
||||
### 7.4. ConfigDumpInfo.xml
|
||||
### 7.4. Configuration.xml — ChildObjects
|
||||
|
||||
Атрибут `version` меняется на `2.20`. Структура записей не изменилась.
|
||||
Набор типов объектов в ChildObjects **идентичен** между версиями.
|
||||
|
||||
### 7.5. Ext/ файлы
|
||||
### 7.5. ConfigDumpInfo.xml и Ext/ файлы
|
||||
|
||||
В файлах `CommandInterface.xml`, `HomePageWorkArea.xml` атрибут `version` меняется на `2.20`. Структура не изменилась.
|
||||
В `ConfigDumpInfo.xml`, `CommandInterface.xml`, `HomePageWorkArea.xml` меняется только атрибут `version`. Структура не изменилась.
|
||||
|
||||
### 7.6. Форматирование XML
|
||||
|
||||
В v2.20 пустые элементы записываются без пробела: `<Comment/>` вместо `<Comment />`. Это косметическое отличие, не влияющее на парсинг.
|
||||
Стиль пустых элементов (`<Comment/>` против `<Comment />`) признаком версии **не является** — он различается и между дампами одной версии формата. Платформа принимает оба варианта; опираться на него нельзя.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user