|
УПП 1.3.14.2 Разделение доступа по подразделениям | ☑ | ||
---|---|---|---|---|
0
golden-pack
29.07.11
✎
09:37
|
Создана группа пользователей - заполнен список + вид доступа = подразделениеЦех1.
Галка - использовать RLS = ИСТИНА Галка - RLS по подразделениям организации = ИСТИНА ===================================================== Пользователь Кадровик + роль кадрового учета = разграничение НЕ работает. В самой роли на праве "чтение" - в шаблоне увидел только разделение по организациям и физ. лицам: #Если &ИспользоватьОграничениеПоОрганизации ИЛИ &ИспользоватьОграничениеПоФизическиеЛица #Тогда ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ СоставГруппы.Ссылка КАК ГруппаПользователей ИЗ Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы ГДЕ СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей ПО (ИСТИНА) ГДЕ (НЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 КАК ПолеОтбора ИЗ РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа ГДЕ НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей И ВЫБОР #Если &ИспользоватьОграничениеПоОрганизации #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации) ТОГДА ВЫБОР КОГДА 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ (ВЫБРАТЬ 1 КАК Поле ) КАК Оптимизация ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей ПО НастройкиПравДоступаПользователей.ОбъектДоступа = ТекущаяТаблица.#Параметр(1) И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации) И НастройкиПравДоступаПользователей.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка) И НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ #КонецЕсли #Если &ИспользоватьОграничениеПоФизическиеЛица #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ФизическиеЛица) ТОГДА ВЫБОР КОГДА (НЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ Документ.#Параметр(2) КАК ТабличнаяЧастьДокумента ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица ПО ФизическиеЛица.Ссылка = ТабличнаяЧастьДокумента.#Параметр(3) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей ПО НастройкиПравДоступаПользователей.ОбъектДоступа = ФизическиеЛица.ГруппаДоступаФизическогоЛица И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ФизическиеЛица) И НастройкиПравДоступаПользователей.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ФизическиеЛицаДанные) И НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей ГДЕ ТабличнаяЧастьДокумента.Ссылка = ТекущаяТаблица.Ссылка И НастройкиПравДоступаПользователей.ОбластьДанных ЕСТЬ NULL )) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ #КонецЕсли ИНАЧЕ ИСТИНА КОНЕЦ = ЛОЖЬ)) И НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL #КонецЕсли ========================================== Вопрос: WTF ? Я не правильно интерпретировал текст запроса или придется самому кодить ? |
|||
1
golden-pack
29.07.11
✎
09:43
|
Формат текста отличный получился
|
|||
2
golden-pack
29.07.11
✎
09:43
|
ШАБЛОН
#Если &ИспользоватьОграничениеПоОрганизации ИЛИ &ИспользоватьОграничениеПоФизическиеЛица #Тогда ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ СоставГруппы.Ссылка КАК ГруппаПользователей ИЗ Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы ГДЕ СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей ПО (ИСТИНА) ГДЕ (НЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 КАК ПолеОтбора ИЗ РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа ГДЕ НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей И ВЫБОР #Если &ИспользоватьОграничениеПоОрганизации #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации) ТОГДА ВЫБОР КОГДА 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ (ВЫБРАТЬ 1 КАК Поле ) КАК Оптимизация ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей ПО НастройкиПравДоступаПользователей.ОбъектДоступа = ТекущаяТаблица.#Параметр(1) И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации) И НастройкиПравДоступаПользователей.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка) И НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ #КонецЕсли #Если &ИспользоватьОграничениеПоФизическиеЛица #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ФизическиеЛица) ТОГДА ВЫБОР КОГДА (НЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ Документ.#Параметр(2) КАК ТабличнаяЧастьДокумента ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица ПО ФизическиеЛица.Ссылка = ТабличнаяЧастьДокумента.#Параметр(3) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей ПО НастройкиПравДоступаПользователей.ОбъектДоступа = ФизическиеЛица.ГруппаДоступаФизическогоЛица И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ФизическиеЛица) И НастройкиПравДоступаПользователей.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ФизическиеЛицаДанные) И НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей ГДЕ ТабличнаяЧастьДокумента.Ссылка = ТекущаяТаблица.Ссылка И НастройкиПравДоступаПользователей.ОбластьДанных ЕСТЬ NULL )) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ #КонецЕсли ИНАЧЕ ИСТИНА КОНЕЦ = ЛОЖЬ)) И НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL #КонецЕсли |
|||
3
golden-pack
29.07.11
✎
09:53
|
Создана группа пользователей - заполнен список + вид доступа = подразделениеЦех1.
Галка - использовать RLS = ИСТИНА Галка - RLS по подразделениям организации = ИСТИНА ===================================================== Пользователь Кадровик + роль кадрового учета = разграничение НЕ работает. В самой роли на праве "чтение" - в шаблоне увидел только разделение по организациям и физ. лицам Вопрос: WTF ? Я не правильно интерпретировал текст запроса или придется самому кодить ? |
|||
4
vmv
29.07.11
✎
09:55
|
разграничения по подразделениям в УПП нету фактически, т.е. пользовтель одного подразделения может видеть списки, документы другого подразделения без проблем.
Все что делает РЛС с установленными штатными средствами УПП ограничениями на подразделения - это запрещает проводить "чужие" документы, пичаль |
|||
5
golden-pack
29.07.11
✎
10:02
|
Мда ... могли бы в 1С и сделать, там 1 день работы
|
|||
6
golden-pack
29.07.11
✎
10:25
|
Скажите еще кто нибудь что нельзя ....
|
|||
7
ДемонМаксвелла
29.07.11
✎
10:37
|
Ограничения &ИспользоватьОграничениеПоОрганизации ИЛИ &ИспользоватьОграничениеПоФизическиеЛица означаю ровно то, что написано. По подразделениям будет &ИспользоватьОграничениеПоОрганизации. Тут этого нет. В ролях кладовщиков и многих других всё работает.
|
|||
8
ДемонМаксвелла
29.07.11
✎
10:38
|
По подразделениям будет &ИспользоватьОграничениеПоПодразделениям (ю?)
|
|||
9
golden-pack
29.07.11
✎
10:43
|
(8) Суть не в булевом значении а в сравнении подразделения документа с подразделением в РС "НастройкиПравДоступаПользователей "
|
|||
10
ДемонМаксвелла
29.07.11
✎
10:46
|
Ну и что я неправильно сказал? Не проверяется значение и после этого ничего ни с чем не сравнивается.
|
|||
11
vmv
29.07.11
✎
10:47
|
(9) нужно писать свои шаблоны под подразделения так как это сделано для контрагентов.
ломит самому, вдруг сделают ...эээ когда-нибудь. правда в 8.2.14 можно использовать общие реквизиты для этой цели, мож их потом задействуют |
|||
12
golden-pack
29.07.11
✎
10:47
|
(7) В роли кладовщик - нет никаких ограничений на подразделение - вы про какую роль говорите ?
|
|||
13
golden-pack
29.07.11
✎
10:48
|
(11) Самое обидное что много ролей править придется. 1С лентяи.
|
|||
14
golden-pack
29.07.11
✎
10:49
|
(11) Общие конечно интересно ... но както тестировать их на рабочей базе не хочется.
|
|||
15
ДемонМаксвелла
29.07.11
✎
10:49
|
Лучше свои роли добавлять. Изменённую роль обновить практически невозможно. Только переписывать заново после обновления.
|
|||
16
ДемонМаксвелла
29.07.11
✎
10:52
|
Насчет Кладовщика может и неправильно сказал, у меня все роли свои.
|
|||
17
ДемонМаксвелла
29.07.11
✎
11:00
|
Всё я правильно сказал. Типовая роль Кладовщик, документ ВнутреннийЗаказ, ограничение доступа на чтение, запрос: "Если &ИспользоватьОграничениеПоОрганизации ИЛИ &ИспользоватьОграничениеПоПодразделения ИЛИ &ИспользоватьОграничениеПоСклады #Тогда ..."
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |