Идея
Ревью

Система предлагает не активные процессы для вызова подпроцесса

Баг/фича не пойму, но по мне это серьезная недоработка. В элементе БП Подпроцесс(действие вызов) система предлагает выбрать не активные БП.

Изображение удалено.

А теперь заходим в библиотеку процессов и видим что часть процессов не активны:

Изображение удалено.

Предлагаю либо убрать не активные процессы, либо помечать в выборе что процесс не активен.

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

Алексей, не уверен, что это именно бага.

 

Более того, если процесс деактивирован, но его задать из другого активного процесса как подпроцесс, то он запустится.

 

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

 

Если нужно добавить в выпадающий список фильтрацию по активности, заместите схему SubProcessPropertiesPage и там измените функцию getSchemaListFilter, значение свойства EnabledOnly:

/**
 * Returns schema list filter.
 * @protected
 * @param {Function} callback The callback function.
 * @param {Object} callback.filter Schemas filter.
 */
getSchemaListFilter: function(callback) {
	const element = this.get("ProcessElement");
	const schema = this.get("Schema") || {};
	const parentSchema = element.parentSchema;
	const excludedSchemaUId = schema.value;
	let filter = {
		PackageUId: Terrasoft.formatGUID(parentSchema.packageUId, "B"),
		EnabledOnly: true,//false,
		ExcludedSchemas: [Terrasoft.formatGUID(parentSchema.uId, "B")]
	};
	filter = Ext.apply(filter, element.schemaFilter);
	if (excludedSchemaUId) {
		filter.ExcludedSchemas.push(Terrasoft.formatGUID(excludedSchemaUId, "B"));
	}
	callback(filter);
},

Идею стандартно включить такой фильтр зафиксирую.

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