Разграничение прав доступа по подразделениям в 1С: ЗУП КОРП / 1С:ERP

039a0c9507dcec91f3f77cdd3f79bff1.png

Итак, суть проблемы: если на предприятии необходимо ограничить права пользователей в разрезе подразделений, то типовой механизм, реализованный в »1С: ЗУП КОРП», нам не поможет, так как полноценное ограничение доступа по подразделениям в программе не поддерживается, и на данный момент ограничения доступа по подразделениям распространяются только на штатное расписание.

Авторы:

7f63381b8f454571bed636ee46e0c8aa.pngЕлена Мордовина,

консультант-аналитик по »1С: ЗУП» Внедренческого центра «Раздолье»

4fd53e0e93ef2dbe36168f2eab62c36a.pngАйрат Файзрахманов,

руководитель проектов Внедренческого центра «Раздолье»

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

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

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

Чтобы исправить эту ситуацию, мы разработали и внедрили механизм разграничения прав по подразделениям на уровне RLS, который позволяет, например, ограничить права расчётчиков с привязкой к определённому подразделению [при этом учитывается тот факт, что сотрудники могут перемещаться между подразделениями].

Цепочка из групп доступа по сотруднику (физическому лицу) формируется автоматически в момент проведения кадровых документов. В справочниках и отчётах сотрудники с действующей группой доступа выводятся для каждого определённого расчётчика.

Приведём пример запроса заказчика с численностью сотрудников более 8 000

Задача: разграничить доступ пользователей по подразделениям. Расчётчику в базе для работы необходимо видеть только сотрудников своих подразделений, при этом сотрудники могут перемещаться между подразделениями.

Справочник «Штатное расписание» доступен для просмотра без ограничений доступа, но без возможности вывода на форму списка колонок «Оклад тариф» и «ФОТ». Документы «Утверждение ШР», «Изменение ШР» доступны с учётом ограничения доступа по подразделениям.

Отчёты формируются по сотрудникам с учётом действующей группы доступа.

Реализация:

  1. Включаем механизм «Ограничение доступа на уровне записей»:

  • Доступ с точностью до физических лиц,

  • Доступ к штатному расписанию по подразделению.

2e82beec5af65fda1f349694486c23a4.png

  1. Описываем группы доступа физических лиц.

Добавить картинку

Добавить картинку

?utm_source=habrahabr&utm_medium=rss&utm

3. Присваиваем группы доступа подразделениям/физическим лицам.

f087f9b99e728ee53c49e25da08b2ef3.png

При приёме нового сотрудника группа доступа назначается вручную. Если в программе включен раздел «Подбор персонала», группа доступа будет назначаться автоматически в момент утверждения кандидата.

aed179f87a50d12d1bea16b1501cbd00.png

При перемещении сотрудника из одного подразделения в другое физическому лицу автоматически присваивается группа доступа действующего подразделения, и образуется цепочка групп доступа -двойная, -тройная и т.д., в зависимости от количества переводов между подразделениями.

b68c56780e7c70ea0ff5793bb460e5a6.png

Настройка прав доступа пользователям

  • Права доступа для пользователей настраиваем в справочнике «Профили групп доступа». В профилях настраиваем роли пользователей (т.е какие действия они могут совершать в программе).

  • Настраиваем группы доступа в справочнике «Группы доступа», где указываем:  кто из пользователей с какими группами доступа имеет право работать и с какими ограничениями.При перемещении сотрудника из одного подразделения в другое цепочки, созданные по группам доступа, автоматически добавляются в «Группу доступа» для подразделения до и после перевода.

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

173f5d1d94b15d339160ad996ffb47d5.png

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

© Habrahabr.ru