Здравствуйте.
Столкнулся с такой задачей и решил задать вопрос.
Есть Справочник ГруппыДоступа, в котором на форме с помощью программного кода реализован отбор и вывод в табличную часть сведений из других справочников, регистров сведений....
Поработав и не найдя способа выполнить задачу, задался вопросом, а вдруг это невыполнимая задача, а затем уже решил задать этот вопрос здесь.
Собственно стоит задача делать отбор по информации из справочника ГруппыДоступа, что бы фильтровать по этим группам пользователей, которые состоят в этих группах.
Я начинающий специалист и эта задача привела уже нескольких очень опытных людей в тупик.
Вопрос усложняется ещё и потому что в справочник ГруппыДоступа записывается информация (то есть туда пишется пользователь (ФИО)), в колонку под именем "Пользователь", только тогда когда пользователю присваиваются права из раздела ПраваДоступа.
Если же пользователю даются права при помощи групп пользователей, то в Справочник не пишется информация, о том что пользователю присвоена группа (то есть в колонку группы в справочнике пользователь не вписывается)...
Вот и думаю я где выуживать эту информацию или как делать такой отбор с помощью запроса...
Столкнулся с такой задачей и решил задать вопрос.
Есть Справочник ГруппыДоступа, в котором на форме с помощью программного кода реализован отбор и вывод в табличную часть сведений из других справочников, регистров сведений....
Поработав и не найдя способа выполнить задачу, задался вопросом, а вдруг это невыполнимая задача, а затем уже решил задать этот вопрос здесь.
Собственно стоит задача делать отбор по информации из справочника ГруппыДоступа, что бы фильтровать по этим группам пользователей, которые состоят в этих группах.
Я начинающий специалист и эта задача привела уже нескольких очень опытных людей в тупик.
Вопрос усложняется ещё и потому что в справочник ГруппыДоступа записывается информация (то есть туда пишется пользователь (ФИО)), в колонку под именем "Пользователь", только тогда когда пользователю присваиваются права из раздела ПраваДоступа.
Если же пользователю даются права при помощи групп пользователей, то в Справочник не пишется информация, о том что пользователю присвоена группа (то есть в колонку группы в справочнике пользователь не вписывается)...
Вот и думаю я где выуживать эту информацию или как делать такой отбор с помощью запроса...
Прикрепленные файлы:
По теме из базы знаний
- Битва параллелизмов: MS SQL vs PostgreSQL
- 100+ тестов на Vanessa-Automation. Личный опыт без маркетинга
- Импортозамещение BI. Встраивание 1С:Аналитики в аналитический ландшафт компании
- Переход на Clickhouse для анализа метрик
- 1С:Аналитика: архитектура и примеры внедрений BI-решений для пользователей 1С
Найденные решения
вот отчет на СКД по составу групп польователей с возможностью вывода контактной информации (настраивается в предприятии через выбранные поля)
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
взрыв мозга )
Не особо суть задачи понял, а с темой вообще связать не могу )
Для конкретного пользователя нужно получить его группы доступа?
Если так, то почему не посмотрели отчет по правам, который у вас на второй картинке?
Не особо суть задачи понял, а с темой вообще связать не могу )
Для конкретного пользователя нужно получить его группы доступа?
Если так, то почему не посмотрели отчет по правам, который у вас на второй картинке?
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ГруппыДоступа.Ссылка КАК ГруппаДоступа,
| ГруппыДоступа.Профиль,
| ГруппыДоступаПользователи.Пользователь,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ГруппыДоступаПользователи.Пользователь) <> ТИП(Справочник.Пользователи)
| И ТИПЗНАЧЕНИЯ(ГруппыДоступаПользователи.Пользователь) <> ТИП(Справочник.ВнешниеПользователи)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ГрупповоеУчастие
|ПОМЕСТИТЬ ГруппыДоступаПользователя
|ИЗ
| Справочник.ГруппыДоступа КАК ГруппыДоступа
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
| ПО ГруппыДоступа.Ссылка = ГруппыДоступаПользователи.Ссылка
| И (НЕ ГруппыДоступа.ПометкаУдаления)
| И (НЕ ГруппыДоступа.Профиль.ПометкаУдаления)
| И (ВЫБОР
| КОГДА &ВыводПравГруппы
| ТОГДА ГруппыДоступаПользователи.Пользователь = &Пользователь
| ИНАЧЕ ИСТИНА В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
| ГДЕ
| СоставыГруппПользователей.ГруппаПользователей = ГруппыДоступаПользователи.Пользователь
| И СоставыГруппПользователей.Пользователь = &Пользователь)
| КОНЕЦ)
|;
Показать
(3)
=)
попробую объяснить ещё раз...
вопрос в том, что информация о присвоенных группах доступа не добавляется в справочник ГруппыДоступа в колонку пользователь в соответствующую строку, (в одном случае) -
и поэтому смыла делать запрос по справочнику ГруппыДоступа просто нет, потому что там не полная информация о пользователях и их группах доступа
например:
если я присваиваю пользователю группу доступа выставляя галочкой на группе пользователя Администраторы (в редактировании свойств пользователя), то потом зайдя в справочник ГД я не вижу там в колонке его имя
(и соответственно не могу делать отборы по этому пользователю из этого справочника),
(а вдругом случае добавляется):
если я дам ему просто права в разделе редактирования пользователя Права доступа, то пользователь пропишется в эту колонку...
Надеюсь я понятно объяснил
и не придётся снимать на эту тему видео =)
=)
попробую объяснить ещё раз...
вопрос в том, что информация о присвоенных группах доступа не добавляется в справочник ГруппыДоступа в колонку пользователь в соответствующую строку, (в одном случае) -
и поэтому смыла делать запрос по справочнику ГруппыДоступа просто нет, потому что там не полная информация о пользователях и их группах доступа
например:
если я присваиваю пользователю группу доступа выставляя галочкой на группе пользователя Администраторы (в редактировании свойств пользователя), то потом зайдя в справочник ГД я не вижу там в колонке его имя
(и соответственно не могу делать отборы по этому пользователю из этого справочника),
(а вдругом случае добавляется):
если я дам ему просто права в разделе редактирования пользователя Права доступа, то пользователь пропишется в эту колонку...
Надеюсь я понятно объяснил
и не придётся снимать на эту тему видео =)
(4) так указанный выше запрос разве не учитывает это?
параметр &ВыводПравГруппы = Ложь и &Пользователь = Нужный пользователь
Сделал в УТ 11.1.3 пример. Завел группу пользователей, поместил туда одного пользователя. В группу доступа указал эту группу пользователей (сам пользователь там не появился, только группа пользователей). Запрос показывает все группы доступа: и те, где пользователь явно и те, где группа пользователей, в которой данный пользователь
Думаю в ЕРП не должно было что-то принципиально поменяться по управлению доступом.. можете глянуть в отчете по правам как там определяется список подходящих групп доступа при определении прав
параметр &ВыводПравГруппы = Ложь и &Пользователь = Нужный пользователь
Сделал в УТ 11.1.3 пример. Завел группу пользователей, поместил туда одного пользователя. В группу доступа указал эту группу пользователей (сам пользователь там не появился, только группа пользователей). Запрос показывает все группы доступа: и те, где пользователь явно и те, где группа пользователей, в которой данный пользователь
Думаю в ЕРП не должно было что-то принципиально поменяться по управлению доступом.. можете глянуть в отчете по правам как там определяется список подходящих групп доступа при определении прав
(5)
Я только что взял пользователя и дал ему группу Администраторы, после этого зашёл в ГруппыПользователей и посмотрел, он там не появился и той группы в которой он состоит (вторая галочка на группах пользователей), там тоже не записана...
=)
Как система определяет что пользователь в группе доступа Администраторы? Это же где-то должно быть сохранено?
Ну или не Администраторы, а какая-нибудь другая группа...
* * *
Вопрос то вот в чём, если я пользователю даю группу пользователей, то ему присваиваются группы доступа автоматом и они куда-то пишутся только их не видно.......
* * *
А вот что твой запрос у меня в консоли выдал: там вылазит внешний пользователь...
Я только что взял пользователя и дал ему группу Администраторы, после этого зашёл в ГруппыПользователей и посмотрел, он там не появился и той группы в которой он состоит (вторая галочка на группах пользователей), там тоже не записана...
=)
Как система определяет что пользователь в группе доступа Администраторы? Это же где-то должно быть сохранено?
Ну или не Администраторы, а какая-нибудь другая группа...
* * *
Вопрос то вот в чём, если я пользователю даю группу пользователей, то ему присваиваются группы доступа автоматом и они куда-то пишутся только их не видно.......
* * *
А вот что твой запрос у меня в консоли выдал: там вылазит внешний пользователь...
Прикрепленные файлы:
Как система определяет что пользователь в группе доступа Администраторы? Это же где-то должно быть сохранено?
- либо явное присутствие пользователя в табличной части Группы доступа, либо в Группе доступа указана Группа пользователей, в составе которой есть этот пользователь. По запросу видно, что состав групп определяется по регистру РегистрСведений.СоставыГруппПользователей
Вопрос то вот в чём, если я пользователю даю группу пользователей, то ему присваиваются группы доступа автоматом и они куда-то пишутся только их не видно.......
- никуда не пишутся, определяются как описано выше
А вот что твой запрос у меня в консоли выдал: там вылазит внешний пользователь...
- ну, видимо, консоль такая, измените вручную тип на Справочник.Пользователи
Лучше проверять на какой-нить обычной группе доступа, а не на полных правах, по полным правам могут быть свои какие-то заморочки запрограммированы.
вот отчет на СКД по составу групп польователей с возможностью вывода контактной информации (настраивается в предприятии через выбранные поля)
Прикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот