![]() |
|
В 1С УПП невозможно настроить видимость заказов по подразделениям | ☑ | ||
---|---|---|---|---|
0
Быдло замкадное
10.09.19
✎
15:27
|
Привет.
В УПП есть RLS, это классно, есть ограничения по подразделениям, это классно, только почему на документах они не настроены? Пример: Типовая роль менеджер по заказам, документ заказ покупателя, в RLS прописано: #Если &ИспользоватьОграничениеПоКонтрагенты ИЛИ &ИспользоватьОграничениеПоОрганизации ИЛИ &ИспользоватьОграничениеПоСклады #Тогда ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ СоставГруппы.Ссылка КАК ГруппаПользователей ИЗ Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы ГДЕ СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей ПО (ИСТИНА) ГДЕ НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL И (НЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты ПО Контрагенты.Ссылка = ТекущаяТаблица.Контрагент #КонецЕсли ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей ПО НастройкиПравДоступаПользователей.ОбъектДоступа = ВЫБОР #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты) ТОГДА ЕСТЬNULL(Контрагенты.ГруппаДоступаКонтрагента, ЗНАЧЕНИЕ(Справочник.ГруппыДоступаКонтрагентов.ПустаяСсылка)) #КонецЕсли #Если &ИспользоватьОграничениеПоОрганизации #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации) ТОГДА ТекущаяТаблица.Организация #КонецЕсли #Если &ИспользоватьОграничениеПоСклады #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Склады) ТОГДА ТекущаяТаблица.СкладГруппа #КонецЕсли КОНЕЦ И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа И НастройкиПравДоступаПользователей.ОбластьДанных = #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда ВЫБОР КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты) ТОГДА ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.КонтрагентыДанные) ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка) КОНЕЦ #Иначе ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка) #КонецЕсли И НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей ГДЕ НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей И НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа В ( ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ПустаяСсылка) #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда , ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты) #КонецЕсли #Если &ИспользоватьОграничениеПоОрганизации #Тогда , ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации) #КонецЕсли #Если &ИспользоватьОграничениеПоСклады #Тогда , ВЫБОР КОГДА ТекущаяТаблица.СкладГруппа ССЫЛКА Справочник.Склады ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Склады) КОНЕЦ #КонецЕсли ) И НастройкиПравДоступаПользователей.ОбъектДоступа ЕСТЬ NULL)) #КонецЕсли Т.е. &ИспользоватьОграничениеПоКонтрагенты &ИспользоватьОграничениеПоОрганизации &ИспользоватьОграничениеПоСклады А где использовать ограничение по подразделениям?!?! Сейчас в списке заказов виден документ, а в колонке Подразделение стоит "Объект не найден", что за ерунда. |
|||
1
Beduin
10.09.19
✎
15:29
|
(0) Для других объектов оно.
|
|||
2
ДенисЧ
10.09.19
✎
15:32
|
ну добавь. В чём вопрос?
|
|||
3
Быдло замкадное
10.09.19
✎
15:33
|
на примере роли менеджер по продажам, регистр накопления продажи отфильтрован по подразделениям нормально:
#Если &ИспользоватьОграничениеПоКонтрагенты ИЛИ &ИспользоватьОграничениеПоОрганизации ИЛИ &ИспользоватьОграничениеПоПодразделения #Тогда ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ СоставГруппы.Ссылка КАК ГруппаПользователей ИЗ Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы ГДЕ СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей ПО (ИСТИНА) ГДЕ НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL И (НЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты ПО Контрагенты.Ссылка = ТекущаяТаблица.#Параметр(1) #КонецЕсли ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей ПО НастройкиПравДоступаПользователей.ОбъектДоступа = ВЫБОР #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты) ТОГДА ЕСТЬNULL(Контрагенты.ГруппаДоступаКонтрагента, ЗНАЧЕНИЕ(Справочник.ГруппыДоступаКонтрагентов.ПустаяСсылка)) #КонецЕсли #Если &ИспользоватьОграничениеПоОрганизации #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации) ТОГДА ТекущаяТаблица.#Параметр(2) #КонецЕсли #Если &ИспользоватьОграничениеПоПодразделения #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Подразделения) ТОГДА ТекущаяТаблица.#Параметр(3) #КонецЕсли КОНЕЦ И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа И НастройкиПравДоступаПользователей.ОбластьДанных = #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда ВЫБОР КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты) ТОГДА ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.КонтрагентыДанные) ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка) КОНЕЦ #Иначе ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка) #КонецЕсли И НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей ГДЕ НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей И НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа В ( ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ПустаяСсылка) #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда , ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты) #КонецЕсли #Если &ИспользоватьОграничениеПоОрганизации #Тогда , ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации) #КонецЕсли #Если &ИспользоватьОграничениеПоПодразделения #Тогда , ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Подразделения) #КонецЕсли ) И НастройкиПравДоступаПользователей.ОбъектДоступа ЕСТЬ NULL)) #КонецЕсли |
|||
4
Быдло замкадное
10.09.19
✎
15:34
|
(2) в половину типовых ролей.. а потом их обновлять.
Вопрос в том почему если есть RLS по подразделениям, оно не настроено ВО ВСЕХ документах где есть данное поле? вопрос походу риторический |
|||
5
ДенисЧ
10.09.19
✎
15:35
|
(4) В ТЗ не было
|
|||
6
Beduin
10.09.19
✎
15:55
|
(4) Это ты его еще не отключал, когда документов становится тысяч 5. Потому что эта штука работает только на каких-то мега машинах
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |