|
Методична рекомендація (корисна порада)
1. Під час проєктування ролей у бібліотеках рекомендується дотримуватися загального підходу до визначення меж функціональності бібліотеки:
- до бібліотеки включаються ті об'єкти метаданих, які в незміненому або перевизначеному вигляді увійдуть до складу конфігурацій-споживачів.
- об'єкти, специфічні для конкретної конфігурації-споживача, у бібліотеці не розробляються, а створюються на етапі впровадження та налаштування бібліотеки в конфігурації.
2. У більшості випадків бібліотека повинна надавати готовий набір ролей для роботи зі своїми даними (з об'єктами метаданих, що містять дані: довідники, регістри тощо).
Наприклад, разом з універсальною підсистемою анкетування до бібліотеки входять ролі для додавання та зміни шаблонів, опитувань, відповідей на запитання анкет, перегляду відповідей на запитання та для адміністрування (налаштування) підсистеми анкетування.
Виняток із цього правила становлять випадки, коли
- бібліотечний об'єкт не є «самостійним», а завжди підпорядкований якомусь об'єкту-власнику конфігурації. Наприклад: бібліотечні приєднані файли до об'єктів конфігурації (номенклатури, проєктів тощо) не мають власних ролей, оскільки доступ до файлів задається в ролях для роботи з номенклатурою, проєктами тощо.
- бібліотечний об'єкт не є повністю завершеним об'єктом, готовим до використання «як є», а передбачає суттєве перевизначення в прикладних рішеннях. Наприклад, бібліотечні довідники Організації, Фізичні особи тощо містять мінімальну базову реалізацію, спільну для всіх прикладних рішень, і не надають «повноцінних» ролей для роботи з ними.
- бібліотека не містить даних, а лише алгоритми для роботи з ними.
3. При цьому в ролях можуть бути визначені не лише права до бібліотечних об'єктів, а й логіка обмежень доступу до них на рівні записів (RLS – Row-Level Security).
У цьому випадку RLS, що постачається, має бути розроблений таким чином, щоб у прикладних рішеннях він використовувався «як є» і його не доводилося змінювати (доопрацьовувати). Тоді під час оновлення бібліотеки в конфігурації бібліотечні ролі завжди переносяться до конфігурації «як є».
Виняток із цього правила становлять випадки, коли
- у прикладному рішенні не передбачено жодного налаштування прав доступу на рівні записів. У цьому випадку тексти RLS, якщо вони передбачені, мають бути видалені з бібліотечних ролей на етапі впровадження (оновлення) бібліотеки в конфігурацію.
- у прикладному рішенні передбачені прикладні сутності, у розрізі яких налаштовується доступ, зокрема до бібліотечних об'єктів. Наприклад, у розрізі «проєктів» або «грифів доступу» передбачено налаштування видимості бібліотечних «приєднаних файлів». У цьому випадку до текстів RLS у бібліотечних ролях має бути додана логіка обмеження для цих сутностей на етапі впровадження (оновлення) бібліотеки в конфігурацію, або має бути прийнято рішення не постачати ролі до таких об'єктів із бібліотеки.
4. У разі використання в бібліотеці правил постачання для всіх бібліотечних ролей слід задавати правило постачання «Зміни дозволені». Ця вимога зумовлена технологічними особливостями платформи 1С:Підприємство: під час додавання/видалення метаданих у конфігурації відбувається неявна зміна ролей.
Див. також
- Стандартні ролі
- Перевизначувані та постачувані об'єкти бібліотеки
|