Есть Объект со статусами Новое-В работе-Выполнено. В объекте есть деталь. Запись объекта создает Подразделение "А". Создает в статусе "Новое". Добавляет данные в деталь. Потом переводят в статус "В работе". Данные из детали анализирует подразделение "Б". Когда завершают работу, переводя на статус "Выполнено".

Требуется запретить изменять объект и данные в детали для подразделения "А" в момент когда статус объекта не равен "Новое". Если с запретом на изменение данных проблем нет - все решается администрированием Объекта по записям и наследование полномочий в детали от Объекта, а бизнес-процессом отбираем права на редактирование при смене статуса. То вот с запретом на добавление данных в деталь случился небольшой затык. Как это можно сделать?

Нравится

1 комментарий

Алексей, на уровне интерфейса можно модифицировать схему страницы реестра своей детали, исправить функцию с проверкой условия доступности кнопки добавления, которая определена в BaseGridDetailV2.

Стандартно она такая:

/**
 * Determines, if add record button is enabled.
 * @private
 * @returns {Boolean} - Flag of add record button enabled.
 */
_isAddRecordButtonEnabled: function() {
	const isDetailEnabled = this.get("IsEnabled");
	if (this.isEmpty(isDetailEnabled)) {
		return true;
	}
	return isDetailEnabled;
},
 
/**
 * ########## ########### ###### ########## ######.
 * @return {Boolean}
 */
getAddRecordButtonEnabled: function() {
	return this._isAddRecordButtonEnabled();
},
 
/**
 * ########## ########### ###### # #### ########## ######.
 * @return {Boolean}
 */
getAddTypedRecordButtonEnabled: function() {
	return this._isAddRecordButtonEnabled();
},

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

 

Уже принята идея реализовать запрет к созданию, изменению или удалению записи на детали в зависимости от определенного условия, либо наоборот, установить обязательное добавление записи на деталь при определенных условиях.

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

Добрый день!

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

Нравится

5 комментариев
Лучший ответ

Добрый день!

У нас это реализовано следующим образом:

Забираем у всех права на просмотр лидов. Если необходимо чтобы какая то роль или оргединица имела права на просмотр/редактирование/удаление лидов настраиваем штатно. Создали 2 бизнес-процесса, первый срабатывает при создании лида, второй при смене ответственного в лиде. В этих БП регулируются права на лид.

Добрый день!

У нас это реализовано следующим образом:

Забираем у всех права на просмотр лидов. Если необходимо чтобы какая то роль или оргединица имела права на просмотр/редактирование/удаление лидов настраиваем штатно. Создали 2 бизнес-процесса, первый срабатывает при создании лида, второй при смене ответственного в лиде. В этих БП регулируются права на лид.

К тому же, надо помнить, что не только ответственные должны видеть все лиды, но и, например, ещё отдел маркетинга.



В Operation permissions создаём операцию CanReadLead и добавляем в неё роли. Затем в том же БП выдаём этим ролям права на чтение лидов.



И не забываем про права на редактирование.

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

gif_section_object_permissions_select_groups.gif

Зверев Александр пишет:

то на новые записи будет получать права только автор и ответственный

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

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

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