Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
11. [Примеры для кликабельных линков и пользовательского DSL](src/customdsl)
12. [Развертывания DocHub](https://github.com/cu3blukekc/SwampHub)
13. [Модификация метамодели для описания связей в собственном формате](src/new_links_format)
14. [Entity Relationship диаграммы и диаграммы классов](src/DynamicEntityRelationshipDiagrams)
15. [Динамическое изменение группировки компонент в представлении контекста](src/DynamicChangeOfContextGrouping)

## Разворачивание

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
components:

# Уровень организации
Romashka:
title: "Ромашка"
entity: component
extension:
type: organization
description: "Выращивание, культивирование, продажа ромашек"

# Уровень приложений/сервисов
Romashka.Systems:
title: Приложения и сервисы
entity: component
extension:
type: Applications

# Уровень приложений/сервисов в рамках конкретного функционального контура - Технологический контур
Romashka.Systems.Technological:
title: Технологический контур
entity: component

# Уровень приложений/сервисов в рамках конкретного функционального контура - Финансовый контур
Romashka.Systems.FinancialManagement:
title: Финансовый контур
entity: component

# Уровень приложений/сервисов в рамках конкретного функционального контура - Документооборот (ЭДО, ЮЗЭДО, ВКЭДО)
Romashka.Systems.DocumentManagement:
title: Документооборот
entity: component
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
imports:
- components.yaml
- systems.yaml
133 changes: 133 additions & 0 deletions src/DynamicChangeOfContextGrouping/Datalake/Applications/systems.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
components:

Romashka.Systems.DocumentManagement.DocumentFlow:
title: 1С:Документоборот
entity: component
description:
"Cистема управления документами и современная ECM-система (Enterprise Content Management — управление корпоративным контентом) с широким набором функциональных возможностей для
регулировки деловых процессов и совместной работы сотрудников. Программа позволяет автоматизировать типовые процессы работы с документами, организовать электронный
документооборот, обеспечить контроль исполнения задач, регламентировать управленческую деятельность"
critical_level: administrative
extension:
type: system
state: trial
state_update_date: 2023-01-01
development_platform: "1С:Предприятие 8"
basic_solution: "1С:Документооборот 8 КОРП, редакция 3.0"
basic_solution_state: Развивается поставщиком
basic_solution_link: https://solutions.1c.ru/catalog/doc8-corp
links:
- id: Romashka.Systems.DocumentManagement.Bitrix24
direction: -->
title: 10
- id: Romashka.Systems.FinancialManagement.CPM
direction: -->
title: 11

Romashka.Systems.DocumentManagement.Bitrix24:
title: Битрикс24
entity: component
description: Битрикс24
critical_level: administrative
extension:
type: system
state: archive
state_update_date: 2023-01-01
development_platform: Битрикс24
basic_solution: Битрикс24
basic_solution_state: Развивается поставщиком
basic_solution_link: https://www.bitrix24.ru/
links:
- id: Romashka.Systems.FinancialManagement.CPM
direction: -->
title: 20

Romashka.Systems.FinancialManagement.CPM:
title: 1С:Управление холдингом 8
entity: component
description: "Инструмент эффективной автоматизации работы управляющих компаний и финансовых служб бизнес-единиц холдингов"
critical_level: business_critical
extension:
type: system
state: archive
state_update_date: 2023-02-01
development_platform: "1С:Предприятие 8"
basic_solution: "1С:Управление холдингом 8"
basic_solution_state: Развивается поставщиком
basic_solution_link: https://v8.1c.ru/cpm/
links:
- id: Romashka.Systems.FinancialManagement.SAP
direction: -->
title: 30

Romashka.Systems.FinancialManagement.ERP:
title: 1С:ERP Управление предприятием
entity: component
description: "Инновационное и эффективное решение от компании «1С» для создания комплексной информационной системы управления любым предприятием. Этот продукт позволяет
автоматизировать основные бизнес-процессы, контролировать ключевые показатели деятельности предприятия, организовать взаимодействие служб и подразделений,
координировать деятельность производственных подразделений, оценивать эффективность деятельности предприятия, отдельных подразделений и персонала"
critical_level: business_critical
extension:
type: system
state: trial
state_update_date: 2023-02-01
development_platform: "1С:Предприятие 8"
basic_solution: "1С:ERP, редакция 2.5"
basic_solution_state: Развивается поставщиком
basic_solution_link: https://solutions.1c.ru/catalog/1cerp
links:
- id: Romashka.Systems.FinancialManagement.SAP
direction: -->
title: 40
- id: Romashka.Systems.Technological.ESB_1CIntegrationCORP
direction: -->
title: 41
- id: Romashka.Systems.Technological.SPPR
direction: -->
title: 42

Romashka.Systems.FinancialManagement.SAP:
title: SAP
entity: component
description: SAP
critical_level: business_critical
extension:
type: system
state: production
state_update_date: 2023-02-01
development_platform: SAP
basic_solution: SAP
basic_solution_state: Развивается поставщиком
basic_solution_link: https://solutions.1c.ru/catalog/1cerp

Romashka.Systems.Technological.ESB_1CIntegrationCORP:
title: ESB-1C
entity: component
description:
"Корпоративная шина данных (ESB), которая применяется для обмена данными между различными системами в виде канонической модели данных"
critical_level: mission_critical
extension:
type: system
state: concept
state_update_date: 2023-01-01
development_platform: "1С:Предприятие 8"
basic_solution: 1С:Интеграция КОРП, редакция 1.0
basic_solution_state: Развивается поставщиком
basic_solution_link: https://solutions.1c.ru/catalog/integracorp

Romashka.Systems.Technological.SPPR:
title: 1С:СППР
entity: component
description:
"Система проектирования прикладных решений (СППР) предназначена для проектирования прикладных решений (конфигураций) на платформе «1С:Предприятие» и
ведения технической документации проекта. СППР может быть использована как в качестве инструмента для проектирования новых информационных систем,
разрабатываемых в среде «1С:Предприятия 8», так и для описания и документирования существующих систем, разработанных ранее без использования СППР."
critical_level: mission_critical
extension:
type: system
state: trial
state_update_date: 2023-01-01
development_platform: 1С:Предприятие 8
basic_solution: "1С:СППР"
basic_solution_state: Развивается поставщиком
basic_solution_link: https://v8.1c.ru/tekhnologii/sistema-proektirovaniya-prikladnykh-resheniy/
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
**Перейти** | [Группировка по статусу](/docs/Romashka.doc.GroupingByStatus)
| [Группировка по уровню критичности](/docs/Romashka.doc.GroupingByStatusCriticalLevel) |

![Архитектура](@context/DefaultView)


Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
**Перейти** | [Группировка по-умолчанию](/docs/Romashka.doc.DefaultView)
| [Группировка по уровню критичности](/docs/Romashka.doc.GroupingByStatusCriticalLevel) |

![Архитектура](@context/GroupingByStatus)


Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
**Перейти** | [Группировка по-умолчанию](/docs/Romashka.doc.DefaultView)
| [Группировка по статусу](/docs/Romashka.doc.GroupingByStatus)

![Архитектура](@context/GroupingByStatusCriticalLevel)
64 changes: 64 additions & 0 deletions src/DynamicChangeOfContextGrouping/Datalake/contexts.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
contexts:

DefaultView:
title: Схема по-умолчанию
extra-links: true
components:
- Romashka.Systems.*.*

GroupingByStatus:
title: Группировка по статусу приложения
extra-links: true
components:
- Romashka.Systems.*.* # Для отображения в списке выбора контекста в карточке компонента
- Romashka.Systems.*.*.*
source: >
(

$Grouping := {
"GroupingName": "State", /* Имя группировки, добавляемое в описание идентификатора компонента DDD */
"GroupingTitle": "Статус использования", /* Представление группировки, отображаемое пользователями на схеме контекста */
"FieldPath": "*.extension.state", /* Путь к значениям для расчета группировок */
"Dictionary": $.dictionaries.applications_status.parameters}; /* Описание вариантов значений и представлений группируемого атрибута */

$Components := $eval($.functions.get_transformed_components_description, {"Grouping": $Grouping, "Datalake": $});

/* http://docs.jsonata.org/other-operators */
/* ... ~> | ... | ... | (Transform) */
/* The object transform operator is used to modify a copy of an object structure using a pattern/action syntax to target specific
/* modifications while keeping the rest of the structure unchanged */

/* Дополнительный пример использования - https://dochub.info/entities/docs/blank?dh-doc-id=dochub.contexts */
/* раздел 5. Источник данных для контекста */

$ ~> | $ | { "components": $Components } |
)

GroupingByStatusCriticalLevel:
title: Группировка по уровню критичности
extra-links: true
components:
- Romashka.Systems.*.* # Для отображения в списке выбора контекста в карточке компонента
- Romashka.Systems.*.*.*
source: >
(

$Grouping := {
"GroupingName": "CriticalLevel", /* Имя группировки, добавляемое в описание идентификатора компонента DDD */
"GroupingTitle": "Уровень критичности", /* Представление группировки, отображаемое пользователями на схеме контекста */
"FieldPath": "*.critical_level", /* Путь к значениям для расчета группировок */
"Dictionary": $.dictionaries.critical_level.parameters}; /* Описание вариантов значений и представлений группируемого атрибута */

$Components := $eval($.functions.get_transformed_components_description, {"Grouping": $Grouping, "Datalake": $});

/* http://docs.jsonata.org/other-operators */
/* ... ~> | ... | ... | (Transform) */
/* The object transform operator is used to modify a copy of an object structure using a pattern/action syntax to target specific
/* modifications while keeping the rest of the structure unchanged */

/* Дополнительный пример использования - https://dochub.info/entities/docs/blank?dh-doc-id=dochub.contexts */
/* раздел 5. Источник данных для контекста */

$ ~> | $ | { "components": $Components } |

)
14 changes: 14 additions & 0 deletions src/DynamicChangeOfContextGrouping/Datalake/docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
docs:

Romashka.doc.DefaultView:
type: markdown
location: "Архитектурная схема"
source: Templates/DefaultView.md

Romashka.doc.GroupingByStatus:
type: markdown
source: Templates/GroupingByStatus.md

Romashka.doc.GroupingByStatusCriticalLevel:
type: markdown
source: Templates/GroupingByStatusCriticalLevel.md
4 changes: 4 additions & 0 deletions src/DynamicChangeOfContextGrouping/Datalake/root.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
imports:
- Applications/root.yaml
- contexts.yaml
- docs.yaml
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/DynamicChangeOfContextGrouping/Imgs/Default.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
datasets:

Appication.dataset.ListOfInformationSystems:
source: >
(

$Dictionaries := $.dictionaries;

/* Запрос к данным архитектуры */
$Components := components.$sift(function($v) { $v.extension.type="system" });
$Components.$spread().(

$Component_Id := $keys()[0];

$State := *.extension.state;
$CiticalLevel := *.critical_level;

{
"ID": $Component_Id,
"Link": "/architect/components/" & $Component_Id,
"Title": *.title,
"Description": *.description,
"State": $Dictionaries.applications_status.parameters[name=$State].title,
"CiticalLevel": $Dictionaries.critical_level.parameters[name=$CiticalLevel].title
}

)

)
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
docs:

Common.doc.ApplicationsListOfInformationSystems:
location: "Общий список систем и сервисов"
type: table
headers:
- value: Title
text: "Наименование"
sortable: true
link: Link
- value: Description
text: "Описание"
- value: State
text: "Статус"
sortable: true
- value: CiticalLevel
text: "Уровень критичности"
sortable: true
source: Appication.dataset.ListOfInformationSystems
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
imports:
- docs.yaml
- datasets.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
dictionaries:

applications_status:
title: Статусы систем
description: Статус системы определяет её этап в жизненном цикле
parameters:
- name: concept
title: Инициатива
- name: implementation
title: Реализация
- name: production
title: В продуктиве
- name: trial
title: Опытная эксплуатация
- name: decommissioning
title: Вывод из эксплуатации
- name: archive
title: Архивная
- name: retirement
title: Выведена из эксплуатации
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
dictionaries:

critical_level:
title: Уровень критичности приложений
description: Справочник уровней критичности приложения/системы/сервиса с точки зрения бизнеса
parameters:
- name: administrative
title: Administrative
description: Приложение/система/сервис является обеспечивающим
- name: business_operational
title: Business Operational
description: Приложение/система/сервис обеспечивает текущую операционную деятельность компании
- name: business_critical
title: Business Critical
description: Приложение/система/сервис является критически важным для текущей деятельности компании
- name: mission_critical
title: Mission Critical
description: Работоспособность приложения/сервиса влияет на само существование компании или на достижение её критических целей
Loading