RLS. Отсутствия. Права

1. user1820479 26.07.22 15:24 Сейчас в теме
Добрый день!
ДО 3.0.7
Есть необходимость ограничить права пользователей на просмотр, редактирование отсутствий.
Пытаюсь написать запрос на ограничение данных. Руководителю должны быть доступны отсутствия его подчиненных.
Пробую такой код:
Отсутствие ИЗ Документ.Отсутствие КАК Отсутствие
	ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СтруктураПредприятия КАК СтруктураПредприятия
		ПО Сотрудники.Подразделение = СтруктураПредприятия.Ссылка
	ПО Отсутствие.Сотрудник = Сотрудники.Ссылка
ГДЕ СтруктураПредприятия.Руководитель = &ТекущийПользователь

Подскажите, пожалуйста, как правильно. Заранее благодарен

Изменение:
Попробовал такой код:
Отсутствие ИЗ Документ.Отсутствие КАК Отсутствие
ГДЕ Отсутствие.Сотрудник В (ВЫБРАТЬ
	Сотрудники.Ссылка КАК Ссылка
ИЗ
	Справочник.Сотрудники КАК Сотрудники
ГДЕ
	Сотрудники.Подразделение в (ВЫБРАТЬ
	СтруктураПредприятия.Ссылка КАК Ссылка
ИЗ
	Справочник.СтруктураПредприятия КАК СтруктураПредприятия
ГДЕ
	СтруктураПредприятия.Руководитель В (&СотрудникиПользователя)))
Показать


К сожалению нельзя использовать "ГДЕ
Сотрудники.Подразделение В Иерархии"

ИЗМЕНЕНО:
Отсутствие ГДЕ Отсутствие.Сотрудник В
(ВЫБРАТЬ
Сотрудники.Ссылка КАК Ссылка
ИЗ
Справочник.Сотрудники КАК Сотрудники
ГДЕ
(Сотрудники.Подразделение В
(ВЫБРАТЬ
СтруктураПредприятия.Ссылка КАК Ссылка
ИЗ
Справочник.СтруктураПредприятия КАК СтруктураПредприятия
ГДЕ
СтруктураПредприятия.Руководитель В (&СотрудникиПользователя))
ИЛИ Сотрудники.Подразделение.Родитель В
(ВЫБРАТЬ
СтруктураПредприятия.Ссылка КАК Ссылка
ИЗ
Справочник.СтруктураПредприятия КАК СтруктураПредприятия
ГДЕ
СтруктураПредприятия.Руководитель В (&СотрудникиПользователя)))
ИЛИ Сотрудники.Подразделение.Родитель.Родитель В
(ВЫБРАТЬ
СтруктураПредприятия.Ссылка КАК Ссылка
ИЗ
Справочник.СтруктураПредприятия КАК СтруктураПредприятия
ГДЕ
СтруктураПредприятия.Руководитель В (&СотрудникиПользователя)))

УАХАХАХАХАХА Зачем "В Иерархии" если можно велосипедить костыли
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. polax 26.07.22 15:51 Сейчас в теме
(1) RLS предназначен для ограничения по ДЕТАЛЬНЫМ записям. Т.е. один и тот же док может читаться пользователем, но при определенных условиях (свой контрагент, своя организация и т.п.). То что ты пишешь решается не RLS. Из профиля нужных пользователей просто удали роли на Добавление/Изменение и Чтение этого документа, а у руководителя оставь
3. user1820479 26.07.22 15:56 Сейчас в теме
(2) но права по отсутствиям в роли пользователи.Базовый документооборот. он общий и для обычных и руководителей. Хотелось бы чтобы обычный пользователь ТОЛЬКО видел отсутствия ТОЛЬКО своего подразделения; руководитель видел и редактировал отсутствия своего подразделения (включая иерархию). наконец, спец роль для чтения и редактирования всех отсутствий, но не админ
4. polax 26.07.22 16:09 Сейчас в теме
Речь ведь о Документообороте? Настроить папки по подразделениям (док по подразделению попадает в папку этого подразделения) и открыть доступ пользователям этого подразделения к этой папке? Вот как здесь
5. user1820479 26.07.22 16:30 Сейчас в теме
(4) Это ведь отсутствия. Их ни в какие папки не нужно раскидывать
6. polax 26.07.22 18:03 Сейчас в теме
Тогда попробуй так

Отсутствие ИЗ Документ.Отсутствие КАК Отсутствие
ЛЕВОЕ СОЕДИНЕНИЕ (Выбрать Пользователи .Подразделение КАК Подразделение 
ИЗ Справочник.Пользователи КАК Пользователи
ПО Отсутствие.Подразделение = Пользователи.Подразделение )
ГДЕ Пользователи.Ссылка = &ТекущийПользователь
7. RustIG 1866 27.07.22 07:49 Сейчас в теме
(0) для анализа профилей вот обработка https://infostart.ru/public/1565697/
Оставьте свое сообщение

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