diff --git a/README.md b/README.md index e29da5fe..180611c4 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ | Управляемые формы (Form) | 6 навыков `/form-*` | Создание, анализ, генерация, модификация, валидация управляемых форм | [Подробнее](docs/form-guide.md) | | Роли (Role) | 3 навыка `/role-*` | Анализ прав роли, создание из JSON DSL, валидация | [Подробнее](docs/role-guide.md) | | Схема компоновки (СКД) | 4 навыка `/skd-*` | Анализ, генерация из JSON DSL, точечное редактирование, валидация схем компоновки данных | [Подробнее](docs/skd-guide.md) | +| Метаданные конфигурации | `/meta-info` | Структура объекта метаданных 1С из XML-выгрузки конфигурации (23 типа) | — | | Утилиты | `/img-grid` | Наложение сетки на изображение для определения пропорций колонок | — | ## Требования @@ -46,6 +47,7 @@ - [Role DSL](docs/role-dsl-spec.md) — JSON-формат описания ролей для `/role-compile` - [Схема компоновки данных (DCS)](docs/1c-dcs-spec.md) — XML-формат DataCompositionSchema, 930 схем проанализировано - [SKD DSL](docs/skd-dsl-spec.md) — JSON-формат описания СКД для `/skd-compile` +- [Объекты конфигурации](docs/1c-config-objects-spec.md) — XML-формат объектов метаданных конфигурации (23 типа) ## Структура репозитория @@ -78,6 +80,7 @@ ├── skd-compile/ # Компиляция СКД из JSON DSL ├── skd-edit/ # Точечное редактирование СКД (25 операций) ├── skd-validate/ # Валидация СКД +├── meta-info/ # Структура объекта метаданных └── img-grid/ # Сетка для анализа изображений docs/ ├── epf-guide.md # Гайд: внешние обработки diff --git a/docs/1c-config-objects-spec.md b/docs/1c-config-objects-spec.md index 9ba13180..62386f31 100644 --- a/docs/1c-config-objects-spec.md +++ b/docs/1c-config-objects-spec.md @@ -190,6 +190,12 @@ Ext/ # Расширение конфигураци | Журнал документов | `` | | Отчёт | `` | | Обработка | `` | +| Определяемый тип | `` | +| Общий модуль | `` | +| Регламентное задание | `` | +| Подписка на событие | `` | +| HTTP-сервис | `` | +| Веб-сервис | `` | Атрибут `uuid` — уникальный идентификатор объекта. @@ -1449,9 +1455,239 @@ XML-элемент: ``. Категория InternalInfo: Docume --- -## 20. Различия версий платформы +## 20. Определяемые типы (DefinedTypes) -### 20.1. Версия 2.17 → 2.20 +XML-элемент: ``. Категория InternalInfo: DefinedType. + +### 20.1. Свойства + +Определяемый тип — именованный составной тип, используемый для унификации типов реквизитов: + +```xml + + ДенежныеСредстваВДокументах + ... + + + cfg:CatalogRef.БанковскиеСчета + cfg:CatalogRef.КассыККМ + cfg:CatalogRef.Кассы + + +``` + +**ChildObjects** отсутствует. + +--- + +## 21. Общие модули (CommonModules) + +XML-элемент: ``. + +### 21.1. Свойства + +```xml + + ОбменДаннымиСервер + ... + + false + false + true + false + false + true + false + DuringRequest + +``` + +| Свойство | Тип | Описание | +|---|---|---| +| `Global` | boolean | Глобальный модуль | +| `Server` | boolean | Доступен на сервере | +| `ServerCall` | boolean | Вызов сервера (из клиентского кода) | +| `ClientManagedApplication` | boolean | Клиент управляемого приложения | +| `ClientOrdinaryApplication` | boolean | Обычный клиент | +| `ExternalConnection` | boolean | Внешнее соединение | +| `Privileged` | boolean | Привилегированный режим | +| `ReturnValuesReuse` | enum | `DontUse` \| `DuringRequest` \| `DuringSession` | + +**ChildObjects** отсутствует. Код модуля — в файле `Ext/Module.bsl`. + +--- + +## 22. Регламентные задания (ScheduledJobs) + +XML-элемент: ``. + +### 22.1. Свойства + +```xml + + АвтоматическоеЗакрытиеМесяца + ... + + CommonModule.ЗакрытиеМесяца.АвтоматическоеЗакрытиеМесяцаРегламентноеЗадание + Автоматическое закрытие месяца + + false + false + 3 + 10 + +``` + +| Свойство | Тип | Описание | +|---|---|---| +| `MethodName` | string | Метод вида `CommonModule.ИмяМодуля.ИмяПроцедуры` | +| `Use` | boolean | Использование (включено/выключено) | +| `Predefined` | boolean | Предопределённое | +| `RestartCountOnFailure` | int | Количество перезапусков при аварийном завершении | +| `RestartIntervalOnFailure` | int | Интервал перезапуска (секунды) | + +**ChildObjects** отсутствует. + +--- + +## 23. Подписки на события (EventSubscriptions) + +XML-элемент: ``. + +### 23.1. Свойства + +```xml + + ПолныйРегистрацияУдаления + ... + + + cfg:DocumentObject.АвансовыйОтчет + cfg:CatalogObject.Контрагенты + + + BeforeDelete + CommonModule.ОбменДаннымиРИБСобытия.ПолныйЗарегистрироватьУдаленияПередУдалением + +``` + +| Свойство | Тип | Описание | +|---|---|---| +| `Source` | `v8:Type[]` | Типы объектов-источников (в формате `cfg:{Тип}.{Имя}`) | +| `Event` | enum | `BeforeWrite` \| `OnWrite` \| `AfterWrite` \| `BeforeDelete` \| `Posting` \| `UndoPosting` \| `FillCheckProcessing` и др. | +| `Handler` | string | Обработчик вида `CommonModule.ИмяМодуля.ИмяПроцедуры` | + +Типы источников: `cfg:CatalogObject.Xxx`, `cfg:DocumentObject.Xxx`, `cfg:InformationRegisterRecordSet.Xxx`, `cfg:AccumulationRegisterRecordSet.Xxx` и др. + +**ChildObjects** отсутствует. + +--- + +## 24. HTTP-сервисы (HTTPServices) + +XML-элемент: ``. Трёхуровневая вложенность: сервис → шаблон URL → метод. + +### 24.1. Свойства + +```xml + + ExternalAPI + ... + + api + DontUse + 20 + +``` + +### 24.2. Дочерние объекты: URLTemplate → Method + +```xml + + + + ПоказателиМонитора + ... + + + + + + Получить + ... + GET + ПоказателиМонитораПолучить + + + + + +``` + +Код обработчиков — в файле `Ext/Module.bsl`. + +--- + +## 25. Веб-сервисы (WebServices) + +XML-элемент: ``. Трёхуровневая вложенность: сервис → операция → параметр. + +### 25.1. Свойства + +```xml + + EnterpriseDataUpload_1_0_1_1 + ... + + http://www.1c.ru/SSL/EnterpriseDataUpload_1_0_1_1 + ... + DontUse + 20 + +``` + +### 25.2. Дочерние объекты: Operation → Parameter + +```xml + + + + TestConnection + ... + Проверка подключения + xs:boolean + false + false + ПроверкаПодключения + + + + + ErrorMessage + ... + xs:string + true + Out + + + + + +``` + +| Свойство параметра | Тип | Описание | +|---|---|---| +| `XDTOValueType` | string | Тип XDTO (`xs:string`, `xs:boolean`, `xs:int`, `xs:base64Binary` и др.) | +| `TransferDirection` | enum | `In` \| `Out` \| `InOut` | +| `Nillable` | boolean | Допускает пустое значение | + +Код операций — в файле `Ext/Module.bsl`. + +--- + +## 26. Различия версий платформы + +### 26.1. Версия 2.17 → 2.20 Атрибут `version` корневого элемента ``. @@ -1479,7 +1715,7 @@ XML-элемент: ``. Категория InternalInfo: Docume ``` -### 20.2. Стабильные элементы +### 26.2. Стабильные элементы Между версиями 8.3.20 → 8.3.24 → 8.3.27: - Структура каталогов **без изменений** @@ -1489,7 +1725,7 @@ XML-элемент: ``. Категория InternalInfo: Docume --- -## 21. Сводная таблица: свойства по типам объектов +## 27. Сводная таблица: свойства по типам объектов | Свойство | Cat | Doc | Enum | Const | InfoReg | AccReg | AcctReg | CalcReg | CoA | CoCT | CoCaT | BP | Task | EP | DJ | Rep | DP | |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| @@ -1523,7 +1759,7 @@ XML-элемент: ``. Категория InternalInfo: Docume --- -## 22. Формат ссылок на объекты метаданных +## 28. Формат ссылок на объекты метаданных В свойствах типа `DefaultObjectForm`, `InputByString`, `RegisterRecords`, `DataLockFields` и др. используется формат ссылок: @@ -1545,7 +1781,7 @@ XML-элемент: ``. Категория InternalInfo: Docume --- -## 23. Кодировка +## 29. Кодировка Все XML-файлы используют кодировку UTF-8 с BOM (байты `EF BB BF`):