Hướng dẫn sử dụng phân quyền

Xem thêm trong mục

1- Thư viện

Trên thư viện LIB_SET_ITEM_PROPERTY đã được thêm vào thủ tục:  Apply_Responsibilities.
 

Các hàm lấy quyền tương ứng của FORM hiện tại:

Các hàm này đều không cần tham số, nó sẽ trả về Y hoặc N, ứng với quyền của Form gọi hàm này.
 
  1. Get_Res_INSERTED
  2. Get_Res_UPDATED
  3. Get_Res_DELETED
  4. Get_Res_QUERIED
  5. Get_Res_PRINT
  6. Get_Res_APPROVED;
  7. Get_Res_UN_APPROVED;
  8. Get_Res_POST
  9. Get_Res_UN_POST

Các thủ tục:

  • Apply_Res_Inserted(P_Block_Name)
  • Apply_Res_Updated(P_Block_Name)
  • Apply_Res_Deleted(P_Block_Name)
  • Apply_Res_Queried(P_Block_Name)

2- Quy tắc bắt buộc

Trên các form cần phải gọi thủ tục
  • Apply_Responsibilities
tại trigger: WHEN-NEW-FORM-INSTANCE  

3- Quy tắc phân quyền cho Button.

Các BUTTON phải đặt tên theo tên quy ước, khi các button có tên như vậy tự động thủ tục trên sẽ Enabled/Disabled theo đúng phân quyền trong DB.
  1. BTN_INSERTED*
  2. BTN_UPDATED*
  3. BTN_DELETED*
  4. BTN_QUERIED*
  5. BTN_APPROVED*
  6. BTN_UN_APPROVED*
  7. BTN_POST*
  8. BTN_UN_POST*
  9. BTN_PRINT*
Ví dụ:
  • BTN_INSERTED
  • BTN_INSERTED1
  • BTN_INSERTED_1
  • BTN_INSERTED_12

4- Quy tắc cho trường hợp QUERY, INSERT, UPDATE và DELETE

Các thủ tục:

  • Apply_Res_Inserted(P_Block_Name)
  • Apply_Res_Updated(P_Block_Name)
  • Apply_Res_Deleted(P_Block_Name)
  • Apply_Res_Queried(P_Block_Name)
Các thủ tục trên khi được gọi ngay lập tức nó thực thi theo phân quyền trong DB. Tuy nhiên xem một tình huống.
 

Nếu DHE đã xác nhận xuất (Nghĩa là không cho sửa) , Nhưng lại gọi Apply_Res_Updated(<BlockDHE>) có quyền Y