diff --git a/docs/1c-config-objects-spec.md b/docs/1c-config-objects-spec.md index 64cbe509..8c4af818 100644 --- a/docs/1c-config-objects-spec.md +++ b/docs/1c-config-objects-spec.md @@ -1,7 +1,7 @@ # Спецификация формата XML объектов метаданных конфигурации 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+). Источники: выгрузки ERP 2, Бухгалтерия предприятия (платформы 8.3.20, 8.3.24, 8.3.27). @@ -1698,11 +1698,11 @@ XML-элемент: ``. Трёхуровневая вложенно ## 26. Различия версий платформы -### 26.1. Версия 2.17 → 2.20 +### 26.1. Лестница версий 2.17 → 2.18 → 2.19 → 2.20 -Атрибут `version` корневого элемента ``. +Атрибут `version` корневого элемента `` задаёт платформа, которой выгружают: 8.3.20–8.3.24 → `2.17`, 8.3.25 → `2.18`, 8.3.26 → `2.19`, 8.3.27 → `2.20`. От режима совместимости конфигурации он не зависит. -**Изменения в версии 2.20 (платформа 8.3.27):** +**Изменения в версии 2.18 (платформа 8.3.25):** 1. **TypeReductionMode** — новый элемент в каждом стандартном реквизите: @@ -1713,7 +1713,13 @@ XML-элемент: ``. Трёхуровневая вложенно ``` -Значения: `TransformValues` (преобразовывать значения) | `Deny` (запретить). +Значения: `TransformValues` (преобразовывать значения) | `Deny` (запретить). У измерений его пишут только регистры сведений. + +Свойство именно новое: платформа 8.3.24 при загрузке молча его отбраковывает («Свойство не входит в состав объекта метаданных»), сообщая при этом об успехе. + +**Изменения в версии 2.19 (платформа 8.3.26):** новых элементов нет; изменилась только выгрузка ролей — право, совпадающее с `setForNewObjects`, больше не пишется (см. [1c-role-spec.md](1c-role-spec.md#версии-формата)). + +**Изменения в версии 2.20 (платформа 8.3.27):** 2. **LineNumberLength** — длина поля номера строки в табличных частях: @@ -1728,7 +1734,7 @@ XML-элемент: ``. Трёхуровневая вложенно ### 26.2. Стабильные элементы -Между версиями 8.3.20 → 8.3.24 → 8.3.27: +Между версиями 8.3.20 → 8.3.24 → 8.3.25 → 8.3.26 → 8.3.27: - Структура каталогов **без изменений** - Пространства имён **без изменений** - UUID объектов **сохраняются** diff --git a/docs/1c-configuration-spec.md b/docs/1c-configuration-spec.md index 3afc40a3..017d37e3 100644 --- a/docs/1c-configuration-spec.md +++ b/docs/1c-configuration-spec.md @@ -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 - - ``` -### 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 пустые элементы записываются без пробела: `` вместо ``. Это косметическое отличие, не влияющее на парсинг. +Стиль пустых элементов (`` против ``) признаком версии **не является** — он различается и между дампами одной версии формата. Платформа принимает оба варианта; опираться на него нельзя. --- diff --git a/docs/1c-form-spec.md b/docs/1c-form-spec.md index b5149648..88d286d1 100644 --- a/docs/1c-form-spec.md +++ b/docs/1c-form-spec.md @@ -182,7 +182,7 @@ CommonForms регистрируются в `Configuration.xml`: ``` -Все 17 namespace-деклараций **идентичны** во всех формах конфигурации. Атрибут `version` всегда `"2.17"`. +Все 17 namespace-деклараций **идентичны** во всех формах конфигурации. Атрибут `version` одинаков во всей выгрузке и определяется платформой (`2.17` для 8.3.20–8.3.24, далее `2.18` / `2.19` / `2.20`); примеры ниже приведены для `2.17`. ### Назначение namespace-префиксов diff --git a/docs/1c-role-spec.md b/docs/1c-role-spec.md index ecba1244..8486ecab 100644 --- a/docs/1c-role-spec.md +++ b/docs/1c-role-spec.md @@ -1,6 +1,6 @@ # Спецификация формата ролей 1С:Предприятия 8.3 -Полное описание XML-формата ролей в выгрузке конфигурации. Версии формата: 2.17 (платформа 8.3.20–8.3.24), 2.20 (8.3.27+). Структура идентична, отличается только атрибут `version`. +Полное описание XML-формата ролей в выгрузке конфигурации. Версии формата: 2.17 (платформа 8.3.20–8.3.24), 2.18 (8.3.25), 2.19 (8.3.26), 2.20 (8.3.27+). Структура идентична; отличается атрибут `version`, а с 2.19 — ещё и набор выгружаемых прав (см. «Версии формата»). ## Файловая структура @@ -840,6 +840,10 @@ RLS применяется к правам `Read`, `Update`, `Insert`, `Delete` |-----------|:--------------------:|:--------------------:|-----------| | 8.3.20 | 2.17 | 2.17 | Базовая | | 8.3.24 | 2.17 | 2.17 | Без изменений | -| 8.3.27 | 2.20 | 2.20 | Только номер версии, структура идентична | +| 8.3.25 | 2.18 | 2.18 | Только номер версии | +| 8.3.26 | 2.19 | 2.19 | Право, совпадающее с `setForNewObjects`, больше не пишется (см. ниже) | +| 8.3.27 | 2.20 | 2.20 | Только номер версии | + +Начиная с `2.19` платформа **опускает право, значение которого совпадает с ``** в шапке `Rights.xml`: роль с `setForNewObjects=true` теряет из выгрузки права со значением `true`, роль с `false` — со значением `false`. Возможности не удалялись: право отсутствует в выгрузке, но действует по умолчанию роли. Структура файла при этом не менялась. Namespace Rights.xml (`http://v8.1c.ru/8.2/roles`) и namespace метаданных (`http://v8.1c.ru/8.3/MDClasses`) не менялись. diff --git a/docs/1c-specs-index.md b/docs/1c-specs-index.md index 28164e58..0c22007d 100644 --- a/docs/1c-specs-index.md +++ b/docs/1c-specs-index.md @@ -158,7 +158,7 @@ | Стандартные реквизиты | [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-различия-версий-платформы) | +| Различия версий формата 2.17 → 2.18 → 2.19 → 2.20 | [1c-config-objects-spec.md § 26](1c-config-objects-spec.md#26-различия-версий-платформы) | --- diff --git a/docs/1c-spreadsheet-spec.md b/docs/1c-spreadsheet-spec.md index 75c1c2d4..fd74a0ad 100644 --- a/docs/1c-spreadsheet-spec.md +++ b/docs/1c-spreadsheet-spec.md @@ -434,11 +434,13 @@ |-----------|---------| | 8.3.20 | 2.17 | | 8.3.24 | 2.17 | +| 8.3.25 | 2.18 | +| 8.3.26 | 2.19 | | 8.3.27 | 2.20 | ### Form.xml (управляемая форма) -Содержимое `Form.xml` идентично между 8.3.20 и 8.3.24. Между 8.3.24 и 8.3.27 различается **только** атрибут `version` в корневом элементе `
`: `"2.17"` → `"2.20"`. Пространства имён и структура не изменились. +Содержимое `Form.xml` идентично между 8.3.20 и 8.3.24. Дальше различается **только** атрибут `version` в корневом элементе `` (`2.17` → `2.18` → `2.19` → `2.20` по платформам). Пространства имён и структура не изменились. ### BSL-модули diff --git a/docs/1c-subsystem-spec.md b/docs/1c-subsystem-spec.md index 6f6afe1b..8e2c6e39 100644 --- a/docs/1c-subsystem-spec.md +++ b/docs/1c-subsystem-spec.md @@ -1,7 +1,7 @@ # Спецификация формата XML подсистем и командного интерфейса 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). @@ -883,15 +883,15 @@ CommandGroup.<ИмяГруппы> ## 10. Различия версий формата -| Аспект | `2.17` (8.3.20–8.3.24) | `2.20` (8.3.27+) | +| Аспект | `2.17` (8.3.20–8.3.24) | `2.18`–`2.20` (8.3.25–8.3.27) | |---|---|---| -| Атрибут `version` | `2.17` | `2.20` | +| Атрибут `version` | `2.17` | `2.18` / `2.19` / `2.20` по платформе | | BOM (UTF-8 BOM) | Нет | Да (EF BB BF) | | Набор элементов | Идентичный | Идентичный | | Набор свойств подсистемы | Идентичный | Идентичный | | Секции CommandInterface | Идентичные | Идентичные | -> Между версиями `2.17` и `2.20` структурных различий в формате подсистем и командного интерфейса не обнаружено. Меняется только атрибут `version` и наличие BOM. +> Структурных различий в формате подсистем и командного интерфейса между версиями не обнаружено ни на одном шаге лестницы. Меняется только атрибут `version` и наличие BOM. --- diff --git a/docs/1c-xdto-spec.md b/docs/1c-xdto-spec.md index d357608a..4484c215 100644 --- a/docs/1c-xdto-spec.md +++ b/docs/1c-xdto-spec.md @@ -1,7 +1,7 @@ # Спецификация формата XML пакетов XDTO 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.24), ERP 2 (8.3.24) — 760 пакетов. diff --git a/docs/db-guide.md b/docs/db-guide.md index be5e1468..c1c50337 100644 --- a/docs/db-guide.md +++ b/docs/db-guide.md @@ -118,6 +118,16 @@ Claude вызовет `/db-run dev`. и со всеми расширениями), `db-load-cf`/`db-dump-cf`, `db-load-dt`/`db-dump-dt`, `db-update`, `db-load-git`, `epf-build`/`epf-dump`, `erf-build`/`erf-dump`. +При выгрузке **конфигурации** выбор движка на результат не влияет: выгрузка одной и той же базы +конфигуратором и `ibcmd` совпадает **побайтно** (проверено на полной выгрузке типовой конфигурации — +91807 файлов из 91807). Дампы конфигурации, снятые разными движками, сравнимы напрямую. + +Это НЕ распространяется на разбор внешних обработок и отчётов (`epf-dump`/`erf-dump`): там результат +определяется не движком, а **базой, в которой идёт разбор**. Если ссылочные типы реквизитов в этой +базе не разрешаются (в конфигурации нет соответствующих объектов), в исходники попадают +идентификаторы вместо имени типа. Поэтому для разбора нужна база с матч-конфигурацией — и при +работе через `ibcmd` за этим надо следить отдельно, чтобы разбор не ушёл в пустую или чужую базу. + Ограничения: - только **файловые** базы (для серверных используйте конфигуратор); - если запрошен режим, который `ibcmd` не поддерживает (например, выгрузка в «плоском» формате),