Имя: Пароль:
1C
 
В УНФ РЛС из коробки не работает?
,
0 Zombi
 
11.03.24
08:04
УНФ 3.0 (3.0.5.211). Настраиваю РЛС. По организации ограничил, все работает. Пытаюсь настроить по складам и магазинам, не работает. Открываю роль "БазовыеПраваПриложения" и вижу в ней доступ на чтение без ограничений:

https://disk.yandex.ru/i/z4ah5fCxzYRKrw

Никто не сталкивался? Допиливали РЛС сами?
1 Zombi
 
02.04.24
10:15
Пробую допилить РЛС. Роль "БазовыеПраваПриложения" добавил в расширение и в ограничениях доступа к данным прописал:

#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
#ДляОбъекта("")
#Иначе
#ПоЗначениям( "Справочник.СтруктурныеЕдиницы","Чтение","",
"Склады","Ссылка","","","","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
#КонецЕсли

В профиле у пользователя настроил доступной только одно подразделение:

https://disk.yandex.ru/i/-7EBfwbYOtwEuQ

Пользователь все равно видит все подразделения. Режим РЛС сначала пробовал стандартный. Щас стоит производительный. Что еще посмотреть?
2 Zombi
 
02.04.24
10:18
У пользователя доступ к структурным единицам дает только моя ограниченная группа:

https://disk.yandex.ru/i/-JgC5so0SdH6pg
3 Zombi
 
02.04.24
10:23
Добавил еще изменения в функцию

&ИзменениеИКонтроль("ВидыОграниченийПравСправочниковИПлановВидовХарактеристик")
Функция Расш1_ВидыОграниченийПравСправочниковИПлановВидовХарактеристик()


Добавил перед возвратом:

    #Вставка
    Результат = Результат + "Справочник.СтруктурныеЕдиницы.Чтение.Склады";
    #КонецВставки

Так же в функцию &ИзменениеИКонтроль("СправочникиСОграничениемДоступа")
Функция Расш1_СправочникиСОграничениемДоступа()


добавил:

    #Вставка
    Результат.Добавить(Метаданные.Справочники.СтруктурныеЕдиницы);
    #КонецВставки


Но пользователь по прежнему видит все подразделения.
4 Волшебник
 
02.04.24
10:25
(0) Снимите с поддержки, внесите изменения в роль, потом вернёте на поддержку, когда устранят баг.
Вы же написали письмо вендору?
5 uPstart_
 
02.04.24
10:27
(1) А в константе какой режим РЛС стоит? Вот этот реквизит &ОграничениеДоступаНаУровнеЗаписейУниверсально.
6 banco
 
02.04.24
10:30
(0) Как я понял там логика такая, что пользователь видит все элементы справочника. А вот остатки и документы по этому складу не видит. Так что лучше еще раз проверить типовой функционал.
7 Zombi
 
02.04.24
10:36
(4) Я в расширении написал

#Если &ОграничениеДоступаНаУровнеЗаписейУниверсально #Тогда
ЛОЖЬ
#Иначе
#ПоЗначениям( "Справочник.СтруктурныеЕдиницы","Чтение","",
"Склады","Ссылка","","","","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","", "","" )
#КонецЕсли
Пользователь перестал видеть подразделения. Значит изменения из расширения работают.
8 Zombi
 
02.04.24
10:37
(5) https://disk.yandex.ru/i/WJ4XAywyAE4eAw

Стоит универсальный.
9 Zombi
 
02.04.24
10:40
(6) Ну список расходных накладных он видит все. Хотя в модуле менеджера расходной накладной есть:

Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт

    Ограничение.Текст =
    "РазрешитьЧтениеИзменение
    |ГДЕ
    |    ЗначениеРазрешено(Организация)
    |    И ЗначениеРазрешено(Контрагент)
    |    И ЗначениеРазрешено(СтруктурнаяЕдиница)";

КонецПроцедуры

Вроде учитывается структурная единица. На форму списка структурная единица тоже выведена. В новом документе тоже может выбрать любое подразделение.
10 AlvlSpb
 
02.04.24
11:10
А другие роли типа ДобавлениеИзменениеСтруктурныхЕдиниц не даны пользователю?
11 Zombi
 
02.04.24
11:28
(10) Не давал, так как любая другая типовая роль даст доступ без ограничений к справочнику.
12 Eiffil123
 
02.04.24
11:38
(11) после изменений кода по РЛС неплохо бы запускать конфигурацию с ключом /c ЗапуститьОбновлениеИнформационнойБазы
13 MaximSh
 
02.04.24
11:40
(1) если режим доступа Производительный и изменяется вручную код, то надо пересчитать ключи доступа используя обработку из БСП ОбновлениеВспомогательныхДанных.epf раздел "Управление доступом"
14 Zombi
 
02.04.24
11:45
(12) Это само собой. Каждый раз отладку с этим ключом запускаю уже.
15 Zombi
 
02.04.24
11:47
(13) Это тоже делал:
16 Zombi
 
02.04.24
11:48
Хотя немного не та обработка. Щас попробую ОбновлениеВспомогательныхДанных
17 Zombi
 
02.04.24
11:57
(13) А вот это помогло! В списке расходных накладных теперь вижу все документы, запрещенные подразделения отображаются как объект не найден..., а разрешенные отображаются.При создании документа и попытке выбора подразделения никаких подразделений нет вообще. Но хоть что то заработало.
18 Zombi
 
03.04.24
08:15
Вернусь к вопросу. В целом настроил. Все хорошо, документы отображаются только по нужным подразделениям, отчеты тоже показывают только их. В форме списка документов я вижу разрешенное подразделение, но при открытии списка выбора подразделения список пустой. То есть выбрать другое разрешенное подразделение я не могу. В чем проблема может быть?
19 DrZombi
 
гуру
03.04.24
08:25
(1) >>> добавил в расширение

РЛС и расширение? А вы суровы, к себе :)
20 Ненавижу 1С
 
гуру
03.04.24
08:37
(19) там уже все хорошо стало и со стороны платформы и со стороны БСП
21 Zombi
 
03.04.24
08:43
(19) Я сначала тоже боялся(Сначала даже в копии пробовал кроить РЛС без расширения), но вроде работает все, за исключением каких то нюансов, с расширением не связанным скорее всего.
22 Eiffil123
 
03.04.24
10:08
(18) возможно у вас подразделения не линейным списком, а задана какая-то иерархия. И при этом у пользователя нет прав на родительские подразделения.

Тут нужно провести эксперимент - в форме выбора подразделений через Еще переключить на обычный список (не иерархию). Если сработает, то нужно либо отказываться от иерархии, либо всегда выводить в виде простого списка для форм подбора и выбора.
23 Zombi
 
03.04.24
11:48
(22) Сначала тоже так подумал, перенес подразделение в корень, оно все равно не появилось в списке. Щас, кажется, нашел причину. В ограничения доступа в исключения можно добавить только элемент стурктурных подразделений с типом "Склад". Соответственно в настройках РЛС я указал склады, а форма открывается для выбора подразделений(отбор прямо в форме выбора). Нужно копать в сторону вот этого ограничения , чтобы можно было в настройках РЛС выбирать подразделения.
24 Zombi
 
03.04.24
11:01
В форме списка структурных единиц есть процедура, которая как раз ограничивает выбор подразделения, если выбор происходит из формы выбора значения доступа(пока не понял, зачем). Закомментировал вот так, на первый взгляд все работает. Будем тестировать.

&НаСервере
&ИзменениеИКонтроль("ЗаполнитьПараметрыВыбораЗначенияДоступа")
Процедура Расш1_ЗаполнитьПараметрыВыбораЗначенияДоступа()

    Если Не Параметры.Свойство("ЭтоВыборЗначенияДоступа") Тогда
        Возврат;
    КонецЕсли;

    ДопустимыеТипыЗначенияДоступа = Новый Массив;
    Для Каждого ТекущийТип Из Перечисления.ТипыСтруктурныхЕдиниц Цикл
        #Удаление
        Если ТекущийТип <> Перечисления.ТипыСтруктурныхЕдиниц.Подразделение Тогда
        #КонецУдаления    
            ДопустимыеТипыЗначенияДоступа.Добавить(ТекущийТип);
        #Удаление    
        КонецЕсли;
        #КонецУдаления    
    КонецЦикла;

    Параметры.Отбор.Вставить("ТипСтруктурнойЕдиницы", ДопустимыеТипыЗначенияДоступа);

КонецПроцедуры