Запрет на добавление данных в деталь.

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

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

Нравится

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, как обсуждалось в этой теме, при отсутствии прав выбрасывать исключение, которое отобразится в окошке пользователю.

 

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

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