Копіювання прав доступу 1С 8.3. Налаштування додаткових прав користувачів. Програмна перевірка прав доступу

💖 Подобається?Поділися з друзями посиланням

Налаштування доступу можна виконувати в кількох місцях програми, але рекомендується виконувати її для профілю користувача. Заходимо у профіль адміністратори та що ми бачимо?

Редагування значень параметрів заборонено. Це абсолютно нормально, не варто намагатись встановити їх в іншому місці. Просто система вважає, якщо у користувача одна з ролей - "Повні права", то йому дозволено все,незалежно від налаштувань додаткових прав.Тому немає сенсу їх налаштовувати. Для інших профілів додаткові права чудово встановлюються.

Але налаштування додаткових прав можна виконувати не тільки для профілю, але й для групи та конкретного користувача.

Як поведеться система, якщо значення додаткових прав у користувача та його профілю не збігаються? Може скластися враження, що система повинна в цьому випадку використовувати значення права, встановлене користувачеві, як точніше. Але це не так! Пріоритет прав профілю вище, ніж у групи користувачів та користувача.Прочитавши значення права у профілю, програма навіть не дивитиметься, що там встановлено для групи, тому необхідно налаштувати в профілі.

Навіщо ж тоді зроблено можливість заповнювати права для групи та користувача, якщо вони все одно не використовуються? А використовуватимуться вони, якщо користувачеві профіль не заданий. Яке ж із прав братиме система в цьому випадку? Подивимося у конфігураторі:

Функція ПрочитатиЗначенняПраваКористувача(Право, ЗначенняЗа замовчуванням, Користувач) Значення, що повертаються= Новий Масив; Запит = Новий Запит; Запит.ВстановитиПараметр("Користувач", Користувач); Запит.ВстановитиПараметр( "Право Користувача", Право); Запит.Текст = "ВИБРАТИ ДОЗВОЛЕНІ РІЗНІ | РеєстрЗначенняПрав.Значення| РеєстрДовідок.ЗначенняДодатковихПравКористувача ЯК РеєстрЗначенняПрав|ДЕ | РеєстрЗначенняПрав.Право = &ПравоКористувача | І РеєстрЗначенняПрав.Користувач В| (ВИБРАТИ | КористувачіГрупи.Посилання ЯК Посилання| З | Довідник.ГрупиКористувачів.КористувачіГрупи ЯК КористувачіГрупи| ДЕ | КористувачіГрупи.Користувач = &Користувач | | ОБ'ЄДНАТИ ВСЕ| | ВИБРАТИ | ЗНАЧЕННЯ(Довідник.ГрупиКористувачів.ВсіКористувачі) | | ОБ'ЄДНАТИ ВСЕ| | ВИБРАТИ | &Користувач)"; Вибірка = Запит. Виконати(). Вибрати(); Якщо вибірка. Кількість() = 0 Тоді Значення, що повертаються. Додати(ЗначенняЗа замовчуванням); Інакше Поки що Вибірка. Наступний() Цикл Значення, що повертаються. Додати(Вибірка.Значення); КінецьЦикл; КінецьЯкщо; Повернення Позначення; КінецьФункції

Функція повертає масив значень прав, заданих для користувача, групи цього користувача та групи "Всі користувачі".

Функція ПравоЕстьКористувача(Право, ЗначенняЗа замовчуванням) МасивЗначеньПрава = ОтриматиЗначенняПраваКористувача(Право, ЗначенняЗмовчанням); Повернення МасивЗначеньПрава.Знайти(Істина)<>НЕ визначено;КінецьФункції

Про групу «Всі користувачі» не варто забувати. До неї входять усі користувачі системи, але рідко хтось дивиться, які права для неї задані. Також не вірним рішенням буде встановлювати значення для цієї групи, якщо ми хочемо, щоб воно діяло для всіх користувачів. Повторюся, пріоритетнішим є профіль, саме в ньому варто редагувати додаткові права.

Варто також додати, що система не читає цей регістр щоразу, а поміщає дані в кеш після першого прочитання і надалі бере дані з нього. Тому значення, встановлене користувачеві, набуде чинності лише у наступному сеансі.

Отже, підіб'ємо підсумки:

Якщо у користувача є роль «Повні права», то значення додаткових прав йому не потрібно задавати, йому і так все дозволено. Якщо користувачеві заданий профіль, то береться значення відповідного профілю. Якщо профіль не заданий, система читає значення для групи, користувача та групи «Всі користувачі», і вибирає одне за принципом якщо дозволено в одному місці, то дозволено взагалі.


Робота в програмі 1С дозволяє різним користувачам призначати функціональний доступ до документів та довідників бази. Наприклад:

  • Якщо користувач працює як бухгалтер, то йому в 1С призначається відповідна роль, що дозволяє додавати, змінювати, видаляти документи та довідники з господарської діяльності.
  • Якщо користувач 1С працює тільки зі звітами і переглядає дані бази, скажімо, менеджер, то йому даються права на читання даних.
  • Користувач, який може працювати з усіма об'єктами програми 1С – Адміністратор, має повні права та отримує необмежений доступ до роботи з базою даних у 1С.

