|
Вопрос про RLS
| ☑ |
0
Козинак
05.09.16
✎
13:38
|
Суть такая,добавил в справочник Номенклатура новое поле ГруппаДоступаНоменклатура, новую роль прописал для неё права доступа стандартным шаблоном RLS #позначениям, в ГруппеДоступа настроил права ограничения по Организациям и по ГруппаДоступаНоменклатура. Ограничение всё хорошо срабатывает. Вопрос, как сделать чтобы поле ГруппаДосутпаНоменклатура в справочнике Номенклатура заполнялось автоматически, когда пользователь заходит под определенной организацией?
|
|
1
Лефмихалыч
05.09.16
✎
13:39
|
а зачем так делать?
Это поле должно быть заполнено один раз.
|
|
2
Козинак
05.09.16
✎
13:43
|
Когда пользователь будет создавать новую единицу Номенклатуры, чтобы поле ГруппаДоступаНоменклатура автоматически заполнялось, а не приходилось ему выбирать из списка
|
|
3
Лодырь
05.09.16
✎
13:48
|
(2) Ну и заполняй ее перед записью новой номенклатуры. Механизм можно сделать произвольным.
|
|
4
Козинак
05.09.16
✎
13:50
|
Правильно понимаю что это прописывается непосредственно в модуле формы?
|
|
5
Лодырь
05.09.16
✎
13:51
|
(4) Лучше в модуле объекта или подписке на событие.
|
|
6
Козинак
05.09.16
✎
14:00
|
Процедура ПередЗаписью(отказ)
ГруппаДоступаНоменклатура=Справочники.ГруппаДоступаНоменклатура;
КонецПроцедуры
такое не работает
|
|
7
Mankubus
05.09.16
✎
14:02
|
(6)
ГруппаДоступаНоменклатура=Справочники.ГруппаДоступаНоменклатура(здесь еще что-то надо дописать!);
|
|
8
Козинак
05.09.16
✎
14:09
|
(7) я понимаю что тут что-то не хватает, но что там дописать, чтобы 1с брала из прав ограничения эти данные и заполняла этим поле
|
|
9
Козинак
05.09.16
✎
14:41
|
Как сделать это наподобие Пользователь.ТекущийПользователь(), только для моего реквезита?
|
|
10
Лефмихалыч
05.09.16
✎
15:25
|
для RLSа своего ты значение группы доступа откуда берешь? Из параметра сеанса?
|
|
11
Фрэнки
05.09.16
✎
15:41
|
(10) опаньки! А ведь о параметрах сеанса Козинак даже и не догадывался.
(9) Интересно, каким же тогда способом обращался в RLS, если
для этого в не был определен необходимый ПараметрСеанса?
|
|
12
Лефмихалыч
05.09.16
✎
15:55
|
в общем, если RLS работает, то
//перед записью на сервере
если ЭтоНовый() и не ЗначениеЗаполнено(ГруппаДоступаНоменклатура) Тогда
ГруппаДоступаНоменклатура = ПараметрыСеанса.ГруппаДоступаНоменклатура;
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший