Задача разграничения прав доступа в крупных холдингах (от 5000+ сотрудников) является одной из самых сложных в конфигурации 1С:ЗУП 3.1. Стандартный механизм RLS (ограничение доступа на уровне записей) часто оказывается недостаточно гибким для работы с подразделениями, а его неправильная настройка ведет к серьезному снижению производительности сервера базы данных SQL.
Рассмотрим, как подходить к решению этой задачи, опираясь на опыт практиков и учитывая архитектурные особенности системы.
Типовой функционал ЗУП 3.1 предлагает ограничение доступа по Группам доступа физических лиц. Однако при штате в несколько тысяч человек и сотнях подразделений возникают следующие проблемы:
RLS-шаблонах каждое формирование отчета или открытие списка приводит к дополнительным запросам к SQL, что может вызвать «замирание» системы.ФизЛицам может либо блокировать доступ к данным, либо, наоборот, открывать лишнее.ФизЛица, система выдаст ошибку, что вынуждает администраторов расширять права искусственно.Один из рабочих методов — использование Групп доступа физических лиц в сочетании с собственной обработкой по их актуализации. Вместо того чтобы вручную назначать права, мы создаем регламентное задание, которое:
Группы доступа.Это позволяет использовать штатный механизм 1С, снижая нагрузку на систему по сравнению с «тяжелыми» самописными правилами RLS. Важно при этом выстроить структуру организации так, чтобы переводы между подразделениями были минимизированы или жестко регламентированы.
Если типовой RLS не подходит из-за падения производительности, многие специалисты выбирают путь разработки через Расширения. Суть метода заключается в перехвате события ПриОткрытии форм списков и наложении программных фильтров.
Порядок реализации:
Расширение конфигурации для добавления логики фильтрации.ПриСозданииНаСервере форм списков документов (начисления, выплаты) добавляем параметры отбора для динамических списков.Преимущество этого метода в том, что он работает значительно быстрее, так как фильтрация происходит на этапе отрисовки интерфейса, а не в глубине SQL-запросов к системе прав доступа. При этом важно «закрыть» все отчеты, используя КомпоновщикНастроек, чтобы пользователи не могли получить данные через них.
Работая с крупными базами, учитывайте следующие рекомендации:
НачислениеЗарплатыИВзносов, Ведомости) строго в разрезе конкретных подразделений или юридических лиц. Это позволит избежать пересечений прав.ФизическиеЛица без доступа к их персональным данным и начислениям.RLS, убедитесь в высокой производительности дисковой подсистемы (RAID 10 на SSD) и объеме оперативной памяти сервера не менее 32-64 Гб, так как 1С будет активно потреблять ресурсы на проверку условий доступа.Подводя итог, «красивого» универсального решения для 5000+ сотрудников в ЗУП 3.1 ПРОФ нет. Наиболее надежный путь — это сочетание автоматизированного управления группами доступа и грамотной настройки форм через расширения, что позволяет обеспечить баланс между безопасностью данных и отзывчивостью системы.