Разберем типичную практическую ситуацию: в информационной базе конфигурации 1С:Управление торговлей 11 долгое время работали без включения ограничений прав доступа, когда каждый сотрудник видел общую клиентскую базу. В определенный момент появляется новый пользователь (например, менеджер-стажер или сторонний агент), которому необходимо закрыть видимость всех уже существующих клиентов и разрешить работу исключительно со своей собственной клиентской базой. При попытке массово настроить права многие сталкиваются с затруднением: в справочнике контрагентов нужный реквизит для ограничения попросту отсутствует.
Проанализируем архитектуру конфигурации, выясним причину такого поведения системы и пошагово выполним групповое назначение группы доступа ко всем элементам.
Для правильного понимания механизма ограничений нам необходимо вспомнить разделение управленческого и регламентированного учета в современных конфигурациях 1С. В системе присутствуют два тесно связанных справочника:
СправочникСсылка.Партнеры — отражает управленческое понятие клиента, поставщика или холдинга в целом. Именно с партнером взаимодействуют менеджеры в торговых и складских документах.СправочникСсылка.Контрагенты — отражает юридические лица и индивидуальных предпринимателей с точки зрения регламентированного учета (ИНН, КПП, ОГРН, банковские счета).В программе видимость этого разделения управляется функциональной опцией Раздельно вести партнеров и контрагентов (раздел НСИ и администрирование → Настройка НСИ и разделов → CRM и маркетинг). Если опция выключена, пользователю в интерфейсе кажется, что он работает с единым справочником контрагентов. Однако на уровне метаданных реквизит ГруппаДоступа принадлежит именно объекту Партнеры. По этой причине найти группу доступа внутри карточки контрагента не удается.
Прежде чем приступать к массовому заполнению данных, проверим активность необходимых механизмов в программе:
Обратите внимание: если оставить у части партнеров группу доступа незаполненной, то в зависимости от версии подсистемы RLS такие партнеры нередко интерпретируются как общедоступные. Поэтому для гарантированной изоляции данных необходимо явно прописать группу всем существующим записям.
Для быстрого присвоения группы доступа сотням или тысячам клиентов воспользуемся штатным механизмом платформы. Выполним следующие шаги:
ГруппаДоступа).После завершения работы обработки каждый партнер в информационной базе получит указанную группу доступа.
Рассмотрим важную техническую деталь, связанную с производительностью базы данных. Современные версии 1С:УТ используют механизм RLS на основе ключей доступа (Библиотека стандартных подсистем). При массовой замене группы доступа у большого массива записей система инициирует масштабную перезапись регистров сведений:
РегистрСведений.КлючиДоступаКОбъектамРегистрСведений.КлючиДоступаПользователейПересчет прав доступа выполняется в фоновом режиме специальным регламентным заданием Обновление ключей доступа. Пока задание не завершит обработку всех записей, пользователи с ограниченными правами могут временно сталкиваться с замедлением работы или видеть неактуальный список партнеров. Массовую корректировку реквизитов настоятельно рекомендуется выполнять во внерабочее время, контролируя завершение регламентных заданий в панели администрирования.
Чтобы завершить настройку безопасности, настроим профиль нового пользователя:
После корректного обновления прав система RLS автоматически ограничит видимость не только самих карточек партнеров, но и всей связанной цепочки данных: заказов клиентов, документов реализации, счетов на оплату, актов сверки взаиморасчетов и договоров. В типовых отчетах данные по скрытым партнерам исключаются из выборок, обеспечивая полную конфиденциальность коммерческой информации компании.