Имя: Пароль:
1C
1С v8
отбор при выводе справочника
0 alexsandrinia
 
09.06.15
08:21
необходимо сделать программно отбор по пользователю при открытии справочника. т.е. для каждого пользователя отображается только его номенклатура. как реализовать, чтоб перед открытием справочника сразу всё происходило? с чего начать? формы управляемые.
1 SeraFim
 
09.06.15
08:24
Правами?
2 alexsandrinia
 
09.06.15
08:25
(1) где и как? что почитать на эту тему?
3 Рэйв
 
09.06.15
08:34
(0)Если для каждого юзера свой список номенклатуры, то логично закличить, что придется завести РС со списками. И по ним отбирать пр открытии
4 alexsandrinia
 
09.06.15
08:37
(3) что такое РС?
5 Рэйв
 
09.06.15
08:39
(4)Регистр сведений
6 alexsandrinia
 
09.06.15
08:43
есть 01_Пользователь, есть 01_Номенклатура, определить какая именно номенклатура принадлежит пользователю я могу. вопрос в другом - как мне вывести при открытии справочника все 01_Номенклатура, если зашёл 01_Пользователь ?
7 чувак
 
09.06.15
08:43
(0) Это как понять у каждого юзера свои номенклатуры?
8 чувак
 
09.06.15
08:44
(6) РЛС поможет. Это самый верный путь.
А так вариантов масса
9 alexsandrinia
 
09.06.15
08:45
(7) типа (6)
10 alexsandrinia
 
09.06.15
09:00
(8) как можно сделать отбор в форме самого справочника, при открытии?
11 vittany
 
09.06.15
09:03
(10) Имеется в виду форма списка справочника, так ведь? Там динамический список - можете его сформировать запросом с вашим отбором по пользаку.
12 чувак
 
09.06.15
09:03
(10) Если у тебя динамический список, тогда посмотри. Как там получаются данные: из запроса или из таблицы. Если из таблицы, тогда поменяй на "из запроса" и там поставь параметр в условие.
Патом в модуле формы в событии "При создании на сервере" колдуешь над этим динамическим списком
13 alexsandrinia
 
09.06.15
09:05
(11) да, в каком месте нужно запрос поставить? по точкам останова не могу определить момент запуска справочника.
14 alexsandrinia
 
09.06.15
09:14
получается, нужно создать ФормуСписка и там делать все махинации?
15 чувак
 
09.06.15
09:16
(14) Если нету форму списка, тогда создай. Открой форму списка, в свойствах динамичесеого списка поменяй на полученеи из запроса
16 alexsandrinia
 
09.06.15
09:25
(15) где находится этот динамический список?
17 newbling
 
09.06.15
09:37
Делай запрос, который будет в результате тебе выдавать номенклатуру, удовлетворяющую условию - т.е. по пользователю.
Создавай список значений, туда загоняй эту номенклатуру.

Далее тебе нужно для списка задать отбор вида: Номенклатура В Списке ТвойСписок.

По поводу что где найти, материалов полно, например тут
http://v8.1c.ru/metod/faq2/answer.jsp?id=548
18 чувак
 
09.06.15
09:44
19 Timon1405
 
09.06.15
09:50
(12)(18) совет из разряда "неочень". А если форма будет из другого места открываться, там тоже параметры прописывать будете(менять типовую например)?
Для такого обычно используется первый способ из (17)
20 newbling
 
09.06.15
12:28
(19) Первый в данном случае не подойдёт. Там нельзя задать сложное сравнение, которое требуется здесь.
21 Timon1405
 
09.06.15
12:30
(20) Я просто оставлю это здесь

Расширение управляемой формы для динамического списка.Отбор (Managed form extension for dynamic lists.Filter)
Расширение управляемой формы для динамического списка (Managed form extension for dynamic lists)
Отбор (Filter)
Описание:

Тип: Структура.
Используется для установки отбора в динамическом списке. Ключ структуры - имя поля основной таблицы.
Значение элемента структуры содержит значение отбора.
Если значение является массивом, фиксированным массивом или списком значений с не одним элементом, то отбор будет применяться с видом сравнения ВСписке.