146 lines
7.2 KiB
Markdown
146 lines
7.2 KiB
Markdown
# Слой директив (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. Жизненный цикл директивы
|
||
|
||
```
|
||
Черновик
|
||
↓ подтверждение
|
||
Подтверждена
|
||
↓ планирование
|
||
Запланирована
|
||
↓ старт
|
||
В работе ←→ На паузе
|
||
↓ завершение
|
||
Выполнена
|
||
```
|
||
|
||
При завершении задания система автоматически уведомляет объект-источник (задачу, заказ и т.д.) о результате.
|
||
|
||
---
|
||
|
||
## Как это выглядит в интерфейсе
|
||
|
||
### На форме объекта (задача, заказ, счёт...)
|
||
|
||
После подключения к объекту на его форме появляются три элемента:
|
||
|
||
**Кнопка «Выбрать тип»** в шапке формы — позволяет выбрать группу шаблонов заданий для данного объекта.
|
||
|
||
**Кнопка «Директивы»** — показывает количество заданий, связанных с записью. Нажмите, чтобы открыть список.
|
||
|
||
**Поле «Текущий статус исполнения»** — автоматически вычисляемый текст с наиболее приоритетным активным заданием, ближайшим дедлайном и ожидаемой датой завершения.
|
||
|
||

|
||
---
|
||
|
||
### Рабочий стол исполнителя по задачам
|
||
|
||
Полноэкранный канбан-дашборд для пользователей с ролью «Исполнитель». Показывает только задания, назначенные текущему пользователю, сгруппированные по стадиям.
|
||
|
||

|
||
|
||
---
|
||
|
||
### Меню «Директивы»
|
||
|
||
В главном меню появляется раздел **Директивы** с двумя пунктами:
|
||
|
||
- **Все директивы** — список всех заданий в системе (канбан и список)
|
||
- **Политики** — правила автоматического создания заданий без программирования
|
||
|
||
В подразделе **Директивы → Настройки** доступны справочники:
|
||
|
||
- **Шаблоны директив** — словарь шаблонов с типом работ, трудоёмкостью и ролями
|
||
- **Группы шаблонов директив** — наборы шаблонов для пакетного создания заданий
|
||
- **Виды работ** — справочник видов работ
|
||
- **Статусы директив** — справочник стадий заданий
|
||
- **Источники директив** — список объектов, к которым подключены задания
|
||
|
||

|
||
|
||
---
|
||
|
||
## Как создавать задания: три способа
|
||
|
||
### 1. Вручную
|
||
|
||
Откройте нужный объект → кнопка **«Выбрать тип»** → выберите группу шаблонов → задания создаются немедленно.
|
||
|
||

|
||
|
||
### 2. Автоматически через политику (без кода)
|
||
|
||
Перейдите в **Директивы → Политики** и создайте правило:
|
||
- Выберите объект (задача, заказ и т.д.)
|
||
- Укажите событие: при изменении поля, при создании записи или при вызове действия
|
||
- Задайте условие срабатывания
|
||
- Выберите группу шаблонов
|
||
|
||

|
||
|
||
После сохранения задания будут создаваться автоматически при наступлении события.
|
||
|
||
### 3. Через код (для разработчиков)
|
||
|
||
Разработчик подключает модуль к нужной модели через `directive.mixin`. Подробнее — в технической документации и модулю.
|
||
|
||
---
|
||
|
||
## Зависимости
|
||
|
||
| Модуль | Назначение |
|
||
|---|---|
|
||
| `base` | Базовый Odoo |
|
||
| `web` | Фронтенд |
|
||
| `base_user_role` | Управление ролями пользователей |
|
||
| `project` | Модуль проектов |
|
||
|
||
|