Добрый день!
ДО 3.0.7
Есть необходимость ограничить права пользователей на просмотр, редактирование отсутствий.
Пытаюсь написать запрос на ограничение данных. Руководителю должны быть доступны отсутствия его подчиненных.
Пробую такой код:
Отсутствие ИЗ Документ.Отсутствие КАК Отсутствие
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СтруктураПредприятия КАК СтруктураПредприятия
ПО Сотрудники.Подразделение = СтруктураПредприятия.Ссылка
ПО Отсутствие.Сотрудник = Сотрудники.Ссылка
ГДЕ СтруктураПредприятия.Руководитель = &ТекущийПользователь
Подскажите, пожалуйста, как правильно. Заранее благодарен
Изменение:
Попробовал такой код:
Отсутствие ИЗ Документ.Отсутствие КАК Отсутствие
ГДЕ Отсутствие.Сотрудник В (ВЫБРАТЬ
Сотрудники.Ссылка КАК Ссылка
ИЗ
Справочник.Сотрудники КАК Сотрудники
ГДЕ
Сотрудники.Подразделение в (ВЫБРАТЬ
СтруктураПредприятия.Ссылка КАК Ссылка
ИЗ
Справочник.СтруктураПредприятия КАК СтруктураПредприятия
ГДЕ
СтруктураПредприятия.Руководитель В (&СотрудникиПользователя)))
Показать
К сожалению нельзя использовать "ГДЕ
Сотрудники.Подразделение В Иерархии"
ИЗМЕНЕНО:
Отсутствие ГДЕ Отсутствие.Сотрудник В
(ВЫБРАТЬ
Сотрудники.Ссылка КАК Ссылка
ИЗ
Справочник.Сотрудники КАК Сотрудники
ГДЕ
(Сотрудники.Подразделение В
(ВЫБРАТЬ
СтруктураПредприятия.Ссылка КАК Ссылка
ИЗ
Справочник.СтруктураПредприятия КАК СтруктураПредприятия
ГДЕ
СтруктураПредприятия.Руководитель В (&СотрудникиПользователя))
ИЛИ Сотрудники.Подразделение.Родитель В
(ВЫБРАТЬ
СтруктураПредприятия.Ссылка КАК Ссылка
ИЗ
Справочник.СтруктураПредприятия КАК СтруктураПредприятия
ГДЕ
СтруктураПредприятия.Руководитель В (&СотрудникиПользователя)))
ИЛИ Сотрудники.Подразделение.Родитель.Родитель В
(ВЫБРАТЬ
СтруктураПредприятия.Ссылка КАК Ссылка
ИЗ
Справочник.СтруктураПредприятия КАК СтруктураПредприятия
ГДЕ
СтруктураПредприятия.Руководитель В (&СотрудникиПользователя)))
УАХАХАХАХАХА Зачем "В Иерархии" если можно велосипедить костыли
(1) RLS предназначен для ограничения по ДЕТАЛЬНЫМ записям. Т.е. один и тот же док может читаться пользователем, но при определенных условиях (свой контрагент, своя организация и т.п.). То что ты пишешь решается не RLS. Из профиля нужных пользователей просто удали роли на Добавление/Изменение и Чтение этого документа, а у руководителя оставь
(2) но права по отсутствиям в роли пользователи.Базовый документооборот. он общий и для обычных и руководителей. Хотелось бы чтобы обычный пользователь ТОЛЬКО видел отсутствия ТОЛЬКО своего подразделения; руководитель видел и редактировал отсутствия своего подразделения (включая иерархию). наконец, спец роль для чтения и редактирования всех отсутствий, но не админ
Речь ведь о Документообороте? Настроить папки по подразделениям (док по подразделению попадает в папку этого подразделения) и открыть доступ пользователям этого подразделения к этой папке? Вот как здесь
Отсутствие ИЗ Документ.Отсутствие КАК Отсутствие
ЛЕВОЕ СОЕДИНЕНИЕ (Выбрать Пользователи .Подразделение КАК Подразделение
ИЗ Справочник.Пользователи КАК Пользователи
ПО Отсутствие.Подразделение = Пользователи.Подразделение )
ГДЕ Пользователи.Ссылка = &ТекущийПользователь