Права доступу може налаштовувати лише Адміністратор- Користувач 1С, якому призначені Повні права.

Встановлення прав доступу до 1С 8.3 Бухгалтерія 3.0

У 1С: Бухгалтерія 8 ред. 3.0 виділено 4 основні профілі для роботи з програмою:

  • Адміністратор;
  • Бухгалтер;
  • Головний бухгалтер;
  • синхронізація з іншими програмами;
  • Лише читання.

Щоб зрозуміти принцип завдання прав на 1С, звернімося до конфігуратора. При аналізі об'єктів конфігурації побачимо спеціальну гілку Ролі, де перераховані всі задані розробниками 1С можливі доступи до даних бази:

Кожній ролі відповідає набір можливостей роботи з об'єктами конфігурації, це –

  • Читання;
  • Додавання;
  • Проведення;
  • Скасування проведення;
  • Редагування;
  • Видалення.

Якщо відкрити якусь задану роль, то кожному об'єкту можна переглянути – що можна робити з кожним об'єктом конфігурації:

Важливо знати, що користувачу 1С можна призначати будь-яку сукупність ролей із заданого розробниками списку. При цьому, якщо в якійсь ролі змінювати об'єкт не можна, а в іншій, доданій цьому користувачеві ролі – можна, то результуюча з прав користувача – можна «змінювати». Ролі взаємно доповнюють одне одного. Для того, щоб об'єкт не міг бути змінений користувачем, у жодній із заданих йому ролей не повинно стояти «Зміна».

Налаштування прав доступу до 1С 8.3 Бухгалтерія

Налаштування прав доступу до 1С 8.3 здійснюється в розділі Адміністрація – Налаштування користувачів та прав:

Відкриється вікно Налаштування користувачів та прав:

Розглянемо можливості налаштування доступу до 1С.

Як створити нового користувача в 1С 8.3

За промовчанням програма 1С виставляє Вхід до програми дозволено, Показувати у списку виборуі вхід до програми за встановленим у 1С логіну та паролю. Пароль можна встановити самостійно, а можна запропонувати задати його програмі. Як правило, пароль, заданий програмою 1С, відповідає більш серйозному рівню перевірки та підібрати такий пароль при зламі системи складніше.

Пароль потрібно пам'ятати! Якщо пароль втрачено, лише Адміністратор може перезадати його заново. Якщо паролі втрачені й у базу не ввійти, доведеться «зламувати» вхід у базу.

Фахівці використовують для цього HEX-редактор і в потрібних місцях змінюють інформацію, яка відповідає за роботу з користувачами. Зробити це можна, але не бажано.

Як налаштувати права доступу на основі типових профілів у 1С 8.3

Кожному користувачеві (Адміністрація – Установки користувачів та прав – Користувачі) призначають права доступу зі списку профілів, що є в конфігурації. Наприклад, для бухгалтера Петрової С.Б. призначаємо профіль Бухгалтер:

Тут же можемо перенести налаштування новому користувачеві від користувача, що вже працює в 1С: налаштування Функціональності, внутрішні налаштування звітів і т.д., щоб не витрачати час і не набирати все вручну:

Відзначаємо налаштування для перенесення новому користувачеві Бухгалтер Петрова від користувача Адміністратор:

Переносимо персональні налаштування, налаштування друку та уподобань:

Натискаємо кн. Вибрати та у формі вибору налаштувань «Скопіювати та закрити». Усі налаштування для нового користувача від користувача Адміністратор перенесено.

Налаштування прав доступу з додаванням нових профілів до 1С 8.3

Створюємо новий профіль з обмеженим доступом до довідників та документів. Профілі груп доступу – Створити:

Новий профіль зручно створювати за підсистемами 1С. Наприклад, для прав Розрахунків можемо відзначити наступний функціонал:

  • Відображення зарплати у бухгалтерському обліку;
  • Читання податків та внесків;
  • Взаєморозрахунки зі співробітниками;
  • Персоніфікований облік;
  • Облік зарплати:

За кн. Тільки обрані ролівідображається список вибраних ролей користувача. Кадровий облік можна встановити окремо для профілю Кадровик.

Як налаштувати додаткові права доступу до вже наявних типових профілів у 1С 8.3

Конкретному користувачеві 1С з вибраним профілем можна додавати функціонал. Наприклад, для користувача Петрова, у профілі Бухгалтер, не доступна команда Усі функції, але ми можемо її додати користувачеві. Заходимо Адміністрація – Налаштування користувачів та прав – Профілі груп доступу. Кн. Створити – режим Усі функції – додаємо права Режим “Всі функції”:

Додаємо новий профіль бухгалтеру Петрової С.Б.:

Налаштування додаткових прав доступу до окремих документів та довідників у 1С 8.3

Ця настройка передбачає роботу з розширенням конфігурації. Допустимо, необхідно налаштувати доступ користувачеві 1С до довільного набору документів та довідників. Набір цих документів і довідників може бути різним – розробники 1С не можуть передбачити всі варіанти під відповідні ролі, які можуть знадобитися користувачам на практиці. Тим більше, що запити на доступ до даних можуть бути неординарними.

У 1С 8.2 нам доводилося знімати заборону редагування з конфігурації та додавати нову роль в об'єкти Ролі, призначаючи доступ до потрібних довідників та документів, і відповідно виникали складнощі з подальшим оновленням 1С. Автоматично такі конфігурації не оновлювалися, тому дозволити собі таке задоволення могли лише користувачі організацій, які мають штаті програмістів 1С.

У 1С 8.3, у зв'язку з появою нової можливості працювати з додатками конфігурації, можемо реалізувати своє завдання щодо розмежування прав користувачів без зняття заборони редагування з основної конфігурації та залишаючи її цілком типовою. Як це зробити – зараз і розглянемо:

  1. Для довідника Користувачівведемо додатковий реквізит «Доступ_Реалізації_Товарів», який прийматиме значення «Так» або «Ні».

Заходимо Адміністрація – Загальні налаштування – Додаткові реквізити та відомості. Включаємо можливість працювати з «Реквізитами та відомостями із загальним списком значень»:

  1. Відкриваємо гіперпосилання Додаткові реквізити.

У лівій колонці переліків об'єктів конфігурації знаходимо Користувачіта натискаємо на кн. Додати. Форму, що відкрилася, заповнюємо як показано нижче. Новий реквізит матиме два значення: «Так» та «Ні». Об'єднаємо значення до групи «Доступ». Заповнюємо закладку Головне:

Заповнюємо закладку Значення:

  1. Тепер заповнимо цей реквізит для наших користувачів.

"Бухгалтер Петрова" - Ні:

"Адміністратор" - Так:

Всі необхідні дії в базі 1С 8.3 зроблено, тепер будемо працювати з розширенням конфігурації.

  1. Входимо до конфігуратора бази даних: Конфігурація – Розширення конфігурації:

Додаємо нове розширення конфігурації за кн. +:

Погоджуємося з обраними за умовчанням даними розширення або задаємо свої:

Відкриваємо конфігурацію розширення за кн. :

Тепер переносимо з основної конфігурації дані, необхідних роботи. Створене розширення конфігурації «Розширення 1» поки порожнє:

В основній конфігурації знаходимо в документах - документ Реалізація товарів та послуг, і переносимо форму з якою будемо працювати. Наприклад, додамо «ФормаДокументаТовари» у розширення конфігурації, ставши на найменування форми та клацнувши по ній правої кн. мишки. З меню вибираємо команду «Додати в розширення»:

Відкриваємо форму у розширенні конфігурації та створюємо обробку події ПередЗаписом. Під час створення обробника події програма 1С 8.3 попросить вказати, де створювати програмний код. Вибираємо: Створити на клієнті та процедуру на сервері без контексту:

При створенні події побачимо у порожній клітинці подій «ПередЗаписом» призначену програмою 1С 8.3 процедуру обробки події: «Розш1_ПередЗаписом»:

Переходимо в модуль форми та вставляємо наступний програмний код:

Оновлюємо зміни та запускаємо базу в режимі користувача для перевірки внесених змін. Входимо під користувачем Бухгалтер Петрова та редагуємо документ Реалізації Товарів та послуг, натискаємо кн. Записати:

Для адміністратора редагування документа пройде без проблем.

Наведений програмний код можна поставити у розширенні конфігурації 1С 8.3 для будь-якого документа та довідника і це дозволить не змінювати типову конфігурацію, але в той же час вирішити проблему доступу до об'єктів бази для різних користувачів.

Як надати доступ до варіанта звіту з індивідуальними налаштуваннями для інших користувачів у 1С 8.3 ЗУП дивіться у нашому відео:

Здрастуйте шановні читачі блогу. Довелося трохи затягнути з черговою статтею у зв'язку з інтенсивною складання звітності і великою кількістю питань, що надходять з цього приводу. До речі, і Ви можете ставити свої запитання в чаті або надсилати повідомлення безпосередньо мені на пошту. Але вистачить реклами) Сьогодні ми поговоримо про нові корисні та цікаві можливості, які нам дарує нова платформа 1С Підприємства 8.3та зміни, побудовані на її основі: Зарплата та Управління Персоналом 3.0і Бухгалтерія Підприємства 3.0.

У статті йтиметься про те, як самостійно налаштувати доступ користувачатільки до тих документів, довідників та звітів, які йому потрібні для роботи та обмежити доступ до інших. У цьому нам допоможе командний інтерфейсз гнучким налаштуванням, що з'явився у програмах 1С редакції 3.0. Обговорювати особливості розмежування прав доступуна об'єкти програми ми будемо на основі конфігурації 1С ЗУП 3.0, але цей механізм можна з успіхом використовувати і для програмного продукту 1С Бухгалтерія Підприємства 3.0. Власне, я й вивчив це питання, коли надавав налаштування користувачів саме в Бух 3.0.

