Имя: Пароль:
1C
1С v8
Фильтр в динамическом списке
0 Alexperumov
 
28.04.16
14:42
УФ 8.3 Есть справочник (100 т. строк), те кто может его просматривать хранятся в регистре, в котором есть ссылка на каждый элемент справочника и пользователей.  Как в динамическом списке справочника отфильтровать по записям в регистре? при открытии создавать гиганский отбор циклом?
1 Goggy
 
28.04.16
14:43
(0) замути свой запрос в чём проблема то?
2 Goggy
 
28.04.16
14:44
+(1) А ПриСозданииНаСервере устанавливаешь параметр отбора вот и всё.
3 Alexperumov
 
28.04.16
14:48
(2) спс попробую так
4 ShoGUN
 
28.04.16
15:00
(0) Тормозить будет очень сильно, упростить не получится? Обычно делают некие группы пользователей, и назначают элементам группу доступа. В этом случае хоть можно будет выборку сделать нормальную по индексу, а в случае структуры как в (0) будет трэш угар и содомия, а не план запроса.
5 Drac0
 
28.04.16
15:06
(0) Прям такая точная настройка? Это получается в регистре в предельном случае может быть 100 000 * КолПользователей записей?
6 Goggy
 
28.04.16
15:08
Да, на счёт тормозов согласен, реализация не оптимальная.

Лучше разобраться например с вариантом в (4) либо разобраться с работой функциональных опций либо в крайнем случае ограничить РЛС.
7 Alexperumov
 
28.04.16
15:10
(5)  Ну не точто бы 100% ))  Там типа я при открытии элемента смотрел есть-нету текущего пользователя с этой ссылкой в регистре и все устраивало. А тут понадобилось чтобы строки вообще не было видно..
8 ShoGUN
 
28.04.16
15:13
(7) Прикинь объемы информации, в (5). В случае формы элемента - запрос довольно простой, а вот в списке будет жесть.
9 Alexperumov
 
28.04.16
15:22
(8) тут смысл в том что по группам не особо катит. может быть любая вариация пользователей. по идее можно хранить все не в регистре, а в самом справочнике, и фильтр отбора получится простой чтото типа ТекущийПользователь ВСписке ПолеКомпоновкиДанных("ТаблицаДоступа"), но тут гемор с обработкой и перекидыванием..
10 ViSo76
 
28.04.16
15:39
Скорее всего нужно попробовать правильно RLS замутить.
11 Drac0
 
28.04.16
15:55
(10) Смысл? RLS будет те же соединения делать.
12 ViSo76
 
28.04.16
15:58
(11) Да но выборка будет окнами и действовать будет везде.
13 Drac0
 
28.04.16
16:01
Кстати, думаю левое соединение будет несложным.

Если в регистре два измерения (Порядок обязателен!):
- Пользователь
- ЭлементСправочника

Передавать в параметре пользователя и такой запрос установить:
ВЫБРАТЬ
    ....
ИЗ
    Справочник.ТвойСправочник КАК ТвойСправочник
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ТвойРегистр КАК ТвойРегистр
        ПО ТвойРегистр.Пользователь = &Пользователь
            И ТвойРегистр.ЭлементСправочника = ТвойСправочник.Ссылка

Запрос можно и в РЛС пихнуть в принципе.
14 Drac0
 
28.04.16
16:01
(13) т.е. внутреннее соединение, а не левое.
15 Alexperumov
 
28.04.16
16:03
Всем спасибо, заработало совету (1) добавил в запрос условие на регистр, поставил параметр текпользователя и открывает минуты 3-5
16 Alexperumov
 
28.04.16
16:07
(14)  Почему не левое?
17 ViSo76
 
28.04.16
16:13
(16) По тому что нужно учить матчасть
18 ViSo76
 
28.04.16
16:18
3-5 минут много. Попробуй через RLS и Динамический без запроса.
19 Alexperumov
 
28.04.16
16:29
(18) попробую еще варианты. еще вопрос а как бы сюда влепить с  ПолныеПрава
20 ViSo76
 
28.04.16
16:37
RLS прописывается в ролях. В полных не прописывай и не будет действовать RLS
21 Alexperumov
 
28.04.16
16:45
(20) на седня мне бы хоть чтобы как-то работало) к этому запросу динамического списка есть вообще программный доступ?
22 ViSo76
 
28.04.16
16:49
(21) Зачем? Почитай про динамический список http://www.develplatform.com/2013/01/blog-post.html + советую почитать по RLS. Его следует делать во всех используемых ролях, которые будут читать данный справочник, кроме ролей где есть все права.
23 ViSo76
 
28.04.16
16:51
24 Alexperumov
 
28.04.16
16:52
(22) Чтобы подменить этот текст запроса когда я захожу.
25 ViSo76
 
28.04.16
16:59
Запрос не нужен, просто в основную таблицу поставишь свой справочник.

Использование RLS для отборов в динамических списках
Книга знаний: Использование RLS для отборов в динамических списках
26 Alexperumov
 
28.04.16
17:31
(25) А где в RLS параметры объявить?
27 ViSo76
 
28.04.16
17:38
(26) Параметры сеанса
28 Alexperumov
 
29.04.16
10:04
(25) Зависает c RLS.

Выкрутился подменой текста запроса для особых пользователей, он оказался доступен &НаСервере - Список.ТекстЗапроса
29 ViSo76
 
29.04.16
11:41
(28) Написал без RLS?
30 EvgeniuXP
 
29.04.16
12:36
(28) это в справке есть :), демонический список
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.