Как запретить редактирование верхнего элемента?
Здравствуйте, есть иерархический справочник:
Для каждой из этих групп может задаваться Ответственный(Реквизит)
Вопрос: как запретить редактирование той группы, в которой указан этот человек, допустим в группе1 указан иванов. Он может менять Элементы Группы1, Группы1.1 И тд, но не может саму менять группу1?
Вопрос 2: Если В Группе1 указан иванов, он может ниже по иерархии добавлять элементы, во всех группах.
А мне надо чтоб, если человек указан в группе1.1, он мог добавлять элементы ниже по иерархии, но выше, допустим в группе1, он не может добавлять элементы.
Группа1
Группа1.1
ТутЭлементы
Группа1.1.1
ТутЭлементы
Для каждой из этих групп может задаваться Ответственный(Реквизит)
Вопрос: как запретить редактирование той группы, в которой указан этот человек, допустим в группе1 указан иванов. Он может менять Элементы Группы1, Группы1.1 И тд, но не может саму менять группу1?
Вопрос 2: Если В Группе1 указан иванов, он может ниже по иерархии добавлять элементы, во всех группах.
А мне надо чтоб, если человек указан в группе1.1, он мог добавлять элементы ниже по иерархии, но выше, допустим в группе1, он не может добавлять элементы.
По теме из базы знаний
- Всякие полезности
- Разукрупнение (разделение, дробление) и частичная ликвидация основных средств
- Как создать бронебойную систему кибербезопасности на базе 1С
- Управление доступом к формам и элементам форм «УФОРМ-ЮГ» (БП, БП-КОРП, ЕРП, УНФ, УТ, КА, УХ) [Расширение]
- Использование дополнительных реквизитов и сведений в отчетах
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
например с помощью РЛС
ГДЕ Родитель.Ответственный = &ТекущийПользователь
или Родитель.Родитель.Ответственный = &ТекущийПользователь
или при открытии формы элемента
строите запрос
в котором проверяете головную группу, в ней ответственного с текущим пользователем
если что-то не совпало то:
Форма.ТолькоПросмотр = Итсина;
ГДЕ Родитель.Ответственный = &ТекущийПользователь
или Родитель.Родитель.Ответственный = &ТекущийПользователь
или при открытии формы элемента
строите запрос
в котором проверяете головную группу, в ней ответственного с текущим пользователем
если что-то не совпало то:
Форма.ТолькоПросмотр = Итсина;
При редактирование/Добавление проверять все элементы выше по иерархии, если есть, то можно редактировать.
Как вариант
1) Запросом найдите все элементы, где указан нужный ответственный, формируем список значений (можно массив) из этих элементов
2) Вторым запросом отбираем все элементы в иерерхии этих элементов поставив условие В Иерархии(&СписокЭлементов)
Таким образом получим Таблицу элементов, которую может редактировать пользователь, если в таблице нет элемента, то редактировать запретить.
Как вариант
1) Запросом найдите все элементы, где указан нужный ответственный, формируем список значений (можно массив) из этих элементов
2) Вторым запросом отбираем все элементы в иерерхии этих элементов поставив условие В Иерархии(&СписокЭлементов)
Таким образом получим Таблицу элементов, которую может редактировать пользователь, если в таблице нет элемента, то редактировать запретить.
Как вариант:
Процедура ПриОткрытии()
Если Уровень()=1 Тогда
Если Реквизит_ОтветственоеЛицо=ТекущийПользователь Тогда
ЭлементыФормы.Реквизит1.Доступность(0);
ЭлементыФормы.Реквизит2.Доступность(0);
ЭлементыФормы.Реквизит3.Доступность(0);
ЭлементыФормы.РеквизитN.Доступность(0);
КонецЕсли;
КонецПроцедуры
Показать
По условию:
Родитель выше другой - НИЗЯЯЯЯ!
Родитель выше не определен - НИЗЯЯЯЯ! (первый уровень)
Родитель.Ответственній <> ТекущийПользователь ИЛИ Родитель = НЕОПРЕДЕЛЕНО
Родитель выше другой - НИЗЯЯЯЯ!
Родитель выше не определен - НИЗЯЯЯЯ! (первый уровень)
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот