Phân quyền theo vai trò
Tài liệu ERPNext tiếng Việt: Phân quyền theo vai trò
Phân quyền theo vai trò (Role Based Permissions) quyết định ai được làm gì với từng loại chứng từ.
Bạn gán vai trò cho người dùng, rồi đặt quyền cho từng vai trò. Trình quản lý quyền vai trò (Role Permissions Manager) cho bạn chọn vai trò nào truy cập loại chứng từ nào, và được làm gì (đọc, ghi, gửi…).
Sau khi gán vai trò, bạn còn giới hạn tiếp được người dùng chỉ truy cập một số chứng từ nhất định. Bạn cũng đặt được quy tắc quyền khác nhau cho từng nhóm trường nhờ Mức quyền (Permission Level).
1. Dùng Trình quản lý quyền vai trò
Vào Trang chủ > Người dùng và Quyền > Trình quản lý quyền vai trò (Role Permissions Manager).

Quyền được áp dụng theo tổ hợp các yếu tố sau.
- Vai trò (Roles): người dùng được gán vai trò, và quy tắc quyền đặt trên vai trò. Ví dụ một nhân viên bán hàng có thể có vai trò Nhân viên (Employee) và Người dùng bán hàng (Sales User). Các vai trò thường gặp: Quản lý kế toán (Accounts Manager), Nhân viên (Employee), Người dùng nhân sự (HR User)…
- Loại chứng từ (Document Types): mỗi loại chứng từ, dù là danh mục hay giao dịch, có danh sách quyền theo vai trò riêng, như ảnh trên. Ví dụ: Hóa đơn bán hàng, Đơn xin nghỉ phép, Phiếu kho.
- Mức quyền (Permission Levels): bạn gom các trường của chứng từ thành các "mức", mỗi mức một số từ 0 đến 9. Mỗi nhóm trường có bộ quy tắc quyền riêng. Mặc định mọi trường ở mức 0. Quy tắc quyền mức X áp dụng cho các trường mức X. Xem thêm đổi thuộc tính trường theo vai trò.
- Giai đoạn của chứng từ (Document Stages): quyền áp dụng cho từng giai đoạn: tạo, lưu, gửi, hủy, sửa đổi. Vai trò còn có thể được phép in, gửi email, nhập hoặc xuất dữ liệu, hoặc xem báo cáo.
- Quyền theo người dùng (User Permissions): giới hạn người dùng chỉ truy cập một số bản ghi của một loại chứng từ. Ví dụ: chỉ một Khu vực trong số mọi Khu vực. Quyền theo người dùng đặt cho loại chứng từ khác cũng được áp dụng nếu chúng liên quan qua trường liên kết (Link Field).
Ví dụ, Khách hàng là trường liên kết trong Đơn bán hàng và Báo giá. Vì vậy quyền theo người dùng đặt trên Khách hàng cũng ảnh hưởng đến hai loại chứng từ này.
Để đặt quyền theo người dùng, vào Trang chủ > Người dùng và Quyền > Quyền > Quyền theo người dùng.
Thêm quy tắc mới
- Trong Trình quản lý quyền vai trò, chọn loại chứng từ.
- Chọn Thêm quy tắc mới (Add a New Rule).
- Trong hộp thoại, chọn Vai trò và Mức quyền.
- Chọn Thêm (Add). Hệ thống thêm một dòng vào bảng quy tắc.
2. Quyền theo vai trò hoạt động thế nào
Đơn xin nghỉ phép (Leave Application) là ví dụ đủ để thấy mọi phần của hệ thống phân quyền.
Từ v16, bảng quyền của vai trò không còn ô "Áp dụng quyền theo người dùng". Quyền theo người dùng luôn được áp dụng, với hai điều kiện:
- Người dùng có bản ghi Quyền theo người dùng cho loại chứng từ được liên kết (ví dụ Nhân viên, Công ty).
- Trường liên kết của chứng từ không bật Bỏ qua quyền theo người dùng (Ignore User Permissions) trong Tùy chỉnh biểu mẫu.
Nghĩa là, vai trò không "tắt" được quyền theo người dùng. Muốn một người xem mọi chứng từ, bạn không tạo bản ghi Quyền theo người dùng nào cho người đó.
Nhân viên tạo đơn
Nhân viên là người tạo đơn. Vai trò Nhân viên (Employee) cần quyền Đọc, Ghi, Tạo.

Nhân viên chỉ xem đơn của mình
Nhân viên chỉ được truy cập đơn của chính mình. Vì vậy bạn tạo một bản ghi Quyền theo người dùng cho từng cặp Người dùng - Nhân viên.

Nếu muốn nhân viên chỉ chọn được một chứng từ trong chứng từ khác mà không có quyền đọc chứng từ đó, chỉ cấp quyền Chọn (Select) cho vai trò Nhân viên.

Quản lý nhân sự xem mọi đơn
Quản lý nhân sự (HR Manager) cần xem mọi đơn xin nghỉ phép. Tạo quy tắc cho HR Manager ở mức 0 với quyền Đọc (thêm Gửi, Hủy nếu cần), và không tạo bản ghi Quyền theo người dùng nào cho những người có vai trò này. Khi đó không có gì thu hẹp phạm vi của họ.
Người duyệt nghỉ phép xem đơn của nhân viên dưới quyền
Người duyệt nghỉ phép (Leave Approver) cần xem và cập nhật đơn của nhân viên dưới quyền. Cấp cho vai trò này quyền Đọc và Ghi ở mức 0 (thêm Gửi nếu họ duyệt). Sau đó đưa các nhân viên liên quan vào Quyền theo người dùng của người duyệt. Với người duyệt đã khai trong hồ sơ Nhân viên, hệ thống tự tạo bản ghi quyền này nên đỡ phải làm tay.
Chỉ người duyệt được duyệt hoặc từ chối
Chỉ Người dùng nhân sự hoặc Người duyệt nghỉ phép được duyệt hoặc từ chối đơn. Trường Trạng thái (Status) của đơn đặt ở mức 1. Quy tắc mức 0 và mức 1 như sau.
| Vai trò | Mức | Quyền |
|---|---|---|
| HR User, Leave Approver | 0 | Đọc, Ghi |
| Mọi người (All) | 1 | Đọc |

Người dùng nhân sự ủy quyền cho cấp dưới
Người dùng nhân sự (HR User) cần giao quyền truy cập đơn cho cấp dưới, tức là tạo Quyền theo người dùng cho người khác. Mặc định chỉ Quản trị hệ thống (System Manager) tạo, sửa, xóa được loại chứng từ Quyền theo người dùng (User Permission). Để HR User làm được, vào Trình quản lý quyền vai trò, chọn loại chứng từ User Permission rồi thêm một dòng quyền cho vai trò HR User (ví dụ Đọc, Ghi, Tạo).
Nếu đã gán đúng vai trò mà vẫn báo lỗi khi truy cập chứng từ, xem trang này.