...

Ограничить просмотр в зависимости от группы пользователя

Тема в разделе "Разработчикам", создана пользователем alexfuse, 21 фев 2018.

  1. alexfuse

    alexfuse Member

    Нужно ограничить просмотр возможностей/сделок, что бы менеджер находящийся в группе "А" (при переходе "Главная страница" -> "Работа с клиентами"->"Возможность" или "Сделка") видел только те возможности/сделки, у которых переменная "Код филиала" = "А"
    Так же нужно скрывать дерево фильтров для менеджеров.

    Была идея реализовать это через JS. В файле cshtml определять текущего пользователя и его принадлежность к группе и скрывать дерево фильтров, а в кнопке "Возможности" заменить ссылку перехода с /CRM/Lead на заранее настроенный фильтр CRM/Lead?FilterId=71, так же и с кнопкой "Сделка"

    Вопрос в том можно ли реализовать это встроенными средствами?
    Если нет, то в каком файле прописать скрипт?
     
  2. pushkarev

    pushkarev Active Member

    Данная задача довольно неплохо решена встроенными средствами ELMA, с помощью выставления категорий контрагентам и возможностям. Подробнее можно почитать в справке.
     
  3. alexfuse

    alexfuse Member

    А ограничение по сделкам нужно в ручную настраивать?
     
  4. pushkarev

    pushkarev Active Member

    Права на сделки по умолчанию наследуются из контрагента, если требуются иные права, то нужно отключить наследование для данной сделки и прописать уникальные для данной сделки права.
     
  5. alexfuse

    alexfuse Member

    В какой момент выставляется категория?
    Создал категорию
    Снимок1.JPG
    Создал правило для возможности
    Снимок2.JPG
    В итоге категория пустая у возможности
    Снимок3.JPG
     
  6. pushkarev

    pushkarev Active Member

    Автоматическое выставление категорий отрабатывает после внесения изменений в контрагента или возможность (либо после создания), замечу, что выставление категорий происходит, только если изменения вносились непосредственно через веб интерфейс и кнопку редактирования объекта, то есть если контрагент менялся процессом или скриптом, пересчет категорий не произойдет. Так же есть возможность запустить пересчет категорий по всем имеющимся сущностям, после окончания пересчета, категории расставятся всем объектам.
     
  7. alexfuse

    alexfuse Member

    Подскажите еще пожалуйста, как при создании нового контрагента автоматически присваивать ему категорию менеджера, который создает этого контрагента в коде страинцы ContractorIndividualEditForm? Если это делать через правило, то для одного филиала нужно сделать столько правил, сколько менеджеров в этом филиале. А с учетом того что филиалов может быть много, будет много правил в которых легко запутаться
     
    Последнее редактирование: 22 фев 2018
  8. pushkarev

    pushkarev Active Member

    Я думаю что можно обойтись правилами, они позволяют делать запросы на EQL в которых можно настроить достаточно гибкую логику. Там нужно определиться как соотнести пользователи и категорию, т.к. у пользователя прямой связки с категорией есть только права доступа к категории. Нужно будет создать правила для каждой категории и описать в eql запросе признак по которому она назначается, есть 2 способа:
    1. Перечислить всех пользователей в правиле относящихся к данной категории.
    2. Написать более сложный запрос, который по определенному уровню доступа к категории ответственного пользователя будет указывать данную категорию. Например написать, что если ответственный имеет право на редактирование данной категории, то выставляется данная категория. (это более сложный вариант, тут нужно попробовать, есть риск, что такой запрос все таки невозможно составить на eql)
     
  9. alexfuse

    alexfuse Member

    Точно! Спасибо :)
     

Поделиться: