|
Подскажите по RLS - простой отбор | ☑ | ||
---|---|---|---|---|
0
Сказочный Баобаб
24.09.12
✎
13:34
|
сильно туплю, хотя задача простая.
Нужно по 2 документам для кладовщика в самописке - складская прога сделать ограничение на видемость если не разрешенный склад. Разрешенный склад заносится в константу "Удаленный склад". т.е. при открытии списка/выбора документа юзер с некой ролью не должен видеть документы не своего склада. Как написать это в RLS - нет ли примера? |
|||
1
Miss1C
24.09.12
✎
13:38
|
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам ПО ТекущаяТаблица.Подразделение = ПраваДоступаПользователейКОбъектам.ОбъектДоступа И (ПраваДоступаПользователейКОбъектам.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОграниченияПравДоступа.ПодразделенияДанные)) И (ПраваДоступаПользователейКОбъектам.Пользователь В (&ГруппыТекущегоПользователя) И ПраваДоступаПользователейКОбъектам.Чтение = ИСТИНА) Мой пример делает тоже самое что вам надо только по подразделению. Вместо Текущая Таблица прописываешь свой объект, например ПоступлениеТоваровИУслуг |
|||
2
Miss1C
24.09.12
✎
13:39
|
Ну и вместо Группы пользователей используешь свою контанту
|
|||
3
Miss1C
24.09.12
✎
13:42
|
ЗаказПокупателя
ИЗ ЗаказаПокупателя КАК Заказ ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам ПО Заказ.Подразделение = ПраваДоступаПользователейКОбъектам.ОбъектДоступа И (ПраваДоступаПользователейКОбъектам.Пользователь В (Ваша константа) Как то так) |
|||
4
Сказочный Баобаб
24.09.12
✎
13:46
|
(3)спасибо!
Ты красивая ))) |
|||
5
mih_io
24.09.12
✎
13:47
|
||||
6
Сказочный Баобаб
24.09.12
✎
14:26
|
Написал так
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица ГДЕ ТекущаяТаблица.Склад = Константа.УдаленныйСклад Так пишет что поле не найдено Константа.УдаленныйСклад Хотя такая константа есть. Кто в теме? |
|||
7
ProgAL
24.09.12
✎
14:30
|
К константе неьлзя обратиться в языке запросов через ЗНАЧЕНИЕ(), если не ошибаюсь. Нужно завести параметр сеанса и при запуске 1с его инициализировать значением константы, а потом к имени параметра сеанса можно обращаться из запросов RLS.
|
|||
8
Сказочный Баобаб
24.09.12
✎
14:32
|
(7)а к справочнику или РС можно?
|
|||
9
Miss1C
24.09.12
✎
14:34
|
(6)Константы, а не константа
|
|||
10
Miss1C
24.09.12
✎
14:34
|
ГДЕ Константы.ВалютаРегламентированногоУчета = &рег
|
|||
11
ProgAL
24.09.12
✎
14:34
|
Если элемент справочника будет предпределенный, то да Значение(Справочник.ИмяСправочника.ИмяПредопрЗначения).
|
|||
12
Сказочный Баобаб
24.09.12
✎
14:36
|
(9)да пробовал - Константы.УдаленныйСклад.Значение
не работает - не видит |
|||
13
Miss1C
24.09.12
✎
14:36
|
(6)ГДЕ ТекущаяТаблица.Склад = Константы.УдаленныйСклад
|
|||
14
Miss1C
24.09.12
✎
14:37
|
(12)Без значения видит?
|
|||
15
Сказочный Баобаб
24.09.12
✎
14:38
|
(14)нет (((
|
|||
16
Miss1C
24.09.12
✎
14:39
|
(15)Не может этого быть, значит не обновил конфу после добавления константы
|
|||
17
Miss1C
24.09.12
✎
14:43
|
Посмотри правильно ли имя константы прописано
|
|||
18
Сказочный Баобаб
24.09.12
✎
14:44
|
Конфа обновлена. Имя верное. В запросах вижу.
Может прав (7) ? |
|||
19
Miss1C
24.09.12
✎
14:47
|
(18)У меня все работает, так что смотри можешь и его методом
|
|||
20
Miss1C
24.09.12
✎
14:48
|
(18)В консоле, через конструктор попробуй вытянуть свою контсанту
|
|||
21
Сказочный Баобаб
24.09.12
✎
14:49
|
(19) да вот не хотелось бы через параметры сеанса.
Напиши плиз - свой кусок - с константой |
|||
22
Miss1C
24.09.12
✎
14:55
|
(21)Смысл, все равно не увидит, перезапусти 1С
|
|||
23
Шапокляк
24.09.12
✎
14:59
|
(12) Константы.УдаленныйСклад.Получить() тоже не видит?
|
|||
24
Сказочный Баобаб
24.09.12
✎
15:02
|
(20)скопировал из запроса - увы ((( не видит
|
|||
25
Сказочный Баобаб
24.09.12
✎
15:02
|
(23)а Получить() тут каким боком
|
|||
26
Kolls
24.09.12
✎
15:07
|
Делай параметр сеанса - "список доступных складов", заполняй при старте,
и в роли ограничение "где склад в (СДС)"... и все. |
|||
27
Сказочный Баобаб
24.09.12
✎
15:10
|
(26)т.е. получается просто прочитать константу нельзя?
А как же у Miss1C - работает же! Кстати, а как считывать Параметры сеанса - через & или просто указав имя? |
|||
28
Miss1C
24.09.12
✎
15:10
|
(26)Смысл если 1С не видит этой константы
|
|||
29
Miss1C
24.09.12
✎
15:10
|
(27)У меня 8.1
|
|||
30
Kolls
24.09.12
✎
15:11
|
(27) - прокидался ((, через (&СДС)
(28) - параметр сеанса заполнить при старте |
|||
31
Сказочный Баобаб
24.09.12
✎
15:14
|
(29)понятно (((
У меня тонкий клиент 1С82 |
|||
32
Сказочный Баобаб
24.09.12
✎
15:15
|
Пробовал - что то и типовой не видит
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица ГДЕ ТекущаяТаблица.Склад = Справочник.ПапкиФайлов.Шаблоны где Справочник.ПапкиФайлов.Шаблоны - типовой предопределенный |
|||
33
Feanorko
24.09.12
✎
15:15
|
(31) дак ты с тонкого клиента читаешь константу? :)
|
|||
34
Feanorko
24.09.12
✎
15:15
|
(32) ГДЕ ТекущаяТаблица.Склад = ЗНАЧЕНИЕ(Справочник.ПапкиФайлов.Шаблоны)
|
|||
35
Сказочный Баобаб
24.09.12
✎
15:19
|
(33)да но это не имеет в данном случае значения - так как ошибка выдается в конфигураторе на начальном этапе
|
|||
36
Сказочный Баобаб
24.09.12
✎
15:21
|
(34)да - так работает
|
|||
37
Feanorko
24.09.12
✎
15:24
|
(35) на каком начальном этапе? если тонкий клиент, то всё правильно ругается:
КонстантыМенеджер (ConstantsManager) <Имя константы> (<Constant name>) Использование: Только чтение. Описание: Тип: КонстантаМенеджер. Набор свойств содержит константы конфигурации. Доступ к значению осуществляется по имени. Имена свойств совпадают с именами констант, как они заданы в конфигураторе. Доступность: Сервер, толстый клиент, внешнее соединение. |
|||
38
Сказочный Баобаб
24.09.12
✎
15:32
|
сделал через РС.
И опять засада - не видит его ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица ГДЕ ТекущаяТаблица.Склад В (РегистрСведений.Филиал.Склады) типа РегистрСведений.Филиал.Склады - нету |
|||
39
Feanorko
24.09.12
✎
15:37
|
(38) хз какая у тебя структура регистра, попробуй
ГДЕ ТекущаяТаблица.Склад В (ВЫБРАТЬ Склады ИЗ РегистрСведений.Филиал) |
|||
40
Сказочный Баобаб
24.09.12
✎
16:15
|
(39)все верно. это я туплю.
Но пилять константы видеть не хочет |
|||
41
Feanorko
24.09.12
✎
16:24
|
(40) где не хочет видеть?
|
|||
42
Сказочный Баобаб
24.09.12
✎
16:30
|
(41)
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица ГДЕ ТекущаяТаблица.Склад = Константа.УдаленныйСклад не работает |
|||
43
Feanorko
24.09.12
✎
16:35
|
(42) у меня в запросе тоже так не работает, а вот так работает:
ВЫБРАТЬ Константы.ВалютаРегламентированногоУчета ИЗ Константы КАК Константы |
|||
44
Сказочный Баобаб
24.09.12
✎
16:43
|
(43)хм...подожди!
|
|||
45
Feanorko
24.09.12
✎
16:47
|
(44) а если будет необходимо видеть несколько складов? зачем ограничиваться константой?
|
|||
46
Сказочный Баобаб
24.09.12
✎
17:16
|
(45)я и сам вот в жутких сомнениях. такое возможно. Но должен быть основной склад на чтение всегда.
пока сделал на РС и думаю |
|||
47
Feanorko
24.09.12
✎
17:43
|
(46) ну дак и делай сразу нормально, константа для этих целей - бред.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |