|
УТ, RLS: автоназначение группы новым Контрагентам | ☑ | ||
---|---|---|---|---|
0
Минона
18.10.11
✎
23:08
|
При использовании RLS невозможно назначить папке Контрагентов Группу Доступа. Поэтому приходится назначить каждому Контрагенту.
Существующим пропишем обработкой. А как автоматизировать прописание новым Контрагентам группы Доступа? При этом желательно не ломать типовую. |
|||
1
rotting
18.10.11
✎
23:14
|
не ломать думаю не получиться, при смене РЛС не особо ломается типовая, только роли, а они и так должны быть уже изменены раз РЛС понадобилась
|
|||
2
Минона
18.10.11
✎
23:22
|
Хорошо, как тогда красивей сделать (0) ?
|
|||
3
rotting
18.10.11
✎
23:28
|
(2) Запрос в РЛС подправить, где-то там написать В ИЕРАРХИИ наверное
|
|||
4
Минона
18.10.11
✎
23:36
|
Может поточнее?
Наверняка кто-то уже делал, спрашивал на форуме. |
|||
5
rotting
18.10.11
✎
23:54
|
не прав, В ИЕРАРХИИ использовать в РЛС нельзя. Помню что как-то делал, но не помню как.... Как-то через параметры сеанса, которые были массивом
|
|||
6
Минона
19.10.11
✎
14:09
|
Помогите кто настраивал!
|
|||
7
shuhard
19.10.11
✎
14:14
|
(6)две строчки кода + один ПВХ - любимая группа доступа контрагентов
|
|||
8
Минона
19.10.11
✎
14:50
|
(7) извините, но ваш пост абсолбютно непонятен.
Какие строчки? с каким кодом? где? что за ПВХ? Я понимаю что ляпнуть что-нибудь с умным видом это круто. Но поверьте мне вы этим нисколько не помогли. |
|||
9
shuhard
19.10.11
✎
15:21
|
(8) мне пох
|
|||
10
Минона
19.10.11
✎
15:28
|
Вопрос (0) все ещё актуален. Нужна помощь!
|
|||
11
FIXXXL
20.10.11
✎
13:40
|
(0) или пользователь сознательно должен выбирать группу перед записью или придется маленько подписать, в процедуре ПередЗаписью объекта:
// установим группу доступа Если ЭтоНовый() Тогда Если НЕ ЭтоГруппа Тогда Если НЕ РольДоступна("ПолныеПрава") Тогда Если НЕ ЗначениеЗаполнено(ГруппаДоступаККонтрагенту) Тогда СпОтбор = ПолучитьСписокГруппДоступа(); Если СпОтбор.Количество()>1 Тогда //пользователь в нескольких группах. пусть выбирает сам из доступных. фрм = Справочники.ГруппыДоступаККонтрагентам.ПолучитьФормуВыбора(); фрм.Заголовок = "Выберите группу доступа к контрагенту"; //оставим для выбора группы, в которые входит пользователь фрм.СправочникСписок.Отбор.Ссылка.Использование = Истина; фрм.СправочникСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке; фрм.СправочникСписок.Отбор.Ссылка.Значение = СпОтбор; фрм.ЭлементыФормы.СправочникСписок.НастройкаОтбора.Ссылка.Доступность = Ложь; ГруппаДоступаККонтрагенту = фрм.ОткрытьМодально(); ИначеЕсли СпОтбор.Количество()=1 Тогда //пользователь в одной группе. проставим ее без выбора. ГруппаДоступаККонтрагенту = СпОтбор[0].Значение; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; Функция ПолучитьСписокГруппДоступа() Экспорт СписокОтбора = Новый СписокЗначений; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НастройкиПравДоступаПользователей.ОбъектДоступа КАК ГруппаДоступа |ИЗ | РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ГруппыПользователейПользователиГруппы.Ссылка КАК ГруппаПользователя | ИЗ | Справочник.ГруппыПользователей.ПользователиГруппы КАК ГруппыПользователейПользователиГруппы | ГДЕ | ГруппыПользователейПользователиГруппы.Пользователь = &Пользователь | | СГРУППИРОВАТЬ ПО | ГруппыПользователейПользователиГруппы.Ссылка) КАК ГрПлз | ПО НастройкиПравДоступаПользователей.Пользователь = ГрПлз.ГруппаПользователя |ГДЕ | НастройкиПравДоступаПользователей.ВидОбъектаДоступа = &ВидОбъектаДоступа | |СГРУППИРОВАТЬ ПО | НастройкиПравДоступаПользователей.ОбъектДоступа"; Запрос.УстановитьПараметр("ВидОбъектаДоступа", Перечисления.ВидыОбъектовДоступа.Контрагенты); Запрос.УстановитьПараметр("Пользователь", глЗначениеПеременной("глТекущийПользователь")); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл СписокОтбора.Добавить(Выборка.ГруппаДоступа); КонецЦикла; Возврат СписокОтбора; КонецФункции ну или как предложил (7) в настройках пользователей добавляете группу по-умолчанию и ее проставляете перед записью |
|||
12
FIXXXL
20.10.11
✎
13:57
|
+(11) ну и что б пользователь не выбирал руками ненужные группы в форме элемента добавить
Процедура ГруппаДоступаККонтрагентуНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; СпcОтбор = ПолучитьСписокГруппДоступа(); фрм = Справочники.ГруппыДоступаККонтрагентам.ПолучитьФормуВыбора(); фрм.Заголовок = "Выберите группу доступа к контрагенту"; //оставим для выбора группы, в которые входит пользователь фрм.СправочникСписок.Отбор.Ссылка.Использование = Истина; фрм.СправочникСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке; фрм.СправочникСписок.Отбор.Ссылка.Значение = СпcОтбор; фрм.ЭлементыФормы.СправочникСписок.НастройкаОтбора.Ссылка.Доступность = Ложь; ГруппаДоступаККонтрагенту = фрм.ОткрытьМодально(); КонецПроцедуры |
|||
13
Минона
25.10.11
✎
10:44
|
2(11) Пожалуй да, лучше ограничение так, чтобы без выбранной группы запись нового была недоступна.
Т.е. если сначала думали разрешить доступ ко всем Контрагентам кроме тех у кого проставлены группы доступа, то сейчас переделали и доступ дали только к тем у кого проставлены (т.е. наоборот). В итоге пока ограниченный юзер не выберет группу (а она у нас одна), ему не дает записать. Думали ещё через преопределенные значения (в настройках Пользователей), но без вмешательства не получается. Пусть уж сами указывают, конфа типовой зато останется. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |