![]() |
|
RLS подразделение УТП | ☑ | ||
---|---|---|---|---|
0
myr4ik07
29.09.16
✎
10:27
|
Имеется иерархический справочник Подразделение с иерархией элементов
http://prntscr.com/cnnoo2 Нужно ограничить в одном из типовых отчетов выбор отбора по подразделению. То есть, показывать в списке отбора выбора в отчете Подразделений только то подразделение, которое в настройках пользователя установлено http://prntscr.com/cnnpf5 Через конфигуратор к справочнику Подразделения добавляю к возможности чтения Подразделения.Ссылка В (ВЫБРАТЬ НастройкиПользователей.Значение ИЗ РегистрСведений.НастройкиПользователей КАК НастройкиПользователей ГДЕ НастройкиПользователей.Пользователь = &ТекущийПользователь И НастройкиПользователей.Настройка.Код = "00005") http://prntscr.com/cnnpwe в результате в выше установленным значение подразделения для пользователя получаю пустой список http://prntscr.com/cnnq7y как получить в результате показ только того подразделения в списке подразделений которое выбрано в настройках пользователя? |
|||
1
gorakh
29.09.16
✎
10:40
|
Из РЛС можно обращаться только к параметрам сеанса. Подразделение в параметры сеанса в виде фиксированного массива. И к нему и обращайся.
|
|||
2
gorakh
29.09.16
✎
10:48
|
пс Параметры могут быть из Параметров сеанса. Ниже работающий код на чтение регистра накопления продажи.
ГДЕ Подразделение В (ВЫБРАТЬ Справочник.Пользователи.ДоступныеПодразделения.Подразделение ИЗ Справочник.Пользователи.ДоступныеПодразделения ГДЕ Справочник.Пользователи.ДоступныеПодразделения.Ссылка = &ТекущийПользователь) |
|||
3
myr4ik07
29.09.16
✎
11:00
|
(1) так &ТекущийПользователь это и есть значение параметра сеанса
|
|||
4
myr4ik07
29.09.16
✎
11:02
|
я полагаю тут дело в иерархическом справочнике элементов, так как выбираю верхнуюю группу то в списке показывается только верхняя группа, а если выбираю подчиненные элементо то результат пустой
|
|||
5
myr4ik07
29.09.16
✎
12:09
|
так как верный отбор получить?
|
|||
6
myr4ik07
29.09.16
✎
12:09
|
я даже отбор не могу получить
ЭтаФорма.СправочникСписок.Отбор.Наименование.ВидСравнения = ВидСравнения.Равно; ЭтаФорма.СправочникСписок.Отбор.Наименование.Значение = Строка(Подразделение); // Подразделение ссылка на подразделение ЭтаФорма.СправочникСписок.Отбор.Наименование.Использование = Истина; при открытии этого списка |
|||
7
myr4ik07
29.09.16
✎
12:48
|
Если РольДоступна("WH_УправляющийМагазином") Тогда
Список = Новый СписокЗначений; список = Новый СписокЗначений; Список.Добавить( Справочники.Подразделения.НайтиПоКоду("000000002").Родитель); Список.Добавить( Справочники.Подразделения.НайтиПоКоду("000000002")); СправочникСписок.Отбор.Ссылка.Использование = Истина; СправочникСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке; СправочникСписок.Отбор.Ссылка.Значение = Список; ЭлементыФормы.СправочникСписок.ИерархическийПросмотр=Истина; КонецЕсли; |
|||
8
myr4ik07
29.09.16
✎
13:01
|
Подразделения ГДЕ (Подразделения.Ссылка В
(ВЫБРАТЬ НастройкиПользователей.Значение.Родитель ИЗ РегистрСведений.НастройкиПользователей КАК НастройкиПользователей ГДЕ НастройкиПользователей.Пользователь = &ТекущийПользователь И НастройкиПользователей.Настройка.Код = "00005") ИЛИ Подразделения.Ссылка В (ВЫБРАТЬ НастройкиПользователей.Значение ИЗ РегистрСведений.НастройкиПользователей КАК НастройкиПользователей ГДЕ НастройкиПользователей.Пользователь = &ТекущийПользователь И НастройкиПользователей.Настройка.Код = "00005")) отображает так как надо, значит для справочников в которых иерархия элементов нужно сначала родителя искать, а потом элемент |
|||
9
myr4ik07
29.09.16
✎
13:02
|
http://prntscr.com/cnpbb4 результат
|
|||
10
myr4ik07
29.09.16
✎
13:48
|
а на счет отчетов, где после рлс пишет что объект не найден то не забываем наложить еще рлс на регистры откуда беруться данные для отчета, что бы показывало только те данные, которые разрешены для пользователя. В моем случаи например для подразделения
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |