Имя: Пароль:
1C
1С v8
Проблема с наложением RLS на справочник
,
0 revision
 
15.01.13
11:40
Прошу форумчан помочь советом в такой ситуации.
есть Бухгалтерия 30. Есть свои роли менеджеров и кладовщиков, для которых настроены RLS на поле Склад. Они работают и проблем нет.
Но вот есть проблема с наложением RLS именно на сам справочник Склады.
Итак есть справочник типовой Склады, в нем добавлена ТЧ зависимые склады (это склады филиалов и дочек и проч этого головного склада).
Для чего сделано - по каждому головному складу есть менеджер и кладовщик и он контролирует направление.
Надо что бы он мог работать со всеми складами, которые перечислены в табличной части этого справочника. Сейчас он может видеть и корректировать документы по этим зависимым складам.
Т.е. как и писалось - проблемы с RLS на документы с которыми работает кладовщик нет - отрабатывает верно.
НО!Проблема с наложением RLS на сам справочник Склады - видится только головной склад, а выбирать подчиненые не может - нет в списке.
Подскажите, в чем дело?
Вот шаблон ограничений на справочник склады (выбирает только первую часть до ОБЪЕДИНИТЬ) :

// По ССЫЛКЕ
ТекущаяТаблица
ИЗ
 #ТекущаяТаблица КАК ТекущаяТаблица
ГДЕ ТекущаяТаблица.Ссылка В (
 ВЫБРАТЬ Склады.Ссылка
   ИЗ Справочник.Склады КАК Склады
 ГДЕ Склады.Ссылка В(ВЫБРАТЬ Константы.Филиал ИЗ Константы)

 ОБЪЕДИНИТЬ ВСЕ
 ВЫБРАТЬ СкладыОбщиеСклады.Склад
   ИЗ Справочник.Склады.ОбщиеСклады КАК СкладыОбщиеСклады
 ГДЕ СкладыОбщиеСклады.Ссылка В(ВЫБРАТЬ Константы.Филиал ИЗ Константы)  )
1 LehhaK
 
15.01.13
11:43
(0) Я, когда встала такая проблема, создал параметр сеанса "Доступные склады". Там запросом выбирал все, что под этим складом. И РЛС делал не на элемент справочника, а на фиксированный массив
2 prog0101
 
15.01.13
11:43
ГДЕ ТекущаяТаблица.Ссылка.Родитель В
...
ГДЕ ТекущаяТаблица.Ссылка.Родитель.Родитель В
...

или через регистр, или через функцию расчета в запросе
пусть их там будет 10 вложенность, допущение
3 prog0101
 
15.01.13
11:44
(1)а если кто-то находу изменит структуру складов ?)))
4 LehhaK
 
15.01.13
11:45
(3) Когда перезайдет, все станет хорошо
5 revision
 
15.01.13
11:45
(1)так и вложенный запрос возращает все верно - проверил в консоли запросов, но в РЛС не отрабатывает. Городить еще не охота
6 revision
 
15.01.13
11:47
(2)там у нас не родитель, а элемент ТЧ.
Думал через регистр, но дело в том, что надо много перекраивать - а уже все работает и механизм отлажен.

>>  или через функцию расчета в запросе
ПОЯСНИТЕ
7 revision
 
15.01.13
11:48
нет ли в запросе какой то логическокой ошибки?
Почему в консоли работает а в RLS видит только первую часть
8 revision
 
15.01.13
12:13
проверил почему то выборка в РЛС ничего не возращает
// По ССЫЛКЕ
ТекущаяТаблица
ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
ГДЕ ТекущаяТаблица.Ссылка В (
 ВЫБРАТЬ СкладыОбщиеСклады.Склад
   ИЗ    Справочник.Склады.ОбщиеСклады КАК СкладыОбщиеСклады
 ГДЕ СкладыОбщиеСклады.Ссылка В(ВЫБРАТЬ Константы.Филиал ИЗ Константы) )
9 zzerro
 
15.01.13
12:20
ГДЕ СкладыОбщиеСклады.Ссылка - это обращение к ссылке на основной склад а не к данным ТЧ, там должно быть ГДЕ СкладыОбщиеСклады.<ИмяРеквизита>, кажется
10 zzerro
 
15.01.13
12:22
А что в Константы.Филиал ?
11 prog0101
 
15.01.13
12:49
(0)"#ТекущаяТаблица" или разберись что это или вытри
видимо путаешь тч и основную таблицу но я не телепат
12 revision
 
15.01.13
13:00
(9),(10) в константе Константы.Филиал находится головной склад филиала - ссылка на Спр. Склады. А в этой ссылке есть ТЧ, где и указаны зависимые склады.

>> ГДЕ СкладыОбщиеСклады.Ссылка - это обращение к ссылке на основной склад а не к данным ТЧ, там должно быть ГДЕ СкладыОбщиеСклады.<ИмяРеквизита>, кажется

Нет обращение верное - проверено в конструкторе и консоле запросов - там то работает
13 revision
 
15.01.13
13:06
(11)возможно и путаю с ТЧ

А тогда вопрос. А как наложить отбор просто на ТЧ справочника?
14 revision
 
15.01.13
13:08
Что означает "#ТекущаяТаблица" ? И например знак #
15 revision
 
15.01.13
14:31
НАШЕЛ ПРИЧИНУ!!!
Не видятся склады в ГРУППЕ. Стоит перенести в корень - работает.
не ясна причина. кто в курсе?
16 revision
 
15.01.13
14:50
Проблема решена. Надо было разрешить доступ на группы. Тогда вложенные элементы видны.
--------

Всем спасибо, кто следил за моим репортажем
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн