├── .gitignore ├── entities ├── seaf-core │ ├── root.yaml │ └── ia │ │ ├── root.yaml │ │ └── data_objects.yaml ├── root.yaml └── dochub-ru │ ├── root.yaml │ ├── aspects.yaml │ ├── components.yaml │ ├── contexts.yaml │ └── plantuml.yaml ├── dochub.yaml └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | _metamodel_ -------------------------------------------------------------------------------- /entities/seaf-core/root.yaml: -------------------------------------------------------------------------------- 1 | imports: 2 | - ia/root.yaml -------------------------------------------------------------------------------- /entities/seaf-core/ia/root.yaml: -------------------------------------------------------------------------------- 1 | imports: 2 | - data_objects.yaml -------------------------------------------------------------------------------- /entities/root.yaml: -------------------------------------------------------------------------------- 1 | imports: 2 | - dochub-ru/root.yaml 3 | - seaf-core/root.yaml -------------------------------------------------------------------------------- /entities/dochub-ru/root.yaml: -------------------------------------------------------------------------------- 1 | imports: 2 | - aspects.yaml 3 | - components.yaml 4 | - contexts.yaml 5 | - plantuml.yaml -------------------------------------------------------------------------------- /entities/dochub-ru/aspects.yaml: -------------------------------------------------------------------------------- 1 | entities: 2 | aspects: 3 | schema: 4 | patternProperties: 5 | "^[a-zA-Zа-яА-Я][a-zA-Zа-яА-Я0-9_-]*(\\.[a-zA-Zа-яА-Я][a-zA-Zа-яА-Я0-9_-]*)*$": 6 | type: object -------------------------------------------------------------------------------- /entities/dochub-ru/components.yaml: -------------------------------------------------------------------------------- 1 | entities: 2 | components: 3 | schema: 4 | patternProperties: 5 | "^[a-zA-Zа-яА-Я][a-zA-Zа-яА-Я0-9_-]*(\\.[a-zA-Zа-яА-Я0-9][a-zA-Zа-яА-Я0-9_-]*)*$": 6 | type: object 7 | -------------------------------------------------------------------------------- /entities/dochub-ru/contexts.yaml: -------------------------------------------------------------------------------- 1 | entities: 2 | contexts: 3 | schema: 4 | patternProperties: 5 | "^[a-zA-Zа-яА-Я][a-zA-Zа-яА-Я0-9_-]*(\\.[a-zA-Zа-яА-Я0-9][a-zA-Zа-яА-Я0-9_-]*)*$": 6 | type: object 7 | -------------------------------------------------------------------------------- /entities/seaf-core/ia/data_objects.yaml: -------------------------------------------------------------------------------- 1 | entities: 2 | seaf.ia.data_objects: 3 | schema: 4 | type: object 5 | patternProperties: 6 | "^[a-zA-Zа-яА-Я][a-zA-Zа-яА-Я0-9_-]*(\\.[a-zA-Zа-яА-Я][a-zA-Zа-яА-Я0-9_-]*)*$": 7 | type: object 8 | required: 9 | - title 10 | - master_system -------------------------------------------------------------------------------- /dochub.yaml: -------------------------------------------------------------------------------- 1 | $package: 2 | # Идентификатор пакета 3 | seaf-1c-core: 4 | # Краткое название пакета 5 | name: SEAF.1C 6 | # Поставщик 7 | vendor: Aleksandr Kapralov 8 | # Описание 9 | description: Sber Enterprise Architect Framework для 1С 10 | # Версия 11 | version: 1.0.1 12 | # Зависимости от других пакетов 13 | dependencies: 14 | dochub: ">=3.11.0" 15 | seaf-core: ">=1.2.7" 16 | 17 | docs: 18 | dochub.welcome: 19 | title: SEAF.1C 20 | type: markdown 21 | location: SEAF.1C 22 | source: README.md 23 | 24 | imports: 25 | - entities/root.yaml -------------------------------------------------------------------------------- /entities/dochub-ru/plantuml.yaml: -------------------------------------------------------------------------------- 1 | # Расширение сущности "Contexts" для генерации PlantUML диаграмм 2 | entities: 3 | contexts: 4 | # Представления контекстов в PlantUML 5 | presentations: 6 | plantuml: 7 | params: 8 | type: object 9 | properties: 10 | "dh-context-id": 11 | title: Идентификатор контекста 12 | type: string 13 | pattern: ^[0-9a-zA-Zа-яА-Я][a-zA-Zа-яА-Я0-9_-]*(\.[0-9a-zA-Zа-яА-Я][a-zA-Zа-яА-Я0-9_-]*)*$ 14 | "dh-focus-id": 15 | title: Идентификатор требующий подсветку 16 | type: string 17 | pattern: ^[0-9a-zA-Zа-яА-Я][a-zA-Zа-яА-Я0-9_-]*(\.[a-zA-Z0-9а-яА-Я][a-zA-Zа-яА-Я0-9_-]*)*$ 18 | required: 19 | - dh-context-id 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SEAF.1C 2 | 3 | Архитектурный фреймворк для 1C, базирующийся на [SEAF](https://github.com/SEAFTeam/seaf-core). 4 | 5 | Фреймворк адаптирует SEAF для использования c 1C, расширяя его поставку необходимым инструментарием и методологией. Обеспечивает однородность архитектурной функции в сообществе 1С. 6 | 7 | ## Развертывание 8 | 9 | 1. Установите DocHub используя [инструкцию](https://github.com/RabotaRu/DocHub#быстрый-старт). 10 | Для ознакомления, рекомендуется использовать вариант развертывания - плагин для IDEA; 11 | 2. Установите менеджер архитектурных пакетов [archpkg](https://www.npmjs.com/package/archpkg); 12 | 3. Клонируйте данный репозиторий и перейдите в директорию проекта; 13 | 4. Установите зависимости командой: 14 | ```console 15 | npx archpkg install 16 | ``` 17 | 5. Перед тем как приступить к работе с проектом, нужно установить graphviz c помощью команды: 18 | ```console 19 | linux: 20 | sudo apt-get install graphviz 21 | 22 | windows: 23 | winget install graphviz 24 | ``` 25 | детальнее по установке можно посмотреть [тут](https://graphviz.org/download/) 26 | 6. Откройте проект в IDE. 27 | 28 | **ВНИМАНИЕ:** 29 | Рекомендуется использовать плагин IDEA версии 3.12.0 и выше! 30 | Ссылка на [плагин](https://github.com/RabotaRu/DocHub/tree/master/distrib). 31 | 32 | ## Системные требования: 33 | ``` 34 | nodejs 20.11.0 35 | Dochub latest 36 | ``` 37 | --------------------------------------------------------------------------------