x

Hành động tự động trong Odoo 17

Hành động tự động trong Odoo 17 cho phép người dùng đặt các hành động được xác định trước được kích hoạt tự động theo các điều kiện hoặc sự kiện được chỉ định. Những hành động này bao gồm gửi email, tạo bản ghi, cập nhật trường và kích hoạt thông báo. Bằng cách tự động hóa các nhiệm vụ lặp đi lặp lại, doanh nghiệp nâng cao hiệu quả, độ chính xác và năng suất.

Hành động tự động và Hành động máy chủ trong Odoo cung cấp một cách hiệu quả để mở rộng chức năng mà không cần mã hóa rộng rãi. Ngay cả trong Odoo Online, nơi khả năng phát triển bị hạn chế, các hành động tự động vẫn có thể truy cập được, trao quyền cho người dùng tối ưu hóa quy trình công việc một cách hiệu quả.

Có một số cách để nâng cao và tùy chỉnh chức năng của Odoo thông qua các hành động tự động:

1. Quy trình làm việc được sắp xếp hợp lý: Tự động điều chỉnh "giai đoạn" của tài liệu dựa trên các quy tắc được xác định trước, đơn giản hóa và hợp lý hóa quy trình kinh doanh của bạn.

2. Cơ chế xác thực: Thực hiện kiểm tra xác thực để ngăn chặn người dùng tự thay đổi “giai đoạn” một cách không phù hợp, đảm bảo tính toàn vẹn dữ liệu và tuân thủ các quy tắc kinh doanh.

3. Tự động hóa tác vụ: Tự động tạo các tác vụ tiếp theo cho người dùng dựa trên các yếu tố kích hoạt hoặc sự kiện cụ thể, tạo điều kiện thuận lợi cho việc quản lý tác vụ và đảm bảo rằng các hành động quan trọng không bị bỏ qua.

Để đơn giản hóa việc nhập dữ liệu và giảm thiểu lỗi, hãy tự động hóa việc gán giá trị trường dựa trên các quy tắc được xác định trước. Triển khai kiểm tra xác thực để ngăn người dùng nhập dữ liệu không chính xác, chẳng hạn như tránh tạo ra các sản phẩm trùng lặp.

Các hành động tự động có thể được kích hoạt khi tạo, xóa hoặc cập nhật các bản ghi trong Mô hình Odoo (bảng cơ sở dữ liệu) được chỉ định. Những hành động này cũng có thể được kích hoạt bằng cách sửa đổi biểu mẫu hoặc điều kiện dựa trên thời gian. Các quy tắc kinh doanh có thể được xác định bằng cách sử dụng các miền và "các trường được theo dõi" (các hành động cụ thể cho các nhóm khách hàng hoặc loại sản phẩm nhất định) và logic phức tạp hơn có thể được triển khai bằng mã Python.

Để định cấu hình các hành động tự động, hãy bắt đầu bằng cách bật chế độ nhà phát triển và điều hướng đến Cài đặt -> Kỹ thuật -> Hành động tự động. Từ đó, bạn có thể xác định các quy tắc và điều kiện kích hoạt các hành động tự động để hợp lý hóa quy trình làm việc của mình và cải thiện độ chính xác của dữ liệu.




Cài đặt
Nếu không thể tìm thấy tùy chọn này, bạn có thể cần phải cài đặt mô-đun Quy tắc hành động tự động.

Để làm như vậy, hãy bắt đầu bằng cách xóa bộ lọc "Ứng dụng". Chỉ cần nhấp vào biểu tượng 'X' bên cạnh nó.

Bộ lập lịch là các quy trình tự động thực hiện theo các khoảng thời gian được xác định trước mà không cần can thiệp thủ công. Chúng thực hiện nhiều tác vụ khác nhau ở chế độ nền, đơn giản hóa việc thực hiện các công việc ở chế độ nền. Để lên lịch một tác vụ, chỉ cần chèn một bản ghi vào bảng ir.cron và Odoo sẽ thực thi nó theo lịch trình đã xác định.

