Нужно ЗАПРОСОМ потянуть РОЛЬ

1. dreamcreal 06.07.20 19:46 Сейчас в теме
ЗАДАЧА:

В РОЛЯХ выбрать ЗАПРОСОМ всех пользователей с ролью "АБВ"

Как?

Пожалуйста, напишите хоть что-нибудь, сегодня обещала сдать работу.

Конфигурация УТ 2.3 Украина.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
14. dreamcreal 06.07.20 23:29 Сейчас в теме
Предварительное решение в параметрах сеанса.
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. soft_wind 06.07.20 20:03 Сейчас в теме
(1)
Как?

- Ни как!!!

только перебором пользователей ИБ с проверкой содержит Роль

примерный код
		ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(Пользователь.ИдентификаторПользователяИБ);
		Если ПользовательИБ = Неопределено Тогда
			Сообщить("Пользователь: " + Пользователь + " не найден среди пользователей базы!");
			Возврат;
		КонецЕсли;
			
		Если ПользовательИБ.Роли.Содержит(лкРоль) Тогда
			лкСтр = ДоступОбъектов.Добавить();			
			лкСтр.Объект = лкОписание;
			лкСтр.Синоним = лкСиноним;
		КонецЕсли;
Показать
Sashares; +1 Ответить
4. nomad_irk 72 06.07.20 20:15 Сейчас в теме
(1)Список пользователей с определенным набором ролей можно из конфигуратора вывести, даже программировать ничего не нужно.
5. dreamcreal 06.07.20 20:31 Сейчас в теме
(4) Уточните пожалуйста.
8. nomad_irk 72 06.07.20 20:44 Сейчас в теме
(5)В списке пользователей ИБ можно накладывать отборы по ролям и сделать "Вывести список".
13. dreamcreal 06.07.20 21:25 Сейчас в теме
(8) Спасибо, это для себя больше...
31. Xershi 1479 08.07.20 12:23 Сейчас в теме
(1) если есть профили пользователей, то 1С вывела роли туда.
Если там этого нет, то запрос это данные пользовательские, а роли это конфигуратор.
Поэтому обычным запросом никак, а прямым к базе можно.
34. wau8824ru 22 09.07.20 07:01 Сейчас в теме
(1)
АДАЧА:

В РОЛЯХ выбрать ЗАПРОСОМ всех пользователей с ролью "АБВ"

Как?

Пожалуйста, напишите хоть что-нибудь, сегодня обещала сдать работу.

Конфигурация УТ 2.3 Украина.

Может поздно, но
	// Пользователи
	ВсеПользователи = Новый ТаблицаЗначений;
	ВсеПользователи.Колонки.Добавить("Пользователь");
	ВсеПользователи.Колонки.Добавить("ГЗИДОсновнаяДата");
	ВсеПользователи.Колонки.Добавить("ГЗИДОграничениеРегламентнойИнформацииУпр");
	ВсеПользователи.Колонки.Добавить("ГЗИДОграничениеРегламентнойИнформацииРегл");
	ВсеПользователиИБ = ПользователиИнформационнойБазы.ПолучитьПользователей();
	Для Каждого Элт Из ВсеПользователиИБ Цикл
		ПользовательПоКоду = Справочники.Пользователи.НайтиПоКоду(Элт.Имя);
		Если ПользовательПоКоду <> Неопределено Тогда
			НовСтр = ВсеПользователи.Добавить();
			НовСтр.Пользователь = ПользовательПоКоду;
			НовСтр.ГЗИДОсновнаяДата = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПользовательПоКоду, "ГЗИДОсновнаяДатаEpartner");
			НовСтр.ГЗИДОграничениеРегламентнойИнформацииУпр = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПользовательПоКоду, "ГЗИДОграничениеРегламентнойИнформацииУпрEpartner");
			НовСтр.ГЗИДОграничениеРегламентнойИнформацииРегл = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПользовательПоКоду, "ГЗИДОграничениеРегламентнойИнформацииРеглEpartner");
		КонецЕсли;
	КонецЦикла;
Показать

есть справочник Пользователи, а есть объект ПользователиИнформационнойБазы
35. wau8824ru 22 09.07.20 07:59 Сейчас в теме
(1)
ЗАДАЧА:

В РОЛЯХ выбрать ЗАПРОСОМ всех пользователей с ролью "АБВ"

Как?

С ролями побывал так
	// Пользователи
	ВсеПользователи = Новый ТаблицаЗначений;
	ВсеПользователи.Колонки.Добавить("Пользователь");
	ВсеПользователи.Колонки.Добавить("Роли");
	ВсеПользователи.Колонки.Добавить("ОткрытьМесяцев");
	ВсеПользователиИБ = ПользователиИнформационнойБазы.ПолучитьПользователей();
	Для Каждого ПользовательИБ Из ВсеПользователиИБ Цикл
		ПользовательПоКоду = Справочники.Пользователи.НайтиПоКоду(ПользовательИБ.Имя);
		Если ПользовательПоКоду <> Неопределено Тогда
			НовСтр = ВсеПользователи.Добавить();
			НовСтр.Пользователь = ПользовательПоКоду;
			РолиПользователяИБ = Новый СписокЗначений;
			ОткрытьМесяцевПользователяИБ = Новый СписокЗначений;
			Для Каждого Элт Из ПользовательИБ.Роли Цикл
				ИмяРоли = СтрЗаменить(Элт.Имя, "Epartner", "");
				РолиПользователяИБ.Добавить(ИмяРоли);
				ИскомаяРольЗамены = Неопределено;
				Если ИмяРоли = "ПолныеПрава" Тогда ИскомаяРольЗамены = Число(СтрЗаменить(ИмяРоли, "ПолныеПрава", "-12")); КонецЕсли;
				Если ИмяРоли = "ПравоАдминистрирования" Тогда ИскомаяРольЗамены = Число(СтрЗаменить(ИмяРоли, "ПравоАдминистрирования", "-999")); КонецЕсли;
				Если ИмяРоли = "ПравоБухгалтер" Тогда ИскомаяРольЗамены = Число(СтрЗаменить(ИмяРоли, "ПравоБухгалтер", "-12")); КонецЕсли;
				Если ИмяРоли = "ПравоМенеджерПоТендерам" Тогда ИскомаяРольЗамены = Число(СтрЗаменить(ИмяРоли, "ПравоМенеджерПоТендерам", "-6")); КонецЕсли;
				Если ИмяРоли = "ПравоМенеджерПоЗакупкам" Тогда ИскомаяРольЗамены = Число(СтрЗаменить(ИмяРоли, "ПравоМенеджерПоЗакупкам", "-3")); КонецЕсли;
				Если ИмяРоли = "ПравоМенеджерПоПродажам" Тогда ИскомаяРольЗамены = Число(СтрЗаменить(ИмяРоли, "ПравоМенеджерПоПродажам", "-2")); КонецЕсли;
				Если ИскомаяРольЗамены <> Неопределено Тогда
					ОткрытьМесяцевПользователяИБ.Добавить(ИскомаяРольЗамены);
				КонецЕсли;
				ОткрытьМесяцевПользователяИБ.СортироватьПоЗначению(НаправлениеСортировки.Возр);
			КонецЦикла;
			НовСтр.Роли = РолиПользователяИБ;
			НовСтр.ОткрытьМесяцев = ОткрытьМесяцевПользователяИБ;
		КонецЕсли;
	КонецЦикла;
Показать
3. MuxaH 06.07.20 20:10 Сейчас в теме
Точно, штатными средствами никак.
6. dreamcreal 06.07.20 20:35 Сейчас в теме
Че делать???

Есть группа условно в одном подразделении:

1) Менеджер (видит свои РТУ и РТУ продавцов)
2) Продавец (видят только свои РТУ)
3) Продавец (видят только свои РТУ)


Менеджер должен видеть РТУ продавцов.
Я хотела список продавцов запросом получить.
7. Sashares 34 06.07.20 20:42 Сейчас в теме
(6)И в чем проблема то?
Сначала кодом получаете всех пользователей, у которых есть роль - пример кода в (2), в какой нибудь массив.
Потом можете этот массив пользователей передать в запрос и использовать как хотите.
9. dreamcreal 06.07.20 20:52 Сейчас в теме
(7)
В модуле документа самого что ли?
10. Sashares 34 06.07.20 20:54 Сейчас в теме
(9)Где хотите.
Хоть в обработке.
Вы задачу не озвучили.

Ваш вопрос - как получить запросом пользователей с ролью...
Ответь - получить пользователей с ролью до запроса и передать их в запрос.
17. dreamcreal 07.07.20 14:39 Сейчас в теме
(10)

