При переходе между мажорными релизами конфигураций (например, при обновлении с 1С:Комплексная автоматизация 2.2 на 2.4 или аналогичных редакций 1С:ERP и 1С:УТ 11) администраторы и разработчики нередко сталкиваются со сбоем механизма ограничения прав на уровне записей (RLS). Типичный симптом: после переноса или повторной настройки групп доступа и профилей (по складам, организациям, партнерам) пользователи с ограниченными правами полностью теряют видимость объектов — списки элементов и документов оказываются пустыми.
Разберем причины такого поведения платформы и подсистемы БСП, а также пошагово рассмотрим способы устранения проблемы.
В ветке конфигураций 2.4 была значительно переработана архитектура подсистемы «Управление доступом» из состава Библиотеки стандартных подсистем (БСП). В новой редакции используется производительный режим RLS, который полагается на предварительно рассчитанные вспомогательные данные в специальных служебных регистрах:
РегистрСведений.НаборыЗначенийДоступаРегистрСведений.ТаблицыГруппДоступаРегистрСведений.КлючиДоступаКРегистрам, РегистрСведений.КлючиДоступаКОбъектам и сопутствующие таблицы.Если после обновления конфигурации обработчики обновления данных не завершили свою работу или завершились аварийно, служебные регистры остаются незаполненными. В результате механизм RLS расценивает отсутствие связей как полный запрет на чтение данных.
Также важно учитывать специфику справочника Справочник.Партнеры: если используется ограничение доступа по группам партнеров со стратегией «Запрещены все, кроме указанных», в карточках партнеров обязательно должен быть заполнен реквизит Группа доступа. Для элементов с пустой группой доступа система блокирует видимость.
Самый быстрый и действенный способ устранить проблему — принудительно запустить полный цикл процедур обновления через командную строку. Это инициирует выполнение всех отложенных и пропущенных обработчиков БСП.
Выполним следующие действия:
/c ЗапуститьОбновлениеИнформационнойБазы.Пример строки запуска для пакетного файла или ярлыка:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBConnectionString "Srvr=server1c;Ref=ka_db;" /N "Администратор" /P "Пароль" /c ЗапуститьОбновлениеИнформационнойБазы
После запуска программы откроется окно с ходом выполнения процедур обновления. Дождемся завершения всех этапов и перезапустим пользовательские сеансы.
Проанализируем состояние подсистемы прав через пользовательский интерфейс, если прямой запуск с ключом не решил проблему со списками всех справочников:
Заполнение данных для ограничения доступа (а также Обновление предопределенных данных) и выполним его принудительно по правой кнопке мыши.В ситуациях, когда фоновые задания зависают или считают, что обновление уже завершено, но права по-прежнему работают некорректно, выполним сброс служебных параметров RLS:
РегистрСведений.ПараметрыОграниченийДоступа.Если после полного пересчета данных документы стали видны, но список партнеров или складов по-прежнему отображается не полностью, проверим правильность заполнения реквизитов объектов:
Справочник.ГруппыДоступаПартнеров и проверим, привязаны ли партнеры к соответствующим группам.