В процессе через добавление данных создается для сотрудника активность, прописал сотрудника в поле "ответственный", а его начальника в поля "автор" и "создал".
Все в порядке, активность создается, все попадают в участники активности, начальник прекрасно прописался и в поле "создал", но сотрудник видит активность в списке, а начальник нет.
В чем беда?
Нравится
Задача полностью следующая:
Есть диспетчер, он создает карточки заявок, от создания карточки заявки стартует процесс, в ходе которого создается активность соответствующему сотруднику.
Сотрудники работают в нескольких отделах, у которых есть у каждого свой начальник.
Диспетчер создает заявки для сотрудников ВСЕХ отделов
Надо сделать, так чтобы эти активности были видны только диспетчеру, сотруднику и его начальнику.
С начальником проблемы...(смешно :-)), так как в ходе создания активности в процессе диспетчер получает права автоматом, сотрудника я прописываю в Owner'а, а вот с начальником беда.
Как уже писал выше, прописывать начальника в "автор" и "создал" не помогает.....
Права доступа по умолчанию не помогают, так как группа диспетчеров одна (да и вообще диспетчер один пока :-)), а отделов несколько и если их все прописать, то получится, что начальники отделов смогут видеть активности сотрудников из всех отделов.
Как быть то?
Все что на данный момент придумалось, это добавлять именно начальника отдела непосредственно на деталь доступ, но я не могу понять как это сделать в бизнес-процессе....
UPD: Точнее решение даже более радикальное, снимающее проблему раз и навсегда: добавить добавление начальника сотрудника в доступ при сохранении активности.
Вот только вопроса два остается:
1. Куда именно это лучше всего вставить в процессе активности?
2. И как мне в коде достучатся до детали доступ с целью добавления туда записи?
Помогите, люди добрые, сроки горят, хочу в отпуск......
Здравствуйте, Александр.
раздачу прав доступа из процесса можно реализовать скриптом. Примеры запросов к БД можно посмотреть в BPMonline SDK: http://www.terrasoft.ru/bpmonlinesdk/UsingInsertExamples.html
Формат названия таблицы с правами в БД следующий:
Sys<название_исходной таблицы>Right
Только не совсем понятно в какое место процесса Активности все это вставить......
А также что конкретно писать в таблицу Sys......Right.....
Жду инструкцию.
Александр, потребовалось некоторое дополнительное время на описание примера. Пример предоставлен Вам в Вашем обращении на портале.
В случае, если Вами планируется выполнять раздачу прав, рекомендуется это делать в обработчике события ActivitySaved (добавить еще один поток и скрипт в процесс объекта)