Столкнулся с проблемой: В УНФ не работает РЛС по подразделению. Сама настройка в профилях есть, но она не отрабатывает. Зашел в конфигураторе в роли и обнаружил, что в роли "БазовыеПраваПриложения" нет ограничения на чтение данного справочника. Добавил роль в расширение, прописал в ограничениях доступа к данным:
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениям( "Справочник.СтруктурныеЕдиницы","Чтение","",
"Склады","Ссылка","","","","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
#КонецЕсли
В функцию &ИзменениеИКонтроль("ВидыОграниченийПравСправочниковИПлановВидовХарактеристик")
Функция Расш1_ВидыОграниченийПравСправочниковИПлановВидовХарактерист ик()
Добавил перед возвратом:
#Вставка
Результат = Результат + "Справочник.СтруктурныеЕдиницы.Чтение.Склады";
#КонецВставки
Так же в функцию &ИзменениеИКонтроль("СправочникиСОграничениемДоступа")
Функция Расш1_СправочникиСОграничениемДоступа()
добавил:
В профиле тестового пользователя настроил доступным только одно подразделение. У пользователя право на чтение дает только моя ограниченная группа. Пользователь все равно видит все подразделения. Попробовал в ограничениях прописать:
Пользователь перестал видеть подразделения. Значит изменения из расширения работают. Что еще посмотреть?
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениям( "Справочник.СтруктурныеЕдиницы","Чтение","",
"Склады","Ссылка","","","","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
#КонецЕсли
В функцию &ИзменениеИКонтроль("ВидыОграниченийПравСправочниковИПлановВидовХарактеристик")
Функция Расш1_ВидыОграниченийПравСправочниковИПлановВидовХарактерист
Добавил перед возвратом:
#Вставка
Результат = Результат + "Справочник.СтруктурныеЕдиницы.Чтение.Склады";
#КонецВставки
Так же в функцию &ИзменениеИКонтроль("СправочникиСОграничениемДоступа")
Функция Расш1_СправочникиСОграничениемДоступа()
добавил:
#Вставка
Результат.Добавить(Метаданные.Справочники.СтруктурныеЕдиницы);
#КонецВставки
В профиле тестового пользователя настроил доступным только одно подразделение. У пользователя право на чтение дает только моя ограниченная группа. Пользователь все равно видит все подразделения. Попробовал в ограничениях прописать:
#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
ЛОЖЬ
#Иначе
#ПоЗначениям( "Справочник.СтруктурныеЕдиницы","Чтение","",
"Склады","Ссылка","","","","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
#КонецЕсли
Пользователь перестал видеть подразделения. Значит изменения из расширения работают. Что еще посмотреть?
Прикрепленные файлы:
По теме из базы знаний
- Загрузка цен ЖНВЛП напрямую с сайта ГРЛС для конфигурации “Управление аптечной сетью”
- Доработка RLS для УНФ
- ФинОфис (модуль Табула)
- Групповая выгрузка и загрузка файлов из 1С в XML для ЭДО в каталог по приказу №820 ФНС (для УТ 10.3/11, КА2, ERP2, БП3, УНФ, УПП1.3, Розница2.3). Поддержка маркировки. Прослеживание товаров.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
С основным вопросом разобрался. Запустил обработку ОбновлениеВспомогательныхДанных и все заработало. Остался вопрос с выбором подразделения. В списке я вижу документы только нужным подразделениям, в отчетах тоже вижу данные только по ним. Но при попытке выбора у меня пустой список подразделений. В чем проблема может быть?
В ограничения доступа в исключения можно добавить только элемент стурктурных подразделений с типом "Склад". Соответственно в настройках РЛС я указал склады, а форма выбора из документов открывается для выбора подразделений(отбор прямо в форме выбора).
В форме списка структурных единиц есть процедура, которая как раз ограничивает выбор подразделения, если выбор происходит из формы выбора значения доступа(пока не понял, зачем). Закомментировал вот так, на первый взгляд все работает. Будем тестировать.
&НаСервере
&ИзменениеИКонтроль("ЗаполнитьПараметрыВыбораЗначенияДоступа")
Процедура Расш1_ЗаполнитьПараметрыВыбораЗначенияДоступа()
Если Не Параметры.Свойство("ЭтоВыборЗначенияДоступа") Тогда
Возврат;
КонецЕсли;
ДопустимыеТипыЗначенияДоступа = Новый Массив;
Для Каждого ТекущийТип Из Перечисления.ТипыСтруктурныхЕдиниц Цикл
#Удаление
Если ТекущийТип <> Перечисления.ТипыСтруктурныхЕдиниц.Подразделение Тогда
#КонецУдаления
ДопустимыеТипыЗначенияДоступа.Добавить(ТекущийТип);
#Удаление
КонецЕсли;
#КонецУдаления
КонецЦикла;
Параметры.Отбор.Вставить("ТипСтруктурнойЕдиницы", ДопустимыеТипыЗначенияДоступа);
КонецПроцедуры
В форме списка структурных единиц есть процедура, которая как раз ограничивает выбор подразделения, если выбор происходит из формы выбора значения доступа(пока не понял, зачем). Закомментировал вот так, на первый взгляд все работает. Будем тестировать.
&НаСервере
&ИзменениеИКонтроль("ЗаполнитьПараметрыВыбораЗначенияДоступа")
Процедура Расш1_ЗаполнитьПараметрыВыбораЗначенияДоступа()
Если Не Параметры.Свойство("ЭтоВыборЗначенияДоступа") Тогда
Возврат;
КонецЕсли;
ДопустимыеТипыЗначенияДоступа = Новый Массив;
Для Каждого ТекущийТип Из Перечисления.ТипыСтруктурныхЕдиниц Цикл
#Удаление
Если ТекущийТип <> Перечисления.ТипыСтруктурныхЕдиниц.Подразделение Тогда
#КонецУдаления
ДопустимыеТипыЗначенияДоступа.Добавить(ТекущийТип);
#Удаление
КонецЕсли;
#КонецУдаления
КонецЦикла;
Параметры.Отбор.Вставить("ТипСтруктурнойЕдиницы", ДопустимыеТипыЗначенияДоступа);
КонецПроцедуры
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот