|
|
Отбор по текущему пользователю
2S, deskut, Timon1405, Eiffil123, ivanov-i-i, Волшебник, Мультук, pavlika, unenu, RVN, Daniilvb, Homer, Neo58, zenik, DeeK, Niveus, Михаил Козлов, who respawn, Demeteri, denk32, yurikmellon2, del123, youalex, vicof, boev82, , АгентБезопаснойНацио, nick86, Chameleon1980, ДенисСмирнов, vyaz, Толич, Vstur, maxab72, Web00001, skafandr, evgeniy_n, lubitelxml, Somebody, JohnGilbert, AAA, StanyaGeya, Fish, ads55, p-soft, evorle145, shuhard, Garykom, Михаил_
| ☑ |
|
0
deskut
20.02.26
✎
10:20
|
Имеется форма (управляемая) с динамическим списком. Один из реквизитов списка - Автор (тип - СправочникСсылка.Авторы). Также есть параметр сеанса ТекущийПользователь.
Надо сделать отбор: Автор = &ТекущийПользователь, чтобы пользователь видел только строки, которые имеют к нему отношение.
По ряду причин ограничивать на уровне прав доступа я не могу (а было бы легко - "ГДЕ Автор.Наименование = &ТекущийПользователь"), поэтому надо делать именно отбор.
Итак, открываю настройки списка, прописываю условие:
ГДЕ
... .Автор.Наименование = &ТекущийПользователь
На выходе - пустые записи. Что не так?
Пробовал разные варианты - и в запросе это прописывать, и в обычных настройках списка в отборе (т.е. без пометки "Произвольный запрос").
|
|
|
1
Волшебник
20.02.26
✎
10:21
|
слева строка, справа ссылка
|
|
|
2
deskut
20.02.26
✎
10:21
|
"На выходе - пустые записи" - я имел ввиду, что ничего не выводится в списке.
|
|
|
3
deskut
20.02.26
✎
10:22
|
(1) Понимаю. Только вот как это устранить?..
|
|
|
4
deskut
20.02.26
✎
10:31
|
(1) Наоборот ведь. Слева ссылка, справа строка.
|
|
|
5
Мультук
гуру
20.02.26
✎
10:33
|
(0)
== Цитирую
Надо сделать отбор:
Автор = &ТекущийПользователь
Но отбор делаем совсем другой
Автор.Наименование = &ТекущийПользователь
Где логика ?
>> справа строка
Всё зависит от того, что вы суете в &ТекущийПользователь
|
|
|
6
deskut
20.02.26
✎
10:33
|
(5) Первое - визуально. Второе - уже в коде. Большой разницы не вижу, все равно не работает.
|
|
|
7
unenu
20.02.26
✎
10:40
|
20 лет назад привычна "кормить тролля" имела практический смысл.
сейчас обязанность "кормить бота" разрушает эстетическое восприятие мира.
что тут можно советовать?
|
|
|
8
deskut
20.02.26
✎
10:41
|
(5) &ТекущийПользователь - строка.
|
|
|
9
Fish
гуру
20.02.26
✎
10:44
|
(8) Покажи, как задаёшь параметр.
|
|
|
10
deskut
20.02.26
✎
10:46
|
(9) Модуль сеанса:
Процедура УстановкаПараметровСеанса(ИменаПараметровСеанса)
Если НЕ ИменаПараметровСеанса = Неопределено Тогда
ПараметрыСеанса.ТекущийПользователь = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
КонецЕсли;
КонецПроцедуры
|
|
|
11
Somebody
20.02.26
✎
10:47
|
(8) криво это, сказали же. ссылку надо передавать
|
|
|
12
Мультук
гуру
20.02.26
✎
11:02
|
(10)
Всё два вопроса
1) Это типовая конфа ?
2) Код типовой или это вы улучшили ?
(9) -> (10)
Хехе. :-)
|
|
|
13
deskut
20.02.26
✎
11:05
|
(12) Конфигурация самописная. Всё с нуля.
|
|
|
14
RVN
20.02.26
✎
12:25
|
(10) Эт Вы прям с козырей зашли.
А тип параметра сеанса у Вас какой?
|
|
|
15
deskut
20.02.26
✎
12:32
|
(14) Строка(100)
|
|
|
16
RVN
20.02.26
✎
12:40
|
Посмотрите в отладчике:
а точно ли эти 2 ваши строки равны?
|
|
|
17
deskut
20.02.26
✎
13:40
|
Попытаюсь поподробнее объяснить. Хожу где-то возле решения, но что-то не получается.
Открываю форму, в столбце её реквизитов кликаю на реквизит "Список", в окне свойств возле "Настройка списка" нажимаю "Открыть".
Появляется такое окно: https://file.printskrin.ru/2026/02/20/imageff3ff9db5de6e6c6.png
Ставим условие отбора - "Равно".
Левое значение: Автор.Наименование - это Строка.
Правое значение: ТекущийПользователь. Но как его вписать? Это параметр сеанса.
|
|
|
18
deskut
20.02.26
✎
13:43
|
Думаю, есть вкладка Параметры - его надо наверно туда вписать. А вот как его туда получить?
|
|
|
19
2S
20.02.26
✎
13:47
|
(0) Если я верно понял, то Вам нужно что-то типа этого?
&НаСервере
Процедура расшПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
Если <Условие> Тогда
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список,"Автор",<значение>,ВидСравненияКомпоновкиДанных.Равно,,Истина);
Иначе
ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Автор");
КонецЕсли;
КонецПроцедуры
|
|