Як створити користувача в звичайному режимі роботи 1С редакції 3.0




Хочу відразу помітити, що працювати ми маємо і зі звичайним користувальницьким режимом експлуатації програми, і з режимом конфігуратора. Також відразу зауважу, що скріншоти в цій статті будуть представлені з нового, що нещодавно з'явився в програмах. 1С редакції 3.0 інтерфейсу «Таксі». Щоб на нього перейти достатньо відкрити сервісне меню і там знайти настройки параметрів. У вікні параметрів групи перемикачів «Зовнішній вигляд» слід вибрати інтерфейс «Таксі» і перезавантажити програму. Хоча, кому зручно може залишатися у звичайному інтерфейсі, всі документи, довідники та налаштування, які я обговорюватиму у статті, ідентичні в цих інтерфейсах.

Розберемо ситуацію, коли ще немає потрібного користувача. Створювати користувача необхідно у звичайному режимі користувача. Переходимо до розділу головного меню «Адміністрування» і там знаходимо пункт «Параметри користувачів та прав».

Якщо потрібно, можна відразу встановити пароль.

Тепер щодо прав доступу для цього нового користувача. Їх не треба встановлювати. У налаштування прав доступу можна потрапити безпосередньо з форми, в якій налаштовується користувач. Достатньо у верхній частині перейти за посиланням «Права доступу». Так ось, необхідно, щоб у правах доступу (і на закладці «Групи доступу», і на закладці «Дозволені дії (ролі)») все було порожньо. Права ми будемо налаштовувати не в режимі користувача, а в конфігураторі 1С, трохи пізніше.

Але щодо цього є важлива особливість. Необхідно, щоб у базі був хоча б один користувач, який має адміністративні права. У мене таким юзером є Адміністратор. Він входить до групи доступу «Адміністратор»і має ролі «Адміністратор системи»і "Повні права".

Тепер нам потрібно перейти в режим конфігуратора і вже в ньому продовжити налаштування. Для цього при запуску 1С вибираємо потрібну базу і натискаємо кнопку «Конфігуратор». Тільки не слід заходити під новим користувачем. Він поки що не має жодних прав, і робота буде неможлива. Заходьте під користувачем з повними правами, в моєму випадку це «Адміністратор».


Після відкриття вікна конфігуратора переконайтеся, що і тут відображається, створений нами новий користувач. Список користувачів у конфігураторі зберігається у розділі головного меню «Адміністрування» -> «Користувачі».

Зверніть увагу, що у користувача стоїть знак запитання. Це означає, що йому визначено жодної ролі, тобто. іншими словами, не встановлено прав доступ. "Ролі" - це об'єкт конфігурації. У кожній ролі встановлюється набір документів, довідників, звітів, до яких має доступ користувач, яка має цю роль. Всі доступні ролі ми можемо побачити, якщо відкриємо користувача і перейдемо на закладку «Інші».

Нагадаю, що нам треба налаштувати доступ співробітника до довільного набору документів, довідників та звітів. При цьому я навіть не став конкретизувати про який набір йдеться, це не так важливо. А важливим є те, що для таких випадків у конфігурації немає і не може бути підходящої ролі. Розробники 1С не в змозі передбачити всі можливі варіанти розмежування доступу до об'єктів, що зустрічаються на практиці. А запити у кінцевого користувача бувають дуже екстравагантні.

Режим редагування типової конфігурації 1с

Семінар «Лайфхакі з 1C ЗУП 3.1»
Розбір 15-ти лайфхаків з обліку в 1с ЗУП 3.1:

ЧЕК-ЛИСТ з перевірки розрахунку зарплати у 1С ЗУП 3.1
ВІДЕО - щомісячна самостійна перевірка обліку:

Нарахування зарплати у 1С ЗУП 3.1
Покрокова інструкція для початківців:

Як Ви, напевно, вже зрозуміли, веду я до того, що нам доведеться створити свою власну роль. У цьому слід обговорити одну важливу деталь. Створення нової ролі означає внесення змін до типової конфігурації. Для тих, у кого конфігурація вже допрацьовувалась і не є типовою, нічого не зміниться. Для початку я розповім, як визначити типову конфігурацію чи вже ні.

По-перше, необхідно відкрити конфігурацію. Для цього у розділі головного меню «Конфігурація» натискаємо "Відкрити конфігурацію". Після цього лівої частини конфігуратора з'явиться вікно з деревоподібної структурою всіх об'єктів інформаційної бази. По-друге, також у розділі головного меню "Конфігурація" переходимо до пункту "Підтримка" -> "Налаштування підтримки". Відкриється однойменне вікно. Якщо вікно має вигляд як на скріншоті, то значить у Вас типова конфігурація. При цьому я маю на увазі наявність напису "Конфігурація знаходиться на підтримці"та наявність кнопки.

Отже, якщо у Вас типова конфігурація, нам доведеться включити можливість її зміни, інакше ми не зможемо створити нову роль. Окремо хочу зазначити, що з точки зору оновлення особливих складнощів не виникне, оскільки ми будемо створювати нову роль, а не змінювати існуючі, тому всі типові об'єкти конфігурації так і залишаться типовими. Для увімкнення можливості редагування конфігурації треба у вікні «Налаштування підтримки»натиснути на кнопку "Включити можливість зміни".

Можливо, в наступних публікаціях я докладніше напишу про такі оновлення. Отже, у цьому вікні треба відповісти «Так».

Далі відкриється вікно «Налаштування правил підтримки», де потрібно вибрати перемикач «Об'єкт постачальника редагується із збереженням підтримки». Для нашого завдання цього буде цілком достатньо. Тільки врахуйте, що після натискання «ОК» доведеться почекати, перш ніж продовжити роботу.

Після цього в дереві об'єктів конфігурації (пам'ятайте, коли ми відкривали конфігурацію, воно у нас відкрилося в лівій частині конфігуратора) повинні зникнути замочки, а у вікні "Налаштування підтримки" з'явиться напис "Конфігурація знаходиться на підтримці з можливістю зміни".

Як створити нову роль у конфігураторі 1С

Семінар «Лайфхакі з 1C ЗУП 3.1»
Розбір 15-ти лайфхаків з обліку в 1с ЗУП 3.1:

ЧЕК-ЛИСТ з перевірки розрахунку зарплати у 1С ЗУП 3.1
ВІДЕО - щомісячна самостійна перевірка обліку:

Нарахування зарплати у 1С ЗУП 3.1
Покрокова інструкція для початківців:

Ось тепер ми можемо розпочати створення нової ролі. Ще раз поясню, що таке «Роль» — це набір прав, які визначають можливість перегляду або редагування довідників, документів та інших конфігураційних об'єктів. Перегляд та редагування – це найбільш зрозумілі варіанти прав доступу, але є багато інших. Щоб стало зрозуміліше, давайте виберемо в дереві об'єктів Роль «Повні права» (Загальні -> Ролі -> Повні права). Відкриється вікно налаштування. У цьому вікні ліворуч перелічені всі об'єкти програми (довідники, документи, звіти та інші), а праворуч ті права, які у цій ролі визначені для кожного з об'єктів. На скріншоті це видно.

Тепер нагадаю завдання. Нам необхідно забезпечувати можливість роботи користувача лише з обмеженим колом документів, звітів та довідників. Найбільш очевидним варіантом є створити нову роль і визначити доступ тільки до потрібних об'єктів. Однак, у конфігурації є велика кількість будь-яких службових об'єктів, таких як константи, загальні форми, загальні модулі, регістри різного призначення та для нормальної роботи користувача необхідно мати доступ до цих загальних об'єктів. Їх досить багато і дуже легко якийсь об'єкт упустити. Тому я запропоную дещо інший підхід.

Давайте створимо нову роль шляхом копіювання типової ролі "Повні права". Цю нову роль назвемо "Роль_Фролова". Для редагування найменування ролі треба зайти у якості і без пробілів задати нове ім'я.

Тепер давайте цю роль встановимо для користувача "Фролова". Перед цим нам треба зберегти інформаційну базу, щоб щойно створена роль з'явилася у списку доступних ролей користувача. Тиснемо клавішу F7 або натискаємо відповідну кнопку в панелі інструментів. Після цього можна встановлювати цю роль нашому користувачеві. Заходимо в список користувачів (Адміністрування -> Користувачі) і на закладці "Інші" ставимо галочку навпроти ролі "Роль Фролова". Тиснемо «Ок».

Поки що ця роль повністю ідентична вихідній («Повні права»). У такому вигляді ми її залишимо. Бувай. А налаштовувати доступ до документів та довідників будемо, використовуючи можливості гнучкого налаштування командного інтерфейсу програми 1С.

Як налаштувати елементи командного інтерфейсу в 1С

Тепер ми маємо повернутися у звичайний користувальницький режим роботи, тобто. як при звичайній роботі в 1С. Нам треба запуститись під нашим новим користувачем – Фролов С.М. Це можна зробити із конфігуратора. Однак попередньо встановити налаштування, щоб під час запуску Підприємства з конфігуратора запитувався користувачем, під яким слід запускатися. Для цього в головному меню вибираємо "Сервіс" -> "Параметри" і на закладці "Запуск 1С:Підприємства" в розділі "користувач" встановлюємо перемикач "Ім'я", тиснемо ОК і можемо запускати режим користувача безпосередньо з конфігуратора. Для цього використовуємо команду з головного меню "Сервіс" -> "1С:Підприємство". І не забудьте, що вибрати ми маємо користувача Фролова.

Коли програма запуститься під користувачем Фроловим, йому будуть доступні всі об'єкти, оскільки його роль створена копіюванням повних прав і ми нічого не змінювали. Припустімо, що для цього користувача потрібно залишити лише можливості кадрового ведення обліку, але не всі, а лише прийом, переміщення та звільнення. Для початку треба прибрати всі зайві розділи та залишити лише один – «Кадри».

Для цього заходимо у службове меню Вид -> Налаштування панелі розділів. У вікні переносимо всі непотрібні розділи з правої колонки в ліву.

Тепер зверніть увагу, що у нас залишиться лише 2 розділи «Головне» та «Кадри». "Головне" ми прибрати не можемо, тому необхідно в цьому розділі залишити лише потрібні посилання. Для цього переходимо в цей розділ і в правому верхньому куті тиснемо «Налаштування навігації». Це вікно схоже на те, в якому ми прибирали зайві розділи, і воно має такий же принцип роботи. У правій колонці залишаємо лише потрібні документи та довідники.

І в результаті в розділі «Головне» у нас вийде лише необхідний кадровику набір документів, звітів та довідників.

Що стосується розділу «Кадри», то його можна залишити у вихідному вигляді або налаштувати тонше, якщо, наприклад, кадровик не повинен мати справу з лікарняними, відпустками та декретними. Так само в панелі навігації ці документи можна прибрати. На цьому я докладно зупинятись не буду, оскільки це вже залежить від конкретного завдання.

Відзначу лише один елемент, який також потрібно налаштувати, щоб уникнути можливості доступу користувача до закритих для нього даних. Цим елементом є "Початкова сторінка» або як її ще називають "Робочий стіл". Він автоматично відкривається при запуску режиму користувача. Для налаштування початкової сторінки слід відкрити службове меню Вигляд -> Налаштування початкової сторінки. Відкриється вікно, в якому з переліку доступних форм можна налаштувати склад лівої та правої колонки. Вибір доступних форм не такий вже й великий. Так, наприклад, для нашої ситуації, де співробітник займається кадрами, не слід давати йому доступ до такої форми як «Розрахунок зарплата: Форма». Але я вирішив взагалі прибрати всі форми, щоб зайвий раз не спокушати користувача. Початкова сторінка буде порожньою.

Остаточне настроювання ролі користувача в конфігураторі 1С

Отже, припустимо, що ми налаштували доступ до всіх необхідних документів та довідників для нашого кадровика, використовуючи можливості командного інтерфейсу. Тепер головне питання як зробити так, щоб користувач сам не зміг відкрити налаштування інтерфейсу і відкрити собі доступ до заборонених документів. Для цього слід повернутися до конфігуратора та в дереві об'єктів конфігурації вибрати Загальні -> Ролі -> Роль_Фролова. Відкриваємо цю роль. Тепер у вікні, що відкрилося, позиціонуємо курсор на написі «ЗарплатаІУправлінняПерсоналом», а в колонці «Права» шукаємо налаштування «Збереження даних користувача». Забираємо галочку навпроти цього налаштування. Це означає, що користувач сам не зможе налаштувати вміст панелей розділів, навігаційної панелі та робочого столу, а значить з командного інтерфейсу не отримає доступ до заборонених розділів.

Щоб переконатися в цьому, можна зайти в базу під користувачем Фроловим і спробувати відкрити налаштування розділів або навігації. При цьому у службовому меню пункту «Вигляд» ви не знайдете. Він став недоступним, оскільки ми прибрали роль Фролова право на «Збереження даних користувача».

Таким чином ми обмежили користувачеві видимість об'єктів лише тими довідниками, документами та звітами, які йому справді потрібні для роботи. При цьому в режимі конфігуратора в правах цього співробітника відредагували лише одну галочку.

Однак, це ще не все. Ми обмежили доступ до заборонених об'єктів. Однак користувач може потрапити до небажаного довідника або документа з доступного йому документа. Так наш кадровик Фролов із документа «Прийом на роботу» може відкрити довідник «Організації» та випадково чи цілеспрямовано змінити там якісь дані. Щоб схожої ситуації не сталося, слід переглянути та проаналізувати всі об'єкти, які пов'язані з доступними користувачем документами та довідниками. А потім у конфігураторі відкрити роль нашого користувача та заборонити редагування чи взагалі перегляд небажаних об'єктів. Конкретний варіант вибирати Вам самим, залежно від поставленого завдання.

От і все! Досить складне завдання ми вирішили не дуже складним способом. Той, хто дочитав до кінця, може по праву пишатися собою) Якщо я щось упустив і у Вас є зауваження, буду радий і побачити в коментарях до статті.

Незабаром з'являться нові цікаві матеріали.

Щоб дізнатися першими про нові публікації, підписуйтесь на оновлення мого блогу:

Система прав доступудозволяє описувати набори прав, які відповідають посадам користувачів чи виду діяльності. Структура прав визначається конкретним прикладним рішенням.

Крім цього, для об'єктів, що зберігаються в базі даних (довідники, документи, регістри тощо) можуть бути визначені права доступу до окремих полів та записів. Наприклад, користувач може оперувати документами (накладними, рахунками тощо) певних контрагентів і мати доступу до аналогічних документів інших контрагентів.

Ролі

Задля реалізації обмеження прав доступу прикладних рішеннях призначені спеціальні об'єкти зміни - Роли. .

Інтерактивні та основні права

Усі права, що підтримуються системою 1С:Підприємство, можна поділити на дві великі групи: основні та інтерактивні. Основні права описують дії, що виконуються над елементами даних системи або над усією системою в цілому, і перевіряються завжди незалежно від способу звернення до даних. Інтерактивні права описують дії, які можуть бути виконані користувачем інтерактивно. Відповідно перевіряються вони лише при виконанні інтерактивних операцій стандартними способами, причому у клієнт-серверному варіанті всі перевірки прав (крім інтерактивних) виконуються на сервері.

Основні та інтерактивні права взаємопов'язані. Наприклад, існує основне право Видалення, якому відповідають два інтерактивні права: Інтерактивне видалення та Інтерактивне видалення позначених. Якщо користувачу заборонено Видалення, всі інтерактивні "видалення" також будуть заборонені для нього. У той же час, якщо користувачеві дозволено інтерактивне видалення позначених, це означає, що видалення йому також дозволяється.

Крім того, основні права можуть залежати одне від одного. В результаті утворюються досить складні ланцюжки взаємозв'язків, які відстежуються системою автоматично: як тільки розробник знімає дозвіл на якесь право, система сама знімає дозволи на всі права, які залежать від цього права. І навпаки, при встановленні будь-якого права розробником система сама встановлює всі права, від яких це право залежить.

Наприклад, для того, щоб користувач мав право Ітерактивне видалення помічених, йому необхідно мати інтерактивне право Редагування. Це право, своєю чергою, вимагає наявності інтерактивного права Перегляд:

Право Інтерактивне видалення помічених Вилучення. Інтерактивне право Редагуваннявимагає наявності основного права Зміна. Інтерактивне право Переглядвимагає наявності основного права Читання.

Крім цього, основні права Змінаі Вилученнявимагають наявності основного права Читання.

Обмеження доступу до даних на рівні записів та полів

Серед дій над об'єктами, що зберігаються в базі даних (довідниками, документами тощо), є дії, які відповідають за читання або зміну інформації, що зберігається в базі даних. До таких дій належать:

  • читання - отримання записів чи його фрагментів з таблиці бази даних;
  • додавання – додавання нових записів без зміни існуючих;
  • зміна – зміна існуючих записів;
  • видалення - видалення деяких записів без внесення змін до решти.

Для цих дій у процесі налаштування ролей можуть бути задані додаткові умови на дані (обмеження доступу до даних). У цьому випадку над конкретним об'єктом, що зберігається в базі даних, може бути виконана запитана дія лише в тому випадку, якщо обмеження доступу до даних для даних цього об'єкта набуває значення "істина". Аналогічні умови можуть бути і для таблиць бази даних, які мають об'єктної природи (регістрів).

Для об'єктних таблиць і регістрів відомостей може бути задані різні обмеження щодо різних полів таблиці, що дозволяє визначати обмеження як лише на рівні записів бази даних, а й у рівні окремих її полів:

Обмеження доступу до даних є умовою, описаною мовою, яка є підмножиною мови запитів. Ця умова застосовується для кожного запису таблиці бази даних, над якою виконується операція. Якщо умова набуває значення "істина", то операція виконується, а якщо ні, то не виконується. Умову обмеження доступу можна уточнити за допомогою інструкцій препроцесора (#ЯКЩО<условие>, #ТОДИ.. та ін), що зробить його більш ефективним. При перегляді списків та формуванні звітів існує можливість забезпечити відображення лише даних, доступ до яких користувачеві дозволено.

Для регістрів накопичення, бухгалтерського обліку та розрахунку умови дозволяють розмежувати доступ за значеннями вимірювань (для регістрів бухгалтерського обліку за балансовими вимірами), а для об'єктних даних та регістрів відомостей умови дозволяють розмежовувати доступ до даних за будь-якими полями.

Умови обмеження можна ввести вручну або створити за допомогою конструктора обмежень доступу до даних.

Параметри сеансу

Параметри сеансу є об'єктами прикладного рішення, які призначені для використання в обмеженнях доступу до даних для поточного сеансу (але можуть застосовуватись і для інших цілей). Їх значення зберігаються протягом цього сеансу 1С:Підприємства. Використання параметрів сеансу дозволяє знизити час доступу до даних при обмеженні доступу на рівні записів та полів. .

Виконання на сервері без перевірки прав

Привілейовані модулі

Існує можливість призначення привілейованих модулів. У такі модулі можуть бути перенесені операції, які використовують дані, на які поточний користувач не має прав.

Наприклад, користувачеві можуть бути призначені права, що дозволяють створювати новий документ. Однак жодних прав на регістр, у якому цей документ створює рухи під час проведення, користувачеві не надано. У такій ситуації процедура проведення документа може бути винесена до привілейованого модуля, який виконується на сервері без перевірки прав. В результаті, незважаючи на те, що відповідний регістр для користувача недоступний, користувач все ж таки зможе проводити створені ним документи.

Привілейований режим виконання програмного коду

Привілейований режим виконання коду, аналогічний режиму роботи коду привілейованих модулів, можна увімкнути/вимкнути засобами вбудованої мови. Для цього у глобальному контексті передбачено процедуру ВстановитиПривілейованийРежим(), а також функція Привілейований режим (), яка дозволяє визначити, чи включений привілейований режим, чи ні.

Використання привілейованого режиму дозволяє, по-перше, прискорити роботу, оскільки не накладатимуться обмеження доступу до даних, а по-друге, дозволяє виконувати операції з даними від імені користувачів, яким ці дані недоступні.

Привілейований режим рекомендується використовувати тоді, коли з логічної точки зору потрібно вимкнути перевірку прав або коли можна вимкнути перевірку прав, щоб прискорити роботу. Допустимо використовувати привілейований режим тоді, коли робота з даними від імені деякого користувача не порушує встановлені для цього користувача права доступу.

1С має вбудовану систему прав доступу (ця система називається – ролі 1С). Ця система є статичною – як адміністратор поставив права 1С, і буде.

Додатково діє динамічна система прав доступу (називається – RLS 1С). У ній права 1С динамічно обчислюються на момент роботи користувача виходячи з заданих параметрів.

Однією з найпоширеніших налаштувань безпеки в різних програмах є набір дозволів на читання/запис для груп користувачів і далі – включення чи виключення користувача з груп. Наприклад, подібна система використовується у Windows AD (Active Directory).

Така система безпеки у 1С називається – Ролі 1С. Ролі 1С - це , який знаходиться в конфігурації в гілці Загальні / Ролі. Ролі 1С виступають як групи, для яких призначаються права 1С. Далі користувач включається або виключається із цієї групи.

Натиснувши двічі назву ролі 1С — Вам відкриється редактор прав для ролі 1С. Зліва – список об'єктів 1С. Виділіть будь-який і праворуч відобразяться варіанти прав доступу (як мінімум: читання, додавання, зміна, видалення).

Для верхньої гілки (назва поточної конфігурації) встановлюються адміністративні права 1С та доступ на запуск різних варіантів.

Усі права 1С поділені на дві групи – «просто» право і таке право з додаванням «інтерактивне». Що це означає?

Коли користувач відкриває будь-яку форму (наприклад, обробку) і натискає на ній кнопку – то програма вбудованою мовою 1С виконує певні дії, наприклад, видалення документів. За дозвіл цих дій (виконуваних програмно) відповідають «просто» права 1С.

Коли користувач відкриває журнал і починає щось робити з клавіатури самостійно (наприклад, вводити нові документи) – це «інтерактивні» права 1С.

Користувачеві може бути доступно кілька ролей, тоді дозволи складаються.

Розріз можливостей встановлення прав доступу з допомогою ролей – об'єкт 1С. Тобто Ви можете або увімкнути доступ до довідника або вимкнути. Включити трохи не можна.

І тому існує розширення системи ролей 1С під назвою 1С RLS. Це динамічна система прав доступу, яка дозволяє частково обмежити доступ. Наприклад, користувач бачить лише документи щодо певного складу та організації та не бачить інші.

Обережно! При використанні заплутаної схеми RLS 1С у різних користувачів можуть бути питання, коли вони спробують звірити той самий звіт, сформований з-під різних користувачів.

Ви берете певний довідник (наприклад, організації) та певне право (наприклад, читання). Ви дозволяєте читання для участі 1С. На панелі Обмеження доступу до даних Ви встановлюєте текст запиту, який повертає ІСТИНА або БРЕХНЯ залежно від налаштувань. Настройки зазвичай зберігаються в регістрі відомостей (наприклад, регістр відомостей конфігурації Бухгалтерія НалаштуванняПравДоступуКористувачів).

Цей запит виконується динамічно (при спробі реалізувати читання) для кожного запису довідника. Таким чином, для тих записів, для яких запит безпеки повернув ІСТИНА – користувач побачить, а решта – ні.
Права 1С, на які встановлені обмеження RLS 1С, підсвічені сірим.

Копіювання тих самих налаштувань RLS 1С робиться за допомогою шаблонів. Ви робите шаблон, називаєте його (наприклад) Мій Шаблон, у ньому вказуєте запит безпеки. Далі, в налаштуваннях права доступу 1С вказуєте ім'я шаблону так: «#МойШаблон».

Під час роботи користувача в режимі 1С Підприємство, при роботі RLS 1С, може з'являтися повідомлення про помилку «Недостатньо прав» (наприклад, на читання довідника Ххх).

Це означає, що RLS 1С заблокувала читання кількох записів.

Для того, щоб такого повідомлення не з'являлося, необхідно в тексті запиту вбудованою мовою 1С використовувати слово ДОЗВОЛЕНІ ().

Наприклад:



Розповісти друзям