Имя: Пароль:
1C
1С v8
RLS как скрыть пустые папки контрагентов
0 Efimoff
 
25.06.14
15:43
УТ 10. Пытаюсь настроить. Сделал ограничение по контрагентам. Контрагентов в списке справочника не видно. Всё хорошо. Попросили ещё убрать сами папки, т.е ,если есть папка "Покупатели Иванова", то чтобы пользователь <> Иванова не видел ни контрагентов в папке "Покупатели Иванова" (сделал штатно), ни саму папку "Покупатели Иванова".
Сделал с временными таблицами в обычной консоли, но был жестоко остановлен в 1С - использование их в RLS запрещено.
Есть ли способ скрыть пустые папки?
1 Efimoff
 
25.06.14
16:12
^^
2 Maxus43
 
25.06.14
16:15
программно да, с помощью РЛС - надо думать... не думаю что будет красиво
3 Efimoff
 
25.06.14
16:26
а как можно перехватить данные после наложения RLS, но ДО показа пользователю?
4 PR
 
25.06.14
16:30
(0) Не стоит
5 Wobland
 
25.06.14
16:30
(3) немного ранее того, как они начнут показываться
6 Naumov
 
25.06.14
16:31
Если РЛС срабатывает на реквизиты элементов, то кто мешает сделать так же для групп?
7 Господин ПЖ
 
25.06.14
16:34
сделать реквизит rls - для групп и элементов?
8 Dionis Sergeevich
 
25.06.14
16:35
Вместо временной таблицы используй подзапрос
9 Efimoff
 
25.06.14
17:04
(6), (7) Привёл простой пример. Но может быть и так, что в одной папке будут лежать контрагенты разных пользователей. Тогда какую группу доступа вешать на папку?
(8) слишком запутанно получается
10 Dionis Sergeevich
 
25.06.14
17:08
(9) Да не особо запутанно. Но еще нельзя использовать виртуальные таблицы в РЛС. Чтобы было проще - в ворде фиксирую доработки РЛС - прям разным цветом. Ну и отлаживаю в консоли шаблон - "выбрать * из [объект для которого делаем РЛС] как ТекущаяТаблица..." и погнал)
11 Dionis Sergeevich
 
25.06.14
17:10
Впринципе РЛС не сложнее простого использования запросов - не пойму чего его все так боятся и путаются) Вот почитай тут = примеры доработок РЛС - ни чего сложного вообще
http://infostart.ru/public/191339/
12 Новенький_2009
 
25.06.14
17:28
(9) "в одной папке будут лежать контрагенты разных пользователей. Тогда какую группу доступа вешать на папку? "

Очевидно, что нужно где-то хранить связь между папкой, и списком групп пользователей, или просто пользователей. Как ты ее организуешь - дело твое. РС, ТЧ, или что-то иное.
13 Fragster
 
гуру
25.06.14
17:39
для "В иерархии" лучше всего добавить РС (или реквизиты в справочник) с хранением либо "левой" и "правой" границы, либо с "полным путем", тогда В ИЕРАРХИИ заменяется на МЕЖДУ или Подобно "Путь%" соответственно
14 Necessitudo
 
25.06.14
17:43
(0) Сделай программно в форме списка при получении данных.
15 Михаил Козлов
 
25.06.14
18:41
Можно попробовать в ПередОткрытием в форме списка наложить фильтр на папки в дереве (справа) (делал так для номенклатуры).
16 rphosts
 
25.06.14
18:55
(0) делай через РЛС, с ним ничего сложного нет.... если не знаешь - до кучи и РЛС научишься
17 Efimoff
 
26.06.14
23:46
Сделал через РЛС. Реквизит ГруппаДоступаККонтрагенту добавил к группе справочника. Если указана конкретная группа - видит только она, если пустая - все. 3 параметр в шаблоне заменил на "ИЛИ (ЭтоГруппа И ГруппуДоступаККонтрагенту = ЗНАЧЕНИЕ(Справочник.ГруппыДоступаКонтрагентов.ПусиаяСсылка))".
Всем спасибо за правильное развитие мысли
18 vde69
 
модератор
26.06.14
23:57
делаешь параметр сеанса "РазрешенныеГруппыКонтрагентов" фиксированый массив, при старте его заполняешь, и так-же при записи любого элемента ее обновляешь.

далее в RLS

где этоГруппа и Сссылка в (&РазрешенныеГруппыКонтрагентов)
19 Armando
 
27.06.14
00:58
(18) http://its.1c.ru/db/v8std#content:-2145783156:1
"Однако, при изменении значений параметров сеанса или функциональных опций, которые используются в запросах ограничения доступа к данным, происходит очистка накопленного кэша запросов, что приводит к существенному снижению производительности запросов к данным."
20 vde69
 
модератор
27.06.14
07:43
(19) это не на долго (а по поводу замедления оно не значительное, попробуй заметить его при старте системы),

1с имеет в виду, что если каждый вызов запроса менять параметры - будет заметно, а так вообще пофиг.

кроме того в данном случае событий будет паку для юзера...