Quy tắc tự động hoá¶
Quy tắc tự động hóa cho phép thực thi một hoặc nhiều hành động được xác định trước để phản hồi một kích hoạt cụ thể, ví dụ: tạo một hoạt động khi một trường được đặt thành một giá trị cụ thể, hoặc lưu trữ một bản ghi 7 ngày sau khi cập nhật lần cuối.
Khi tạo quy tắc tự động hóa, bộ lọc miền cho phép bạn thêm các điều kiện phải được đáp ứng để quy tắc tự động hóa chạy, ví dụ: cơ hội phải được chỉ định cho một nhân viên bán hàng cụ thể, hoặc trạng thái của bản ghi không được là Nháp.
Để tạo quy tắc tự động hóa với Odoo Studio, hãy thực hiện như sau:
Mở Studio và nhấp vào Tự động hóa, sau đó Mới.
Đặt cho quy tắc tự động hóa một tên rõ ràng, có ý nghĩa để xác định mục đích của nó.
Chọn trình kích hoạt và nếu cần, điền vào các trường xuất hiện trên màn hình dựa trên trình kích hoạt đã chọn.
Nhấp Thêm hành động, sau đó chọn Loại hành động và điền vào các trường xuất hiện trên màn hình dựa trên hành động bạn đã chọn.
Nhấp Lưu & Đóng hoặc Lưu & Mới.
Example
Để đảm bảo theo dõi các khách hàng ít hài lòng hơn, quy tắc tự động hóa này tạo một hoạt động 3 tháng sau khi đơn bán hàng được tạo cho các khách hàng có tỷ lệ hài lòng thấp hơn 30%.
Mẹo
Sử dụng tab Ghi chú để ghi lại mục đích và hoạt động của các quy tắc tự động hóa. Điều này giúp các quy tắc dễ bảo trì hơn và tạo thuận lợi cho sự cộng tác giữa người dùng.
Để sửa đổi mô hình được nhắm mục tiêu bởi quy tắc tự động hóa, hãy chuyển mô hình trước khi nhấp Tự động hóa trong Studio, hoặc kích hoạt chế độ nhà phát triển, tạo hoặc chỉnh sửa quy tắc tự động hóa và chọn Mô hình trong biểu mẫu Quy tắc tự động hóa.
Quy tắc tự động hóa có thể được tạo từ bất kỳ giai đoạn kanban nào bằng cách nhấp vào biểu tượng (Cài đặt) xuất hiện khi di chuột qua tên giai đoạn kanban, sau đó chọn Tự động hóa. Trong trường hợp này, Kích hoạt được đặt thành Giai đoạn được đặt thành theo mặc định, nhưng có thể thay đổi nếu cần thiết.
Bộ khởi động¶
Kích hoạt được sử dụng để xác định loại sự kiện nào cần xảy ra để quy tắc tự động hóa chạy. Các kích hoạt có sẵn phụ thuộc vào mô hình. Tổng cộng có năm loại kích hoạt:
Thêm điều kiện¶
Bộ lọc miền cho phép bạn xác định các bản ghi mà quy tắc tự động hóa nên nhắm mục tiêu hoặc loại trừ. Lọc hiệu quả giúp cải thiện hiệu suất tổng thể vì nó tránh xử lý không cần thiết các bản ghi không bị ảnh hưởng bởi quy tắc.
Mẹo
Kích hoạt chế độ nhà phát triển trước khi tạo quy tắc tự động hóa để có sự linh hoạt tối đa trong việc thêm bộ lọc miền.
Tùy thuộc vào điều kiện kích hoạt được chọn, có thể xác định một hoặc nhiều điều kiện mà bản ghi phải đáp ứng trước và/hoặc sau khi điều kiện kích hoạt xảy ra.
Miền trước cập nhật xác định các điều kiện mà bản ghi phải đáp ứng trước khi sự kiện kích hoạt xảy ra, ví dụ: bản ghi phải có
Loại = Hóa đơn khách hàngvàTrạng thái = Đã ghi nhận.Với chế độ nhà phát triển được kích hoạt, nhấp Chỉnh sửa miền, nếu có, sau đó Quy tắc mới.
Điều kiện bổ sung, hoặc trong một số trường hợp bộ lọc Áp dụng cho, xác định các điều kiện mà một bản ghi phải đáp ứng sau khi sự kiện kích hoạt xảy ra, ví dụ: hóa đơn khách hàng phải có
Trạng thái thanh toán = Đã thanh toán một phần.Với chế độ nhà phát triển được kích hoạt nếu cần, nhấp vào Thêm điều kiện hoặc Chỉnh sửa miền, tùy theo trường hợp, sau đó chọn Quy tắc mới.
Khi điều kiện kích hoạt xảy ra, ví dụ: trạng thái thanh toán của hóa đơn khách hàng đã ghi nhận được cập nhật, quy tắc tự động hóa sẽ kiểm tra các điều kiện đã xác định và chỉ thực hiện hành động nếu bản ghi phù hợp với các điều kiện đó.
Example
Nếu hành động tự động hóa cần được thực hiện khi địa chỉ email được thiết lập lần đầu tiên (trái ngược với việc sửa đổi địa chỉ email) trên liên hệ hiện có là cá nhân chứ không phải công ty, hãy sử dụng Email chưa được thiết lập và Là công ty chưa được thiết lập làm Miền trước cập nhật và Email đã được thiết lập làm miền Áp dụng cho.
Ghi chú
Miền trước cập nhật không được kiểm tra khi tạo bản ghi.
Giá trị đã được cập nhật¶
Kích hoạt hành động tự động hóa khi có những thay đổi cụ thể xảy ra trong cơ sở dữ liệu. Các điều kiện kích hoạt có sẵn trong danh mục này phụ thuộc vào mô hình và dựa trên các thay đổi phổ biến, chẳng hạn như thêm thẻ cụ thể (ví dụ: vào tác vụ) hoặc thiết lập giá trị của trường (ví dụ: thiết lập trường Người dùng).
Chọn điều kiện kích hoạt, sau đó chọn giá trị nếu cần.
Sự kiện email¶
Kích hoạt các hành động tự động khi nhận hoặc gửi email.
Điều kiện thời gian¶
Kích hoạt hành động tự động hóa tại một thời điểm tương đối so với trường ngày hoặc so với việc tạo hoặc cập nhật bản ghi. Các điều kiện kích hoạt sau đây có sẵn:
Dựa trên trường ngày: Hành động được kích hoạt trong khoảng thời gian xác định trước hoặc sau ngày của trường ngày đã chọn.
Sau khi tạo: Hành động được kích hoạt sau một khoảng thời gian xác định kể từ khi bản ghi được tạo và lưu.
Sau lần cập nhật cuối: Hành động được kích hoạt sau một khoảng thời gian xác định kể từ khi bản ghi hiện có được chỉnh sửa và lưu.
Sau đó bạn có thể xác định:
một Độ trễ: Xác định số phút, giờ, ngày hoặc tháng. Để thực hiện hành động trước ngày kích hoạt, hãy chỉ định một số âm. Nếu bạn đã chọn trình kích hoạt Dựa trên trường ngày, bạn cũng phải chọn trường ngày được sử dụng để xác định độ trễ.
Ghi chú
Theo mặc định, bộ lập lịch kiểm tra các quy tắc tự động hóa được kích hoạt theo thời gian cứ sau 240 phút, hoặc 4 giờ. Tần suất này thường đủ cho các độ trễ như 3 tháng sau ngày đặt hàng hoặc 7 ngày sau lần cập nhật cuối cùng.
Đối với độ trễ nhỏ hơn tương đương 2400 phút, hoặc 40 giờ, hệ thống sẽ tính toán lại tần suất kiểm tra này để đảm bảo rằng các độ trễ chi tiết hơn, ví dụ: 1 giờ trước ngày và giờ bắt đầu sự kiện, hoặc 30 phút sau khi tạo, có thể được tuân thủ sát nhất có thể.
Một thông báo trên màn hình cho biết độ trễ có thể xảy ra sau khi quy tắc được kích hoạt theo lịch trình.
Để xem hoặc chỉnh sửa thủ công tần suất của bộ lập lịch, với chế độ nhà phát triển được kích hoạt, hãy vào để xem tất cả các hành động đã lập lịch cho cơ sở dữ liệu của bạn.
Nhập
Automationvào thanh tìm kiếm, sau đó, trong danh sách kết quả, nhấp vào Quy tắc tự động hóa: kiểm tra và thực thi. Nếu muốn, hãy cập nhật giá trị của trường Thực thi mỗi. Nhấp vào Chạy thủ công bất kỳ lúc nào để kích hoạt thủ công hành động đã lập lịch này.Điều kiện bổ sung: Nhấp vào Thêm điều kiện, sau đó chỉ định các điều kiện cần đáp ứng để quy tắc tự động hóa chạy. Nhấp vào Quy tắc mới để thêm một điều kiện khác.
Hành động được thực thi khi đạt đến độ trễ và các điều kiện được đáp ứng.
Example
Để gửi email nhắc nhở 30 phút trước khi bắt đầu sự kiện lịch, hãy chọn Bắt đầu (Sự kiện lịch) làm trường ngày cho Trình kích hoạt và đặt Độ trễ thành -30 Phút.
Tùy chỉnh¶
Kích hoạt các hành động tự động:
Khi lưu: khi một bản ghi được lưu.
Khi xóa: khi một bản ghi bị xóa.
Khi thay đổi trên giao diện: khi giá trị của một trường được thay đổi trên chế độ xem biểu mẫu, ngay cả trước khi bản ghi được lưu.
Đối với các trình kích hoạt Khi lưu và Khi thay đổi giao diện, bạn phải chọn (các) trường sẽ được sử dụng để kích hoạt quy tắc tự động hóa trong trường Khi cập nhật.
Cảnh báo
Nếu không có trường nào được chọn trong trường Khi cập nhật, hành động tự động có thể được thực thi nhiều lần cho mỗi bản ghi.
Tùy chọn, bạn cũng có thể xác định các điều kiện bổ sung cần được đáp ứng để kích hoạt quy tắc tự động hóa trong trường Áp dụng cho.
Example
Để kích hoạt hành động tự động ngay khi tạo bản ghi, ví dụ: khi một liên hệ mới được tạo, hãy chọn trình kích hoạt Khi lưu và sử dụng ID chưa được đặt làm miền Trước khi cập nhật và ID đã được đặt làm miền Áp dụng cho. Đảm bảo rằng trường đúng được chọn trong trường Khi cập nhật.
Khi một liên hệ mới được lưu, nó sẽ tự động được gán một ID cơ sở dữ liệu, do đó kích hoạt quy tắc tự động hóa.
Ghi chú
Trình kích hoạt Khi thay đổi trên giao diện chỉ có thể được sử dụng với hành động Thực thi mã và chỉ hoạt động khi thực hiện thay đổi thủ công. Hành động không được thực thi nếu trường được thay đổi thông qua quy tắc tự động hóa khác.
Bên ngoài¶
Kích hoạt các hành động tự động dựa trên một sự kiện cụ thể trong hệ thống hoặc ứng dụng bên ngoài bằng cách sử dụng webhook.
Sau khi webhook được cấu hình trong Odoo, nơi URL của webhook được tạo và bản ghi đích được xác định, nó cần được triển khai trong hệ thống bên ngoài.
Cảnh báo
Rất khuyến nghị tham khảo ý kiến nhà phát triển, kiến trúc sư giải pháp hoặc vai trò kỹ thuật khác khi quyết định sử dụng webhook và trong suốt quá trình triển khai. Nếu không được cấu hình đúng cách, webhook có thể làm gián đoạn cơ sở dữ liệu Odoo và có thể mất thời gian để hoàn tác.
Ghi chú
Cũng có thể thiết lập một hành động tự động gửi dữ liệu đến webhook của hệ thống bên ngoài khi một sự kiện xảy ra trong cơ sở dữ liệu Odoo của bạn.
Xem thêm
Tác vụ¶
Sau khi bạn đã xác định trình kích hoạt của quy tắc tự động hóa, hãy nhấp vào Thêm hành động trong tab Hành động cần thực hiện để xác định hành động cần được thực thi.
Mẹo
Bạn có thể xác định nhiều hành động cho cùng một quy tắc tự động hóa. Theo mặc định, các hành động được thực thi theo thứ tự mà chúng được xác định.
Điều này có nghĩa là, ví dụ, nếu bạn xác định hành động Cập nhật bản ghi và sau đó là hành động Gửi email trong đó email tham chiếu đến trường đã được cập nhật, email sẽ sử dụng các giá trị đã cập nhật. Tuy nhiên, nếu hành động Gửi email được xác định trước hành động Cập nhật bản ghi, email sẽ sử dụng các giá trị được đặt trước khi bản ghi được cập nhật.
Để thay đổi thứ tự các hành động đã xác định, nhấp vào biểu tượng (kéo thả) bên cạnh một hành động và kéo nó đến vị trí mong muốn.
Cập nhật bản ghi¶
Hành động này cập nhật một trong các trường (liên quan) của bản ghi. Nhấp vào trường Cập nhật và, trong danh sách hiển thị, chọn hoặc tìm kiếm trường cần cập nhật. Nếu cần, hãy nhấp vào (mũi tên phải) bên cạnh tên trường để truy cập danh sách các trường liên quan.
Nếu bạn đã chọn trường many2many, hãy chọn xem trường đó phải được cập nhật bằng cách Thêm, Xóa, hoặc Đặt thành giá trị đã chọn hay bằng cách Xóa rỗng.
Example
Nếu bạn muốn hành động tự động xóa một thẻ khỏi bản ghi khách hàng, hãy đặt trường Cập nhật thành Khách hàng > Thẻ, chọn bằng cách Xóa, sau đó chọn thẻ.
Mẹo
Ngoài ra, bạn cũng có thể thiết lập trường của bản ghi một cách linh hoạt bằng mã Python. Để thực hiện, chọn Tính toán thay vì Cập nhật, sau đó nhập mã sẽ được sử dụng để tính giá trị của trường. Ví dụ, nếu bạn muốn quy tắc tự động tính toán trường ngày giờ tùy chỉnh khi mức độ ưu tiên của nhiệm vụ được đặt thành Cao (bằng cách đánh dấu sao cho nhiệm vụ), bạn có thể xác định trình kích hoạt Mức độ ưu tiên được đặt thành thành Cao và xác định hành động Cập nhật bản ghi như sau:
Tạo hoạt động¶
Hành động này được sử dụng để lên lịch một hoạt động mới liên kết với bản ghi. Chọn Loại hoạt động, nhập Tiêu đề và mô tả, sau đó chỉ định thời điểm bạn muốn lên lịch hoạt động trong trường Hạn trong, và chọn Loại người dùng:
Để luôn gán hoạt động cho cùng một người dùng, chọn Người dùng cụ thể, sau đó thêm người dùng vào trường Người phụ trách;
Để nhắm đến người dùng được liên kết với bản ghi một cách động, chọn Người dùng động (dựa trên bản ghi) và thay đổi Trường người dùng nếu cần thiết.
Example
Sau khi khách hàng tiềm năng được chuyển thành cơ hội, bạn muốn hành động tự động thiết lập cuộc gọi cho người dùng chịu trách nhiệm về khách hàng tiềm năng. Để làm như vậy, đặt Loại hoạt động thành Cuộc gọi và Loại người dùng thành Người dùng động (dựa trên bản ghi).
Gửi email và gửi SMS¶
Những tác vụ này được sử dụng để gửi email hoặc tin nhắn văn bản đến một liên hệ được liên kết với một bản ghi cụ thể. Để thực hiện, hãy chọn hoặc tạo một Mẫu email hoặc Mẫu SMS. Sau đó, trong trường Gửi email dưới dạng hoặc Gửi SMS dưới dạng, chọn cách bạn muốn gửi email hoặc tin nhắn văn bản:
Email: để gửi tin nhắn dưới dạng email tới người nhận của Mẫu email.
Tin nhắn: để đăng tin nhắn lên bản ghi và thông báo cho người theo dõi bản ghi.
Ghi chú: để gửi tin nhắn dưới dạng ghi chú nội bộ hiển thị cho người dùng nội bộ trong trình trò chuyện.
SMS (không có ghi chú): để gửi tin nhắn dưới dạng tin nhắn văn bản tới người nhận của mẫu SMS.
SMS (có ghi chú): để gửi tin nhắn dưới dạng tin nhắn văn bản tới người nhận của mẫu SMS và đăng nó dưới dạng ghi chú nội bộ trong trình trò chuyện.
Chỉ ghi chú: để chỉ đăng tin nhắn dưới dạng ghi chú nội bộ trong trình trò chuyện.
Gửi WhatsApp¶
Quan trọng
Để tự động hóa việc gửi tin nhắn WhatsApp, cần tạo một hoặc nhiều mẫu WhatsApp.
Hành động này được sử dụng để gửi tin nhắn WhatsApp đến liên hệ được liên kết với bản ghi cụ thể. Để thực hiện, chọn Mẫu WhatsApp phù hợp từ menu thả xuống.
Thêm người theo dõi và xóa người theo dõi¶
Hành động này được sử dụng để đăng ký/hủy đăng ký các liên hệ hiện có vào/khỏi bản ghi.
Tạo bản ghi¶
Hành động này được sử dụng để tạo bản ghi mới trên bất kỳ mô hình nào.
Chọn mô hình cần thiết trong trường Bản ghi cần tạo; mặc định trường này chứa mô hình hiện tại. Chỉ định Tên cho bản ghi, sau đó nếu muốn tạo bản ghi trên mô hình khác, hãy chọn một trường trong trường Trường liên kết để liên kết bản ghi đã kích hoạt việc tạo bản ghi mới.
Ghi chú
Danh sách thả xuống liên quan đến trường Trường liên kết chỉ chứa các trường one2many hiện có trên mô hình hiện tại được liên kết với trường many2one trên mô hình đích.
Mẹo
Bạn có thể tạo quy tắc tự động hóa khác với các hành động Cập nhật bản ghi để cập nhật các trường của bản ghi mới nếu cần thiết. Ví dụ, bạn có thể sử dụng hành động Tạo bản ghi để tạo nhiệm vụ dự án mới và sau đó gán nó cho người dùng cụ thể bằng hành động Cập nhật bản ghi.
Thực thi mã¶
Quan trọng
Đối với các quy tắc tự động hóa yêu cầu thực thi mã tùy chỉnh, lưu ý rằng việc bảo trì mã tùy chỉnh không được bao gồm trong gói giá Tiêu chuẩn hoặc Tùy chỉnh và sẽ phát sinh phí bổ sung.
Hành động này được sử dụng để thực thi mã Python. Bạn có thể viết mã của mình vào tab Mã bằng cách sử dụng các biến sau:
env: môi trường mà hành động được kích hoạtmodel: mô hình của bản ghi mà hành động được kích hoạt; là một recordset rỗngrecord: bản ghi mà hành động được kích hoạt; có thể rỗngrecords: tập bản ghi của tất cả các bản ghi mà hành động được kích hoạt ở chế độ đa bản ghi; có thể để trốngtime,datetime,dateutil,timezone: các thư viện Python hữu íchfloat_compare: hàm tiện ích để so sánh số thực dựa trên độ chính xác cụ thểlog(message, level='info'): hàm ghi nhật ký để ghi lại thông tin gỡ lỗi trong bảng ir.logging_logger.info(message): trình ghi nhật ký để phát ra thông báo trong nhật ký máy chủUserError: lớp ngoại lệ để đưa ra thông báo cảnh báo hướng đến người dùngCommand: không gian tên lệnh x2manyaction = {...}: để trả về một hành động
Mẹo
Các biến khả dụng được mô tả trong cả hai tab Code và Help.
Xem thêm
Gửi thông báo webhook¶
Hành động này được sử dụng để gửi yêu cầu API POST với các giá trị của Fields đã chọn đến URL webhook được chỉ định trong trường URL.
Sample Payload cung cấp bản xem trước dữ liệu được bao gồm trong yêu cầu bằng cách sử dụng dữ liệu của bản ghi ngẫu nhiên hoặc dữ liệu giả nếu không có bản ghi nào.
Ghi chú
Cũng có thể thiết lập một hành động tự động sử dụng webhook để nhận dữ liệu từ hệ thống bên ngoài khi một sự kiện được xác định trước xảy ra trong hệ thống đó.
Thực thi tác vụ hiện có¶
Hành động này được sử dụng để kích hoạt nhiều hành động (liên kết với mô hình hiện tại) cùng một lúc. Để làm như vậy, nhấp Thêm dòng, sau đó trong cửa sổ bật lên Thêm: Hành động con, chọn một hành động hiện có hoặc nhấp Mới để tạo hành động mới.