Помогите, пожалуйста, решить задачку. Платформа 8.2, Док 1.3
За каждым корреспондентом закреплен свой менеджер (сделал доп. реквизит). Пытаюсь разграничить права доступа, чтобы менеджер видел только своих клиентов и относящиеся к ним внутренние документы. Каждому корреспонденту присвоил свою группу доступа корреспондентов. Для каждого менеджера создал свою группу доступа, где он единственный участник, и в ограничении прав указал группы доступа корреспондентов, с которым он может работать. (заполняется автоматом по реквизиту корреспондента)
Правилен ли такой подход? Уж слишком громоздко получается: клиентов много, пользователей тоже. Можно ли организовать права как-то по другому?
И возможно ли предоставить пользователю право только на чтение внутреннего документа, но позволить добавлять/изменять файлы к нему.
За каждым корреспондентом закреплен свой менеджер (сделал доп. реквизит). Пытаюсь разграничить права доступа, чтобы менеджер видел только своих клиентов и относящиеся к ним внутренние документы. Каждому корреспонденту присвоил свою группу доступа корреспондентов. Для каждого менеджера создал свою группу доступа, где он единственный участник, и в ограничении прав указал группы доступа корреспондентов, с которым он может работать. (заполняется автоматом по реквизиту корреспондента)
Правилен ли такой подход? Уж слишком громоздко получается: клиентов много, пользователей тоже. Можно ли организовать права как-то по другому?
И возможно ли предоставить пользователю право только на чтение внутреннего документа, но позволить добавлять/изменять файлы к нему.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Самое простое решение в рабочей группе с её автозаполнением, то есть тот, кто создал документ и те, кто принимал участие в бизнес-процессах по этому документу смогут видеть документ, остальным он будет не виден.
Правами так не получится настроить, насколько я знаю, но можно настроить Доступность полей по состоянию, тогда получится решить и такую задачу.
Правами так не получится настроить, насколько я знаю, но можно настроить Доступность полей по состоянию, тогда получится решить и такую задачу.
Пробовал через рабочую группу - не для всех ситуаций подходит. Бывают сложные ситуации, когда пользователям нужно отдельно давать доступ на чтение/изменение и т.д., проблемы из за передачи клиентов и т.п. Много нюансов.
В общем, покопавшись в коде всей этой системы прав доступа, нашел в модуле менеджера объектов метаданных Функцию:
// Возвращает Истина, указывая тем самым что этот объект заполняет свои права
Функция ЕстьМетодЗаполнитьПраваДоступа() Экспорт
Возврат Истина;
КонецФункции
Если возвращает истина, то в процедуре (см. ниже) можно реализовать свою логику назначения прав
// Заполняет параметр ПраваДоступа правами доступа, вычисляя их на
// основании переданного дескриптора доступа.
// Если указан параметр ПротоколРасчетаПрав, то в него
// заносится список данных, которые были использованы для расчета прав.
Процедура ЗаполнитьПраваДоступа(ДескрипторДоступа, ПраваДоступа, ПротоколРасчетаПрав) Экспорт
КонецПроцедуры
Как выход из сложившейся ситуации решил делать через рабочие группы + собственная логика
В общем, покопавшись в коде всей этой системы прав доступа, нашел в модуле менеджера объектов метаданных Функцию:
// Возвращает Истина, указывая тем самым что этот объект заполняет свои права
Функция ЕстьМетодЗаполнитьПраваДоступа() Экспорт
Возврат Истина;
КонецФункции
Если возвращает истина, то в процедуре (см. ниже) можно реализовать свою логику назначения прав
// Заполняет параметр ПраваДоступа правами доступа, вычисляя их на
// основании переданного дескриптора доступа.
// Если указан параметр ПротоколРасчетаПрав, то в него
// заносится список данных, которые были использованы для расчета прав.
Процедура ЗаполнитьПраваДоступа(ДескрипторДоступа, ПраваДоступа, ПротоколРасчетаПрав) Экспорт
КонецПроцедуры
Как выход из сложившейся ситуации решил делать через рабочие группы + собственная логика
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот