|
Отбор в динамическом списке через текущего пользователя. УТ. | ☑ | ||
---|---|---|---|---|
0
Varlant1n
11.12.20
✎
14:07
|
Здравствуйте! В форме списка документа нужно сделать вечный и постоянный отбор для текущих пользователей. Что я уже успел сделать:
1) В закладке "Запасы" в предопределенных данных планов видов характеристик добавил, кроме "ОсновнойСклад" еще и "ВторойОсновнойСклад" 3) В Предприятии нужным пользователям задал значение основного и второго склада. 2) В модуле формы списка в событии ПриСозданииНаСервере написал следующий код: ГруппаОтбора = Список.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных")); ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ; ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Склад"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнойСклад"); ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Склад"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ВторойОсновнойСклад"); Но при открытии формы ничего ничего нет. Просто пустая форма. Что делать? Где я что-то проглядел? Спасибо заранее! |
|||
1
Fragster
гуру
11.12.20
✎
14:11
|
(а = 1 и а = 2) = ложь
|
|||
2
Varlant1n
11.12.20
✎
14:14
|
(1) Не понял(
|
|||
3
Varlant1n
11.12.20
✎
14:19
|
Я думал мб проблема в выборе события. Игрался и с НаСервере, НаКлиенте и с самими событиями, но ничего не получилось
|
|||
4
youalex
11.12.20
✎
14:21
|
ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ
|
|||
5
Varlant1n
11.12.20
✎
14:22
|
(4) У меня так и написано
|
|||
6
trooba
11.12.20
✎
14:22
|
(0) Вид сравнения в списке и в качестве списка оба значения
|
|||
7
Малыш Джон
11.12.20
✎
14:23
|
(2) у тебя условие получается "Склад = ОсновнойСклад И Склад = ВторойОсновнойСклад"
|
|||
8
Varlant1n
11.12.20
✎
14:24
|
(7) И как мне это можно исправить? Туплю что-то, простите(
|
|||
9
youalex
11.12.20
✎
14:26
|
(5) имянно
|
|||
10
Varlant1n
11.12.20
✎
14:28
|
(9) И?(
|
|||
11
youalex
11.12.20
✎
14:28
|
(10) Нет
|
|||
12
Fragster
гуру
11.12.20
✎
14:36
|
(4) в любом случае остальные элементы отбора добавляются не в группу, а рядом.
Правильно (6), но, возможно, тут требуется не только неотключаемый отбор списка (который, кстати, приведет к ошибке, если пользователь руками добавит отбор на один из складов), а RLS |
|||
13
Varlant1n
11.12.20
✎
14:39
|
(12) В форме убраны все возможности изменения чего-то. И данная форма будет доступна толькоу пользователей, у который есть разрешение только на просмотр
|
|||
14
Varlant1n
11.12.20
✎
15:19
|
Есть какие-то идеи для исправления, ребята?
|
|||
15
FIXXXL
11.12.20
✎
15:38
|
(14) ГруппаИЛИ
|
|||
16
youalex
11.12.20
✎
15:39
|
(12) точно! ТС коварен)
|
|||
17
FIXXXL
11.12.20
✎
15:39
|
(15) или сделай список складов и один элемен в видом сравнения ВСПИСКЕ
|
|||
18
Varlant1n
11.12.20
✎
15:42
|
(15) Опять пусто
|
|||
19
youalex
11.12.20
✎
15:43
|
(18) Потому что у тебя элементы отбора не входят в группу.
Делай как в (6), (17) |
|||
20
Varlant1n
11.12.20
✎
15:47
|
(19) Вот так?
ЭлементОтбора.ВидСравнения = ВидСравнения.ВСписке.ВидСравненияКомпоновкиДанных.Равно; |
|||
21
Varlant1n
11.12.20
✎
15:48
|
Извняюсь, если туплю, много часов работы без перерыва(
|
|||
22
Varlant1n
11.12.20
✎
15:50
|
(20) ..... Да уж, я совсем уже.
ЭлементОтбора.ВидСравнения = ВидСравнения.ВСписке Вот так? |
|||
23
Varlant1n
11.12.20
✎
15:51
|
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
|
|||
24
trooba
11.12.20
✎
15:51
|
(22) да
|
|||
25
Varlant1n
11.12.20
✎
15:51
|
Все равно пусто
|
|||
26
trooba
11.12.20
✎
15:52
|
и в качестве правого значения передаешь список
|
|||
27
Varlant1n
11.12.20
✎
15:53
|
(26) Правое значение у меня вот такое:
ЭлементОтбора.ПравоеЗначение = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнойСклад"); Это для того, чтобы при изменении самого наименования склада, не нужно было лезть в конфигуратор опять |
|||
28
youalex
11.12.20
✎
15:54
|
(27) а нужен список значений
|
|||
29
Varlant1n
11.12.20
✎
16:05
|
(28) То есть я для начала из всего справочника Склады выгружаю колонку с наименование. Вставляю его в список значений и после уже делаю отбор?
|
|||
30
Fragster
гуру
11.12.20
✎
16:06
|
......................................__................................................
.............................,-~*`¯lllllll`*~,.......................................... .......................,-~*`lllllllllllllllllllllllllll¯`*-,.................................... ..................,-~*llllllllllllllllllllllllllllllllllllllllllll*-,.................................. ...............,-*llllllllllllllllllllllllllllllllllllllllllllllllllllll.\.......................... ....... .............;*`lllllllllllllllllllllllllll,-~*~-,llllllllllllllllllll\................................ ..............\lllllllllllllllllllllllllll/.........\;;;;llllllllllll,-`~-,......................... .. ...............\lllllllllllllllllllll,-*...........`~-~-,...(.(¯`*,`,.......................... ................\llllllllllll,-~*.....................)_-\..*`*;..).......................... .................\,-*`¯,*`)............,-~*`~................/..................... ..................|/.../.../~,......-~*,-~*`;................/.\.................. ................./.../.../.../..,-,..*~,.`*~*................*...\................. ................|.../.../.../.*`...\...........................)....)¯`~,.................. ................|./.../..../.......)......,.)`*~-,............/....|..)...`~-,............. ..............././.../...,*`-,.....`-,...*`....,---......\..../...../..|.........¯```*~-,,,, ...............(..........)`*~-,....`*`.,-~*.,-*......|.../..../.../............\........ ................*-,.......`*-,...`~,..``.,,,-*..........|.,*...,*...|..............\........ ...................*,.........`-,...)-,..............,-*`...,-*....(`-,............\....... ......................f`-,.........`-,/...*-,___,,-~*....,-*......|...`-,..........\........ |
|||
31
trooba
11.12.20
✎
16:07
|
(29) СЗ=Новый СписокЗнеачений;
СЗ.Добавить(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнойСклад")); СЗ.Добавить(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "Склад2")); |
|||
32
Fragster
гуру
11.12.20
✎
16:07
|
............................................________
....................................,.-'"...................``~., .............................,.-"..................................."-., .........................,/...............................................":, .....................,?......................................................, .................../...........................................................,} ................./......................................................,:`^`..} .............../...................................................,:"........./ ..............?.....__.........................................:`.........../ ............./__.(....."~-,_..............................,:`........../ .........../(_...."~,_........"~,_....................,:`........_/ ..........{.._$;_......"=,_......."-,_.......,.-~-,},.~";/....} ...........((.....*~_......."=-._......";,,./`..../"............../ ...,,,___.`~,......"~.,....................`.....}............../ ............(....`=-,,.......`........................(......;_,,-" ............/.`~,......`-...................................../ .............`~.*-,.....................................|,./.....,__ ,,_..........}.>-._...................................|..............`=~-, .....`=~-,__......`,................................. ...................`=~-,,.,............................... ................................`:,,...........................`..............__ .....................................`=-,...................,%`>--==`` ........................................_..........._,-%.......` ..................................., |
|||
33
trooba
11.12.20
✎
16:07
|
(30) ))))))))))
|
|||
34
Varlant1n
11.12.20
✎
16:09
|
(32) ))) Ну, ребят(
Ну что вы так сразу)) |
|||
35
Varlant1n
11.12.20
✎
16:16
|
А у меня тут ещё вопрос)))) Понимаю, я очень туплю щас и уже надоел вам. Заработало, но ищет по одному складу. Я сделал ГруппаИЛИ. И теперь вопрос. Я дальше использую один раз:
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Склад"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = СЗ; Или для второго раза тоже? |
|||
36
trooba
11.12.20
✎
16:18
|
(35) для одного
|
|||
37
trooba
11.12.20
✎
16:19
|
(35) Что показывает отладчик в обоих значениях списка значений?
|
|||
38
Varlant1n
11.12.20
✎
16:19
|
(36) Общим итогом у меня так:
&НаКлиенте Процедура ПриОткрытии(Отказ) ГруппаОтбора = Список.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных")); ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИЛИ; СЗ = Новый СписокЗначений; СЗ.Добавить(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнойСклад")); СЗ.Добавить(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ВторойОсновнойСклад")); ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Склад"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = СЗ; КонецПроцедуры Но на форме остется список только по одному складу. Второго нет |
|||
39
Varlant1n
11.12.20
✎
16:25
|
(37) В первом случае он показывает первый склад. Во втором ничего. Я для проверки убрал строку кода
СЗ.Добавить(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнойСклад")); И оставил только второй склад. И форма не отображает этот склад. Пустая форма |
|||
40
Varlant1n
11.12.20
✎
16:27
|
ВСЁ РЕБЯТА! Я понял в чем дело. Сижу я через Админа, а значение второго склада давал другим пользователям. Значение же основного склада предопределенно для всех. В этом и заключалась ошибка. Как поставил и админу, все исправилось. ОГРОМНОЕ СПАСИБО ВАМ ЗА ПОМОЩЬ! Я безумно благодарен!
|
|||
41
rudnitskij
11.12.20
✎
22:41
|
(40) Проще было бы добавить параметр сеанса "Разрешенные склады", и прописать им постоянный доступ только на эти склады. Через РЛС
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |