|
Программное добавление отбора | ☑ | ||
---|---|---|---|---|
0
Marry04
06.12.16
✎
05:23
|
УТ 11.3
Существует два вида пользователей: менеджер и руководитель менеджеров (определенного подразделения). менеджеры видят документы внутри своего подразделения, как и руководители. При формировании отчета "Ведомость расчетов с клиентами" нужно сделать программное добавление отбора: если текущий пользователь менеджер, то в отборе автоматически устанавливается Менеджер текущий и подразделение, к которому принадлежит данный пользователь. С отсутствием возможности на редактирование. если тек пользователь руководитель менеджеров, то он может выбрать менеджеров из справочника "Текущие пользователи" и перевыбрать подразделение(НО К ЗАПОЛНЕНИЮ ОНО ОБЯЗАТЕЛЬНО). Ну и расширенный функционал СКД запретить для менеджеров. Это я сделаю в функции "При открытии формы на сервере"в зависимости от выбранных ролей текущего пользователя. Структура отчета: (скрин) https://docs.google.com/drawings/d/1r6E_711W47QacTdUPWM0KDlYfDcnQfkSfFgZgRuttWw/edit?usp=sharing Начинала делать так: При открытии формы настроек на сервере: ЭлементОтбора = Элементы.Отборы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Заказ.Менеджер"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; Отборы.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; // это что бы пользователь не видел этот отбор Отборы.ПравоеЗначение = ПользователиИнформационнойБазы.ТекущийПользователь(); Ругается на метод Добавить и т.д. |
|||
1
mehfk
06.12.16
✎
05:31
|
Пригласите специалиста.
|
|||
2
Antony8x
06.12.16
✎
07:47
|
(0)
ЭлементОтбора = Элементы.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); |
|||
3
Antony8x
06.12.16
✎
07:47
|
(1) уже здесь
|
|||
4
Marry04
06.12.16
✎
11:36
|
(2) не идет. Отбор - нет такого объекта. Только Отборы
|
|||
5
singlych
06.12.16
✎
12:00
|
1. Дык наверно надо в настройки компоновки отбор добавлять, а не в элементы формы.
2. А если никто не откроет настройки отчета, то и отбор не добавится? |
|||
6
Aleksandr N
06.12.16
✎
12:02
|
КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить...
|
|||
7
Marry04
07.12.16
✎
10:13
|
(5) в форму отчета добавила 2 поля: "подразделение", "менеджер".
При открытии формы отчета на сервере прописала след.код: Пользователь = ПараметрыСеанса.ТекущийПользователь; ЭлементыОтбора = Новый Соответствие; ЭлементОтбора = ЭлементыОтбора.Получить ( Новый ПолеКомпоновкиДанных("Заказ.Менеджер")); Если ЭлементОтбора = Неопределено Тогда ЭлементОтбора = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Заказ.Менеджер"); КонецЕсли; ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; // это что бы пользователь не видел этот отбор ЭлементОтбора.ПравоеЗначение = Пользователь; Но при этом при открытии отчета поля Отбора пустые.. Отладчик прошлась посмотрела значения переменных- все нормально. (скрин отчета) https://docs.google.com/drawings/d/1R8BYCbdk4KRVZdSh4YthPD0PRnSiJD4SAe7FNTLvQ1s/edit?usp=sharing |
|||
8
EvgeniuXP
07.12.16
✎
10:34
|
есть еще пользовательские настройки, там глянь в отладке :)
|
|||
9
EvgeniuXP
07.12.16
✎
10:37
|
а в СКД что мешало сразу добавить отбор как недоступным? нафига программно при открытии создавать?
|
|||
10
EvgeniuXP
07.12.16
✎
10:41
|
и в комментарии написала "это что бы пользователь не видел отбор" - ну вот и не видишь, всё правильно.
|
|||
11
Marry04
07.12.16
✎
12:27
|
(10) для некоторых пользователей(с определенными ролями) нужно открыть возможность редактирования отбора.поэтому программно настраиваю все
|
|||
12
EvgeniuXP
08.12.16
✎
18:59
|
(11) сделай тогда проще - два отчета, один с отбором, другой без - один отчет для одних открывай, другой доя других с обязательным заполнением и передачу в компоновку параметра
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |