Рівень дозволів (Perm Level, скорочення від Permission Level) — це система дозволів на рівні полів у ERPNext і Frappe. Вона дає змогу адміністраторам керувати доступом до конфіденційних полів у типі документа, не приховуючи й не обмежуючи доступ до всього документа.
Що визначають рівні дозволів
Кожне поле в типі документа має рівень дозволів. За замовчуванням поля мають рівень 0. Доступ до полів рівня 0 визначається звичайними дозволами для типу документа.
Якщо полю призначено вищий рівень, наприклад 1 чи 2, користувачам потрібен відповідний рядок дозволу для цього рівня в «Менеджері дозволів ролей». Без такого дозволу користувач усе ще може відкрити документ, але поле вищого рівня буде приховане або доступне лише для читання — залежно від налаштованих дозволів.
Чим корисні рівні дозволів
Рівні дозволів стають у пригоді, коли з документом має працювати більшість користувачів, але бачити чи редагувати конфіденційну інформацію повинні лише деякі. Так не доводиться створювати окремі типи документів чи власні робочі процеси лише для захисту кількох полів.
- Продажі: користувач модуля продажів може створити комерційну пропозицію, а поле погодження знижки редагує лише менеджер.
- Персонал: користувач відділу кадрів може переглядати картку працівника, а дані про заробітну плату доступні лише ролям, що відповідають за зарплату.
- Бухгалтерія: користувач може переглядати рахунок-фактуру постачальника, а банківські чи податкові поля доступні лише бухгалтерам-менеджерам.
- Підтримка: співробітник підтримки може оновлювати дані звернення, а внутрішні нотатки про ескалацію бачать лише старші користувачі.
Як працюють рівні дозволів
- Полю призначають рівень дозволів у типі документа або в «Налаштуванні форми».
- У «Менеджері дозволів ролей» визначають, що може робити кожна роль на кожному рівні дозволів.
- Коли користувач відкриває документ, ERPNext перевіряє і ролі користувача, і рівень дозволів кожного поля.
- Якщо користувач має дозвіл для рівня поля, поле доступне відповідно до дозволених дій, наприклад читання чи запису.
- Якщо користувач не має дозволу для цього рівня, поле обмежене, навіть якщо сам документ йому доступний.
Приклад
Припустімо, замовлення на продаж має такі поля:
- Клієнт — рівень дозволів 0
- Позиції — рівень дозволів 0
- Дата доставки — рівень дозволів 0
- Погоджена знижка — рівень дозволів 1
- Примітки керівництва — рівень дозволів 2
Користувач модуля продажів із дозволом лише на рівні 0 може працювати зі звичайними полями замовлення на продаж. Менеджер з продажів із дозволом на рівні 1 може також переглядати й змінювати поле «Погоджена знижка». Директор з продажів із дозволом на рівні 2 має доступ ще й до поля «Примітки керівництва».
Рівні дозволів і «Менеджер дозволів ролей»
Рівні дозволів мають сенс лише в парі з дозволами ролей. У «Менеджері дозволів ролей» кожен рядок дозволу має значення Рівень. Воно має збігатися з рівнем дозволів поля.
Наприклад, якщо поле має рівень дозволів 1, ролі потрібен рядок дозволу рівня 1 для цього типу документа. Цей рядок може дозволяти читання, запис, створення, проведення, скасування чи внесення змін — залежно від типу документа та бізнес-вимог.
Добрі практики
- Залишайте більшість полів на рівні дозволів 0.
- Використовуйте вищі рівні лише для полів, які справді потребують додаткового контролю.
- Давайте полям зрозумілі назви, щоб обмежені поля було легко впізнати під час налаштування.
- Перевіряйте дозволи під користувачем, який не є адміністратором, перш ніж покладатися на налаштування.
- Не створюйте надто багато рівнів, бо такі правила дозволів важко перевіряти.
- Документуйте, чому кожному обмеженому полю призначено вищий рівень дозволів.
Типові помилки
- Полю встановлено рівень 1, але дозволи ролей для рівня 1 не додано: користувачі можуть несподівано втратити доступ до поля.
- Припущення, що доступ до документа означає доступ до полів: користувач може мати доступ до документа, але не мати доступу до полів вищого рівня.
- Рівні дозволів замість погодження через робочий процес: рівні дозволів керують доступом до полів. Вони не замінюють робочих процесів погодження там, де потрібен контроль бізнес-процесу.
- Перевірка лише під адміністратором: доступ адміністратора може приховати проблеми з дозволами. Завжди перевіряйте під потрібною роллю.
Пов'язані теми
Переклад сторінки «Perm Levels» з документації ERPNext. © Frappe Technologies Pvt. Ltd., ліцензія CC BY-SA 3.0. Переклад — OpenOblik, на тих самих умовах. Переклад машинний, вичитка триває: помітили неточність — напишіть нам.