Public release from ruodoo-project: 19.0 - 2026-07-26 21:17:35 UTC

This commit is contained in:
CI Publish Bot
2026-07-26 21:17:45 +00:00
commit 4f7b594ec8
1335 changed files with 191620 additions and 0 deletions

145
directive_layer/README.md Normal file
View File

@ -0,0 +1,145 @@
# Слой директив (Directive Layer)
**name:** `directive_layer`
**version:** 19.0.1.0.0
**author:** Mk.Lab
---
## 1. Общее описание
**Директива** — это структурированное задание, которое система Odoo автоматически создаёт и назначает исполнителю при наступлении бизнес-события. Директива несёт в себе информацию о типе работ, ответственных ролях, дедлайне, трудоёмкости и ожидаемом результате.
---
## 2. Установка
1. Убедитесь, что установлен модуль `base_user_role`
2. Скопируйте папку `directive_layer` в директорию `addons`
3. Перезапустите сервер Odoo
4. Перейдите в **Настройки → Приложения → Обновить список**
5. Найдите **«Directive Layer»** и нажмите **Установить**
После установки автоматически создаются 7 стадий заданий.
## 3. Функциональность
- Автоматическое создание заданий при наступлении событий в системе
- Три типа исполнителей: человек, программный агент, оборудование
- Статусная машина с контролируемыми переходами между стадиями
- Визуальные светофоры для контроля состояния исполнителя и ресурсов
- Шаблоны и группы шаблонов для быстрого создания пакетов заданий
- Настройка правил автоматической генерации без программирования
- Рабочий стол исполнителя — полноэкранный дашборд для работы с заданиями
---
---
## 4. Роли пользователей
| Роль | Что может делать |
|---|---|
| Исполнитель | Видит свои задания, берёт в работу, завершает |
| Заявитель | Создаёт и отслеживает задания |
| Диспетчер | Назначает исполнителей, управляет очередью |
При назначении роли **Исполнителя** система автоматически устанавливает «Рабочий стол исполнителя» домашней страницей пользователя.
---
## 5. Жизненный цикл директивы
```
Черновик
↓ подтверждение
Подтверждена
↓ планирование
Запланирована
↓ старт
В работе ←→ На паузе
↓ завершение
Выполнена
```
При завершении задания система автоматически уведомляет объект-источник (задачу, заказ и т.д.) о результате.
---
## Как это выглядит в интерфейсе
### На форме объекта (задача, заказ, счёт...)
После подключения к объекту на его форме появляются три элемента:
**Кнопка «Выбрать тип»** в шапке формы — позволяет выбрать группу шаблонов заданий для данного объекта.
**Кнопка «Директивы»** — показывает количество заданий, связанных с записью. Нажмите, чтобы открыть список.
**Поле «Текущий статус исполнения»** — автоматически вычисляемый текст с наиболее приоритетным активным заданием, ближайшим дедлайном и ожидаемой датой завершения.
![img_1.png](img_1.png)
---
### Рабочий стол исполнителя по задачам
Полноэкранный канбан-дашборд для пользователей с ролью «Исполнитель». Показывает только задания, назначенные текущему пользователю, сгруппированные по стадиям.
![img_2.png](img_2.png)
---
### Меню «Директивы»
В главном меню появляется раздел **Директивы** с двумя пунктами:
- **Все директивы** — список всех заданий в системе (канбан и список)
- **Политики** — правила автоматического создания заданий без программирования
В подразделе **Директивы → Настройки** доступны справочники:
- **Шаблоны директив** — словарь шаблонов с типом работ, трудоёмкостью и ролями
- **Группы шаблонов директив** — наборы шаблонов для пакетного создания заданий
- **Виды работ** — справочник видов работ
- **Статусы директив** — справочник стадий заданий
- **Источники директив** — список объектов, к которым подключены задания
![img_3.png](img_3.png)
---
## Как создавать задания: три способа
### 1. Вручную
Откройте нужный объект → кнопка **«Выбрать тип»** → выберите группу шаблонов → задания создаются немедленно.
![img_4.png](img_4.png)
### 2. Автоматически через политику (без кода)
Перейдите в **Директивы → Политики** и создайте правило:
- Выберите объект (задача, заказ и т.д.)
- Укажите событие: при изменении поля, при создании записи или при вызове действия
- Задайте условие срабатывания
- Выберите группу шаблонов
![img_5.png](img_5.png)
После сохранения задания будут создаваться автоматически при наступлении события.
### 3. Через код (для разработчиков)
Разработчик подключает модуль к нужной модели через `directive.mixin`. Подробнее — в технической документации и модулю.
---
## Зависимости
| Модуль | Назначение |
|---|---|
| `base` | Базовый Odoo |
| `web` | Фронтенд |
| `base_user_role` | Управление ролями пользователей |
| `project` | Модуль проектов |