Вы задачу не озвучили.


Задача была озвучена в стартопике. Будьте пожалуйста внимательнее.

ЗАДАЧА:

В РОЛЯХ выбрать ЗАПРОСОМ всех пользователей с ролью "АБВ"
11. dreamcreal 06.07.20 21:22 Сейчас в теме
12. dreamcreal 06.07.20 21:23 Сейчас в теме
Здесь желательно все прописать.
Прикрепленные файлы:
14. dreamcreal 06.07.20 23:29 Сейчас в теме
Предварительное решение в параметрах сеанса.
15. Fox-trot 157 07.07.20 09:44 Сейчас в теме
афигеть
тогда и в журнале регистраций найдешь решение
18. dreamcreal 07.07.20 14:40 Сейчас в теме
(15)
При чем здесь журнал регистраций? Какое он имеет отношение к ограничению доступа?
30. Fox-trot 157 07.07.20 17:35 Сейчас в теме
точно такое же имеет отношение как и параметры сеанса. никакое
16. nomad_irk 72 07.07.20 09:55 Сейчас в теме
Одному мне не понятно, что тут происходит? :)
Началось с вопроса про "как получить пользователей с определенной ролью запросом?", а превратилось все в ограничение RLS по пользователю.
Забористая трава нынче :)
Sashares; Fox-trot; +2 Ответить
19. dreamcreal 07.07.20 14:44 Сейчас в теме
(16)

ЗАДАЧА:

В РОЛЯХ выбрать ЗАПРОСОМ всех пользователей с ролью "АБВ"



а превратилось все в ограничение RLS по пользователю.

Для ограничений RLS используются запросы. Нет никакого противоречия.
20. nomad_irk 72 07.07.20 14:50 Сейчас в теме
(19) Задача не имеет прямого решения.
Другие способы по озвученным вами условиям были уже озвучены.
В конечном итоге выяснилось, что необходимо выполнить ограничения в RLS. Каким образом это связано с ролями и пользователями с ролью "АБВ" - известно только вам.
21. dreamcreal 07.07.20 15:02 Сейчас в теме
(20) RLS не в ролях настраивается?
23. nomad_irk 72 07.07.20 15:04 Сейчас в теме
(21)Нет. RLS настраивается в том объекте, доступ к которому вы собираетесь ограничивать.
26. dreamcreal 07.07.20 15:09 Сейчас в теме
(23) Почему???
Я же открываю объект "Роль" и на ее вкладке делакю настройки.
Прикрепленные файлы:
28. nomad_irk 72 07.07.20 15:13 Сейчас в теме
(26)Вы еще при этом выбираете объект, в данном случае Документ1 + действие с объектом, на которое распространяется ограничение.
22. nomad_irk 72 07.07.20 15:03 Сейчас в теме
(19)Так они используются не в ролях и не выбирают пользователей с определенной ролью
24. dreamcreal 07.07.20 15:06 Сейчас в теме
(22) Используются не в ролях, а настраиваются в ролях.

не выбирают пользователей с определенной ролью

Кто не выбирает?
25. nomad_irk 72 07.07.20 15:08 Сейчас в теме
(24)В ролях настраиваются шаблоны ограничений, это несколько другое, чем само ограничение.
Кто не выбирает?

Запросы.
27. dreamcreal 07.07.20 15:11 Сейчас в теме
(25)
Кто не выбирает?

Запросы.


Вот именно. Это я и увидела, что запрос не может потянуть роль.
29. nomad_irk 72 07.07.20 15:15 Сейчас в теме
(27)Так если бы вы озвучили вашу проблему сразу понятным языком(со скриншотами, что и где вам нужно сделать), то не пришлось бы устраивать битву экстрасенсов протяженностью вот уже в 28 сообщений.
32. Xershi 1479 08.07.20 12:31 Сейчас в теме
(19) может вам просто нужно сравнить результат запрос разрешенные и без?)
Но без нужно выполнить в привелигированном режиме и поместить результат уже с разрешенными)
33. tindir 09.07.20 05:52 Сейчас в теме
О! А потом я потрачу 20-25 часов для того что бы выкинуть все запросы на проверку РОЛИ в методах "при создании на сервере" и воткнуть все в РЛС. ОБОЖАЮ легась. За него хорошо плотють =)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот