Раздать права доступа на импортируемые записи

В компании есть несколько региональных подразделений.
Создана организационная структура:
Регион 1 - отдел продаж
Регион 2 - отдел продаж
Регион 3 - отдел продаж
Разделение на регионы - условное
Т.е. Регион включает в себя и рядом располагающиеся регионы.

В BPN импортированы клиенты из каждого региона:
Название клиента и телефон
В карточке контрагента зарегистрировано, что клиент является клиентом именно этого региона.
Создано дополнительное поле "Какому региону принадлежит контрагент": и заполнено значением
Клиент Региона 1
Клиент Региона 2
Клиент Региона 3

Произведен импорт данных из под Supervisor (Ответственный -Supervisor)

Прошу помочь
настроить права доступа таким образом, чтобы
каждый регион видел только свои симпортированные Supervisor-ом данные

и вторая задача
добавить в эти условия: при добавлении новых контрагентов -
Пользователь видит только свои или записи сотрудников, входящих в его Регион.

Спасибо

Решение облачное - 7.8.

Т.е прописать через базу данных не представляется возможным
буду всем безумно благодарна

Нравится

11 комментариев

Приветствую!

Способ 1. Решали подобный кейс так, что сделали процесс с сигналом при записи нового контрагента и в нем манипулировали правами при импорте записей.

Способ 2. Прописать представляется возможным и в облаке. Для этого используйте создание sql запроса, который вы можете сотворить на закладке "SQL-скрипты" Вашего пользовательского пакета в настройках конфигурации. Вот только сам текст запроса попросите у коллег из поддержки. Я не уверен, что мой подойдет.

"Милова Марина Федоровна" написал:Решение облачное - 7.8.

Т.е прописать через базу данных не представляется возможным

По моему скромному мнению обработка прав доступа на уже проимпортированные данные это только написание курсоров для выполнения на sql сервере. И проблемы в том что это облако никакой нет.

Второй вопрос я бы честно говоря тоже решил написанием хранимой процедуры по особой раздаче прав, которую вызывал бы по событию сохранения записи объекта контрагент. Плюс справочник-развязку, который дает возможность связать группы пользователей и справочник регионов.

Можно еще подумать про задействовать механизм раздачи прав по умолчанию штатный (пользователь входящий в группу региона, раздает права по умолчанию для группы своего региона и может создавать только записи для своего региона), но это как мне кажется из постановки задачи может не полностью подойти.

"Дмитрий Степанов" написал:Способ 1. Решали подобный кейс так, что сделали процесс с сигналом при записи нового контрагента и в нем манипулировали правами при импорте записей.

Дмитрий, а можно поподробнее, как манипулировали?

"Александр Кудряшов" написал:По моему скромному мнению обработка прав доступа на уже проимпортированные данные это только написание курсоров для выполнения на sql сервере. И проблемы в том что это облако никакой нет.

Коллеги, я правильно понимаю, что Пользовательским интерфейсом это никак не решить?

"Милова Марина Федоровна" написал:Коллеги, я правильно понимаю, что Пользовательским интерфейсом это никак не решить?

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

Кстати, я подобное решал - мы писали хранимку для правильной умной раздачи прав, а дальше просто вызываем ее курсором например - получаем первичную обработку, и добавляем вызов в код бп на сигнал сохранения записи. Так что решение второй задачи практически включает решение первой))

"Александр Кудряшов" написал:Для разработчика это задача на 3-6 часов - с подстраховкой на неполную постановку и неизвестные субд и объемы данных, не больше.

Саш, спасибо

Марина, в БП есть элемент для управления доступом (правами). Ну берем ответственного из файла импорта, смотрим, куда он относится в bpmonline и выставляем права. Но скажем так - если эта операция разовая (редкая), я бы запрос пускал.

"Дмитрий Степанов" написал:Ну берем ответственного из файла импорта, смотрим, куда он относится в bpmonline и выставляем права.

Дмитрий, ответственных нет. так как файл сводный. Т.е. все прислали всё по своему региону.
без детализации, кто чей клиент

Есть единственное поле "Какому региону принадлежит клиент"
Только на него можно опираться пока

Коллеги, зачем нужен портал, если там невозможно получить ответ.
Что делать с клиентом?
Сказать, что помочь ему никто не может, даже техническая поддержка Террасофт.
Потому что
Цитата из технической поддержки Террасофта:

В данном инциденте решение предоставлятся не будет, так как вопрос и так уже рассматривается на нашем форуме. Ссылка на тему дана в предыдущем комментарии. Если у Вас остались какие-то не закрытые вопросы - Вы можете задать их в той же теме.

Марина, есть два пути - первый (системный) Вам рассказал коллега (с курсором), второй (процессный) расскащал Вам я. По нему еще раз. В дизайнере процессов есть элемент, управляюший правами. Как вы говорите, в исходном файле есть только регион. Добавьте параметр "Регион" или в группу пользователей или самому пользователю и настройте процесс так, чтобы при сохранении контрагента в доступ добавлялись все, которые к этому региону относятся.

"Дмитрий Степанов" написал:Добавьте параметр "Регион" или в группу пользователей или самому пользователю

Лучше справочник развязку сделать типа "группы пользователей по регионам", я бы в штатные объекты такого уровня не полез без острой надобности...

Согласен пожалуй

Показать все комментарии