Доступ на уровне записей в типовых конфигурациях. Настройка доступа пользователей с разделением по подразделениям/складам – практический пример

07.12.20

Администрирование - Роли и права

Многим известно, что в современных конфигурациях, разработанных с использованием БСП, имеются широкие возможности для настройки прав доступа. В частности, реализован функционал разделения доступа на уровне записей (RLS). Однако администратор(разработчик) при планировании схемы доступа в организации неминуемо столкнется со сложностями, если временами путается в понятиях: Группы пользователей/Группы доступа/Профили групп доступа. В статье представлен принцип решения типичной задачи – ограничения прав пользователя на просмотр/изменение информации «чужих» складов и подразделений в конфигурации 1С: Управление торговлей 11.4.

С задачей «как сделать так, чтобы кладовщик Иванов видел документы только своего склада?» сталкивался, наверное, каждый администратор/разработчик. «Продвинутые» специалисты знают, что в конфигурациях на основе БСП доступен механизм разделения доступа на уровне записей, он же RLS и автоматически посоветуют заказчику самостоятельно настроить доступ с использованием данного функционала и не отвлекать специалистов по пустякам.

С одной стороны, это хорошо, что данная возможность предоставляется типовыми средствами, а с другой – этой возможностью еще нужно уметь воспользоваться, что, поверьте, не так и очевидно.

Итак, пусть в типовой УТ требуется ограничить доступ нескольких кладовщиков/менеджеров/продавцов только к своим складам/подразделениям. Другими словами, предоставить стандартный для выполняемых данными работниками обязанностей перечень ролей, при этом ограничить эти возможности только одним складом/подразделением, то есть:

  1. Ограничить возможность просмотра/выбора документов, оформленных на иные склады/подразделения, в списках и журналах.
  2. Не отображать в соответствующих справочниках иных складов/подразделений.
  3. Не позволять оформлять документы на иные подразделения.

Начать следует с включения функциональных опций в разделе НСИ и Администрирование – Настройка пользователей и прав. Далее будем работать только с этой командой, поэтому сообщать ниже ее расположение не буду.

 

 

Для активации функционала ограничения доступа следует включить функциональную опцию Ограничивать доступ на уровне записей. Можно дополнительно настроить вариант работы: стандартный и производительный. Если кратко, то рекомендовано использовать вариант производительный, а в случае, когда начнут возникать проблемы, переключить на стандартный.

Для большего удобства назначения наборов прав пользователей (особенно при их серьезном количестве) рекомендую включить опцию Группы пользователей – о ней речь пойдет далее.

Теперь нужно настроить группы доступа для каждого склада/подразделения.

В типовой конфигурации изначально имеется несколько наборов групп доступа и удобно воспользоваться ими для создания отдельных групп доступа для каждого склада/подразделения.

Например, на основании групп доступа: Кладовщик, Менеджер по продажам, Менеджер по закупкам следует создать такие же по доступным ролям группы, но с ограничением по каждому из складов: Кладовщик (Магазин 1), Кладовщик (Магазин 2)…

Это удобно сделать копированием типовых групп доступа с последующей доработкой каждой.

Если планируется создание нескольких групп, объединенных в рамках каждого склада(магазина), удобно заранее создать группы в справочнике для каждого из разделителей, и новые группы доступа сосредотачивать по группам. Хотя соглашусь, что понятие Группы групп доступа находится за рамками логики.

 

 

Группы доступа в дальнейшем будут назначаться конечным пользователям (их группам) и предоставлять права в рамках ролей, определенных в соответствующем профиле групп доступа.

Если вводить группы копированием советующих, то новой группе назначается профиль копируемой. Если же создается новая группа, то следует подобрать подходящий профиль из набора предопределенных.

 

 

Когда функциональная опция Ограничивать доступ на уровне записей включена, в форме справочника Группы доступа появляется закладка Ограничение доступа.

В верхней таблице приведены варианты видов доступа и значение доступа (вариант ограничения). В данную таблицу нельзя добавлять строки, можно лишь изменять значение доступа на один из двух вариантов: Все разрешены(по умолчанию) и все запрещены.

Вариант «все запрещены» предоставляет доступ только к указанным в нижней таблице значениям соответствующих данных – например, элементов справочника склады.

«Все разрешены» разрешает доступ ко всем советующим значениям доступа, за исключением указанных в нижней таблице.

В нашей задаче требуется предоставить доступ только к одному складу/подразделению, поэтому воспользуемся первым вариантом и добавим единственный нужный склад/подразделение для каждой группы.

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

Настала очередь назначения пользователям созданных групп доступа.

Сделать это можно как минимум тремя способами:

  1. В группе доступа на закладке Участники группы включить пользователей в текущую группу.
  2. В списке пользователей выбрать пользователя. В форме пользователя на закладке права доступа по кнопке Включить в группу добавить необходимые роли.
  3. Если включена опция группы пользователей, то добавить роли можно каждой из групп.

Рассмотрим 3-й способ.

Порядок включения в группы доступа для групп и для отдельных пользователей аналогичен:

 

 

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

При создании нового пользователя в рамках группы, этому пользователю по умолчанию назначаются группы доступа, определенные для пользовательской группы.

При переносе из группы в группу (например, при переводе работника на другой склад) группы доступа по умолчанию определяются по новой группе.

 

 

После настройки групп доступа и включения в них пользовательских групп рекомендуется проверить работу ограничений, для этого создать тестового пользователя и переносить его в разные группы доступа.

Запустив сеанс тестового пользователя следует убедиться, что, например, в справочнике Склады/Магазины имеется только один «свой» склад.

 

Замечания:

  1. Разработчикам/администраторам следует иметь ввиду, что Группы пользователей не являются группами иерархии справочника Пользователи в понимании платформы. Группы пользователей реализованы в виде отдельного справочника, связанного с пользователями через регистр сведений Состав групп пользователей.
  2. При назначении групп доступа пользователям с ограничением доступа необходимо учитывать, что ограничение доступа пользователя будет срабатывать, если пользователю назначены группы доступа, в каждой из которых задано ограничение по одному складу. Если в какой-либо группе не установлено ограничение по складу или это ограничение не доступна, задача разделения по складам не будет решена.

Например, на рисунке выше в списке ограничений есть ограничение по складам, но отсутствует ограничение по  подразделениям.

Однако есть способ добавления вида ограничения в группе доступа, если такое ограничение не предусмотрено. Для этого необходимо изменить профиль групп доступа. При этом нужно понимать, что профили, имеющиеся в справочнике изначально, являются предопределенными и их изменение невозможно. Для дополнения ограничений следует создать новый профиль путем копирования советующего предопределенного. При этом в новый профиль копируются доступные роли и ограничения.

Например, скопировав профиль работник склада, создать новый Работник склада с ограничениями.

 

 

При редактировании нового (непредопределенного) профиля на закладке Ограничения в верхней таблице доступна кнопка Добавить, позволяющая задать новое ограничение, например по подразделениям.

 

 

В отличие от группы доступа в качестве значения доступа предлагается выбор из четырех вариантов:

  1. Все запрещены, исключения назначаются в группах доступа
  2. Все разрешены, исключения назначаются в группах доступа
  3. Все запрещены, исключения назначаются в профиле
  4. Все разрешены, исключения назначаются в профиле

Для первых двух вариантов заполнение нижней таблицы не предусмотрено. Для нашей задачи целесообразно выбрать 1-й вариант. 2-й тоже подходит, только в группе доступа при назначении ограничения по складу потребуется изменить значение по умолчанию.

Теперь подготовленные профили с ограничениями можно назначать группам доступа, при этом назначая конкретны склады/подразделения для каждой группы.

Следует отметить, что в отдельных типовых конфигурациях, например 1С: Бухгалтерия предприятия 3.0, в списках ограничений доступа могут присутствовать виды, недоступные для использования, так как их функционал не реализован.

RLS Доступ разделение Ограничить по складу подразделению

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122102    670    389    

714

Запрет доступа к данным по зарплате для БП 3.0 и КА 2.5

Зарплата Роли и права Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Молдова Россия Казахстан Бухгалтерский учет Платные (руб)

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5700 руб.

27.05.2021    32728    204    89    

165

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2972    13    1    

34

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3521    11    1    

34

Расширение для разграничения доступа к контрагентам и обработка для группового назначения доступа для Бухгалтерии (RLS) 3.0.143.42

Роли и права Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение предназначено для Бухгалтерии предприятия (версии ПРОФ и КОРП). Типовая конфигурация остается на поддержке. С помощью расширения менеджер по продажам будет иметь доступ к контрагентам и списку их документов только в случае, если он является для них ответственным. Пользователю с полными правами также доступна обработка «Назначение ответственных» для группового добавления/удаления ответственного в карточке контрагента. Есть версия данного расширения для клиентов Fresh - в магазине расширений (Fresh)

9360 руб.

14.09.2022    5759    7    4    

9

Роли для кладовщика

Логистика, склад и ТМЦ Роли и права Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Расширение, которое позволяет использовать отдельные роли для доступа к складским документам, для доступа к документам раздела "Производство" и для доступа к документам раздела "Покупки".

2520 руб.

21.05.2019    1692306    552    192    

133

Универсальная система оповещений в базе или по почте по произвольным условиям, расписанием, ролям и пользователям (Расширение / конфигурация для платформ 8.3.6+, для ЛЮБЫХ баз)

Роли и права Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

Данная система разработана как альтернатива стандартной системе напоминаний. Но имеет ряд существенных преимуществ: отображение в базе или с отправкой по почте, свое расписание, возможность фильтрации по ролям и пользователям, формирование своих запросов и макетов, шаблоны писем, работа в фоне. А также может блокировать работу пользователей при заданных условиях. Может работать в составе любой конфигурации. Имеется справка с описанием возможностей. (Обновление от 20.02.2024, версия 2.2, расширение)

18000 руб.

29.11.2019    24688    13    8    

33
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. DrZombi 286 30.11.20 08:43 Сейчас в теме
Осталось только Конфигурацию правильно настроить.
2. Cyberhawk 135 06.12.20 14:18 Сейчас в теме
«Все разрешены» запрещает доступ ко всем советующим значениям доступа, за исключением указанных в нижней таблице.
Кажется, здесь противоречие
3. Sergey1CSpb 215 06.12.20 20:07 Сейчас в теме
(2) Иными словами: ко всем кроме указанных - мне представляется вполне допустимым выражением.
4. Sergey1CSpb 215 07.12.20 10:58 Сейчас в теме
(3) Перечитал еще раз. Вы правы, сейчас исправлю!
5. info1i 223 29.03.21 11:41 Сейчас в теме
В публикации отсутствует важный момент - влияние на производительность.
Доступ можно настроить, но если после этой настройки работа пользователей невозможна или не укладывается в нужные сроки, то по сути настройка явилась вредительством.
bloodydiman; +1 Ответить
6. bloodydiman 1 08.11.21 16:04 Сейчас в теме
(5) Мы как раз столкнулись с проблемой производительности, особенно в части динамических списков. Описана ли где-то методика настройки этой системы, чтоб ущерб был минимальным?
7. Sergey1CSpb 215 08.11.21 16:11 Сейчас в теме
(6)Вот тут, например
https://its.1c.ru/db/metod8dev/content/4349/hdoc

Но вряд ли это поможет решить конкретную ситуацию. Здесь многое будет зависеть от версии платформы и СУБД, объема базы, количестве пользователей.
Возможно, требуется запросы анализировать. Если сложность в "типовом участке" конфигурации, можно в техподдержку обратиться. А если в доработанном, лучше озадачить этим разработчика.
Проконсультироваться с "1С экспертом" можно в любом случае.
8. bloodydiman 1 08.11.21 16:32 Сейчас в теме
(7) В основном проблемы с "типовыми участками" конфигурации. В техподдержке просят выслать замеры и т.п. с использованием КИП. Но у нас его нет, а бесплатно он нам не доступен, так как нужна платформенная лицензия КОРП, плюс у нас Линукс используется, что затрудняет мониторинг. Замкнутый круг получается.
Поэтому возник вопрос, как должна выглядеть эталонная настройка. Можно ли назначать роли в профили пользователю в перемешку (часть на группу, часть самому пользователю), допускается ли пересечение ролей и т.п.
9. Sergey1CSpb 215 08.11.21 16:46 Сейчас в теме
(8) Да уж, что-то они излишнее просят. Мне кажется, анализа через Query Analyzer'а было бы достаточно. Но, понятно, что так сложнее - все это изучать.

Можно ли назначать роли в профили пользователю в перемешку (часть на группу, часть самому пользователю), допускается ли пересечение ролей и т.п.

Думаю, что все это допускается. Скорее всего, не в этом проблема, а именно в работе запросов по ограничениям конкретных ролей.

Вы пробовали оба варианта работы ограничений: стандартный и производительный?
10. bloodydiman 1 09.11.21 14:35 Сейчас в теме
пробовали пока только производительный
11. vat-74 166 16.12.21 12:21 Сейчас в теме
Возможно ли дать доступ к группе складов? Если выбрать конкретные склады, то ограничение работает, а если выбрать Группу складов, т.е. родителя всех тех элементов, то ограничение не работает.
12. Sergey1CSpb 215 16.12.21 12:29 Сейчас в теме
(11) Интересный вопрос. Но, похоже, что нет в типовой такого. Тут БСП обновленная появилась, в ней, возможно что-то будет.
Но пока, думаю, в принципе, вполне возможно условие запроса чуть переделать, чтобы выполнялась проверка вхождения в группу. Ну, или при записи ограничений делать подмену группы на все ее элементы с условием равенства.
14. NicSit73 14 27.04.23 10:18 Сейчас в теме
(11) Вот БСП 3.1.7.261 можно включить с иерархией
Прикрепленные файлы:
Sergey1CSpb; +1 Ответить
13. vladimir-89 24 04.08.22 12:38 Сейчас в теме
я ограничил доступ по организации, но документы, например, приходные кассовые ордера доступны для просмотра... При этом реквизита "Организация" я не вижу в этом документе. Конфигурация УТ 11.4
Запросом выбрал документы по "запрещенной" организации, их открыть можно...

Что я сделал не так?
Оставьте свое сообщение