Để định cấu hình hành động tự động với các điều kiện và miền kích hoạt trong Odoo 17, hãy làm theo các bước sau:

1. Tạo mô hình và trường: Bắt đầu bằng cách tạo mô hình nếu chưa tồn tại. Xác định các trường trên mô hình này nếu cần. Hành động tự động được định cấu hình để tự động thực hiện các hành động cụ thể khi đáp ứng một số điều kiện nhất định.

2. Xác định các điều kiện kích hoạt: Chỉ định các điều kiện kích hoạt phải được đáp ứng để hành động tự động được thực thi. Các điều kiện này dựa trên giá trị trường trong bản ghi hoặc các bản ghi liên quan. Khi các điều kiện kích hoạt được thỏa mãn, hành động tự động sẽ tự động kích hoạt.

3. Đặt tên miền: Sử dụng tên miền để lọc các bản ghi mà hành động tự động sẽ hoạt động trên đó. Các miền được định nghĩa là một danh sách các bộ dữ liệu, trong đó mỗi bộ dữ liệu chỉ định một điều kiện mà các bản ghi phải đáp ứng. Chỉ những bản ghi đáp ứng các điều kiện được chỉ định trong miền mới được chọn cho hành động tự động.

Dưới đây là một ví dụ minh họa cấu hình của một hành động tự động với các điều kiện và miền kích hoạt trong Odoo 17:

Giả sử chúng ta có một mô hình tùy chỉnh có tên là "my.model" với trường có tên là "state" có các giá trị "dự thảo" và "xong".

từ các mô hình nhập odoo, các trường 

lớp MyModel(models.Model): 

_name = 'my.model' 

name = Fields.Char('Name') 

date = Fields.Date('Date') 

money = Fields.Float('Amount' ) 

Partner_id = Fields.Many2one('res.partner', string='Partner') 

state = Fields.Selection([ 

('draft', 'Draft'), 

('done', 'Done'), 

], default= 'bản nháp', string='Trạng thái')


Chúng tôi mong muốn thiết lập một hành động tự động trong đó trường trạng thái chuyển sang "hoàn thành" khi trường số lượng của bản ghi bằng hoặc vượt quá 100. Chúng tôi sẽ sử dụng lớp base.automation cho mục đích này.

từ odoo import api 

class ServerAction(models.Model): 

_inherit = "ir.actions.server" 

@api.model 

def run(self, record): 

if record.amount >= 100: 

record.write({'state': 'done'}) 

trigger_condition = field.Char( 

string='Điều kiện kích hoạt', 

default='record.amount >= 100', 

help='Điều kiện kích hoạt cho hành động.' 
)

Trong đoạn mã được cung cấp, phương thức 'chạy' được thiết lập để xác minh xem trường 'số lượng' của bản ghi có vượt quá hay bằng 100 hay không. Nếu điều kiện này đúng thì trường 'trạng thái' sẽ được gán giá trị "xong". Ngoài ra, trường 'trigger_condition' được xác định để mô tả điều kiện tiên quyết để kích hoạt hành động tự động.

<odoo> 

<data> 

<record model="ir.actions.server" id="my_automation"> 

<field name="name">Tự động hóa của tôi</field> 

<field name="model_id" ref="model_my_model"/ > 

<field name="state">code</field> 

<field name="code">MyAutomation().run(record)</field> 

<field name="type">ir.actions.server</field

<field name="trigger_condition">record.amount >= 100</field> 

</record> 

</data> 

</odoo>

Tóm lại, các hành động tự động trong Odoo 17 đóng vai trò như một phương tiện mạnh mẽ để nâng cao khả năng của phần mềm một cách dễ dàng mà không cần mã hóa. Bằng cách tận dụng các hành động tự động, người ta có thể bắt đầu một cách liền mạch các hành động được xác định trước dựa trên các tham số thời gian hoặc tiêu chí được chỉ định, đơn giản hóa việc thực hiện các tác vụ nền. Hơn nữa, bộ lập lịch cho phép tự động hóa các tác vụ theo khung thời gian được chỉ định, loại bỏ nhu cầu can thiệp thủ công.


Tham khảo Cybrosys.com