|
RLS и пустое значение. Кто сталкивался? | ☑ | ||
---|---|---|---|---|
0
artpi
02.02.12
✎
10:01
|
Суть проблемы такая. Есть типовая конфигурация Комплексная автоматизация.
Решил настроить РЛС (доступ на уровне записи) и сталкнулся с такой фигнёй: В документе ПриходныйОрдерНаТовары стоит ограничение по трём полям - #КонтрагентОрганизацияСклад а поле Контрагент заполняется лишь в случае прихода от поставщика. И кладовщик не видит документы где не указан контрагент. Если для вида доступа «Контрагенты» предоставить доступ к пустому значению, то пользователь увидит документы, в которых реквизит «Контрагент» не заполнен. Вопрос: Как это сделать? |
1 |
||
1
le_
02.02.12
✎
10:06
|
(0) В условии запроса можно использовать ВЫБОР.
|
6 |
||
2
artpi
02.02.12
✎
10:13
|
Это как? Подскажи плиз на примере.
|
6 |
||
3
ДемонМаксвелла
02.02.12
✎
10:19
|
Попробуй добавить пустую "группу доступа контрагентов" в права. Скорее всего не прокатит, но попробовать стоит. Не забудь поставить "Только для текущего права"
|
6 |
||
4
le_
02.02.12
✎
10:20
|
Где
Примерно так... |
5 |
||
5
le_
02.02.12
✎
10:23
|
+(4) Если не понятно, как работают Истина и Ложь в условиях, выполни такие запросы в консоли и посмотри, в чем разница.
выбрать 1 где истина
выбрать 1 где ложь |
|||
6
artpi
02.02.12
✎
10:24
|
#Если &ИспользоватьОграничениеПоКонтрагенты ИЛИ &ИспользоватьОграничениеПоОрганизации ИЛИ &ИспользоватьОграничениеПоСклады #Тогда
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ СоставГруппы.Ссылка КАК ГруппаПользователей ИЗ Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы ГДЕ СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей ПО (ИСТИНА) ГДЕ НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL И Не ТекущаяТаблица.#Параметр(1) ЕСТЬ NULL И (НЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты ПО Контрагенты.Ссылка = ТекущаяТаблица.#Параметр(1) #КонецЕсли ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей ПО НастройкиПравДоступаПользователей.ОбъектДоступа = ВЫБОР #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты) ТОГДА ЕСТЬNULL(Контрагенты.ГруппаДоступаКонтрагента, ЗНАЧЕНИЕ(Справочник.ГруппыДоступаКонтрагентов.ПустаяСсылка)) #КонецЕсли #Если &ИспользоватьОграничениеПоОрганизации #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации) ТОГДА ТекущаяТаблица.#Параметр(2) #КонецЕсли #Если &ИспользоватьОграничениеПоСклады #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Склады) ТОГДА ТекущаяТаблица.#Параметр(3) #КонецЕсли КОНЕЦ И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа И НастройкиПравДоступаПользователей.ОбластьДанных = #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда ВЫБОР КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты) ТОГДА ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.КонтрагентыДанные) ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка) КОНЕЦ #Иначе ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка) #КонецЕсли И НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей ГДЕ НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей И НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа В ( ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ПустаяСсылка) #Если &ИспользоватьОграничениеПоКонтрагенты #Тогда , ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты) #КонецЕсли #Если &ИспользоватьОграничениеПоОрганизации #Тогда , ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации) #КонецЕсли #Если &ИспользоватьОграничениеПоСклады #Тогда , ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Склады) #КонецЕсли ) И НастройкиПравДоступаПользователей.ОбъектДоступа ЕСТЬ NULL)) #КонецЕсли |
|||
7
artpi
02.02.12
✎
10:25
|
Вот такой там запрос
|
|||
8
artpi
02.02.12
✎
11:50
|
Как можно делать отладку кода RSL?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |