В Odoo 19 уведомления о действиях помогают командам оставаться организованными, создавая напоминания и задачи, связанные с такими записями, как заказы на продажу, потенциальные клиенты или счета-фактуры. В этом руководстве мы рассмотрим простой и практичный пример создания и управления уведомлениями о действиях.
Настройка уведомлений о действиях:
Задания — это элементы, которые можно назначать пользователям, имеющие срок выполнения и требующие выполнения. При создании задания Odoo отправляет уведомления, чтобы держать всех в курсе. Уведомления отображаются:
- От значка колокольчика на верхней странице Odoo
- По электронной почте (в зависимости от настроек пользователя)
- На панели мониторинга активности
- В разговорах, зафиксированных в протоколах.
Пример автоматического создания последующих действий.
Мы хотим создать функцию, которая автоматически будет создавать задачу для менеджера по продажам после подтверждения заказа. Таким образом, менеджер по продажам будет знать, что нужно связаться с клиентом после получения заказа.
Шаг 1: Создайте структуру модуля.
Сначала создайте пользовательский модуль со следующей структурой:
sales_activity_automation/
+-- __init__.py
+-- __manifest__.py
+-- models/
¦ +-- __init__.py
¦ +-- sale_order.py
+-- data/
+-- mail_activity_type.xml
Шаг 2: Манифест модуля
manifest.py:
{
'name': 'Sales Activity Automation',
'version': '19.0.1.0.0',
'category': 'Sales',
'summary': 'Automatically create follow-up activities for sales orders',
'depends': ['sale', 'mail'],
'data': [
'data/mail_activity_type.xml',
],
'installable': True,
'application': False,
}
Шаг 3: Создание пользовательского типа действий
data/mail_activity_type.xml:
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="mail_activity_type_followup" model="mail.activity.type">
<field name="name">Customer Follow-up</field>
<field name="summary">Follow up with customer after order</field>
<field name="delay_count">3</field>
<field name="delay_unit">days</field>
<field name="icon">fa-phone</field>
</record>
</data>
</odoo>
Шаг 4: Реализация логики на Python.
models/init.py:
from . import sale_order
models/sale_order.py:
from odoo import models, fields
from datetime import timedelta
class SaleOrder(models.Model):
_inherit = 'sale.order'
def action_confirm(self):
"""Override to create follow-up activity when order is confirmed"""
# Call the parent method first
res = super(SaleOrder, self).action_confirm()
# Create a follow-up activity for each confirmed order
for order in self:
self._create_followup_activity(order)
return res
def _create_followup_activity(self, order):
"""Create a follow-up activity for the sales order"""
# Get the custom activity type we created
activity_type = self.env.ref(
'sales_activity_automation.mail_activity_type_followup',
raise_if_not_found=False
)
# If activity type not found, use default call activity
if not activity_type:
activity_type = self.env.ref('mail.mail_activity_data_call')
# Calculate the due date (3 days from today)
due_date = fields.Date.today() + timedelta(days=3)
# Create the activity
order.activity_schedule(
activity_type_id=activity_type.id,
summary=f'Follow up on order {order.name}',
note=f'''
<p>Customer: {order.partner_id.name}</p>
<p>Order Amount: {order.amount_total} {order.currency_id.name}</p>
<p>Action: Call customer to ensure satisfaction and check if they need assistance.</p>
''',
user_id=order.user_id.id or self.env.user.id,
date_deadline=due_date
)
# Show a notification to confirm activity was created
return {
'type': 'ir.actions.client',
'tag': 'display_notification',
'params': {
'title': 'Activity Created',
'message': f'Follow-up activity scheduled for {due_date}',
'type': 'success',
'sticky': False,
}
}
Как это работает
- Когда пользователь подтверждает заказ на продажу , вызывается метод action_confirm().
- Последующие действия будут автоматически созданы с помощью пользовательского кода.
- После этого продавец получит уведомление о новом последующем действии.
- Если последующее действие не будет выполнено, то на панели мониторинга активности продавца оно будет отображаться как просроченное.

Заключение
Функция уведомлений о действиях в Odoo 19 очень полезна для поддержания производительности ваших команд, обеспечивая автоматическое создание задач и предотвращая пропуск важных задач. С помощью нескольких строк пользовательского кода можно создать автоматизированные рабочие процессы для улучшения процесса продаж.