Система предлагает не активные процессы для вызова подпроцесса
Баг/фича не пойму, но по мне это серьезная недоработка. В элементе БП Подпроцесс(действие вызов) система предлагает выбрать не активные БП.
А теперь заходим в библиотеку процессов и видим что часть процессов не активны:
Предлагаю либо убрать не активные процессы, либо помечать в выборе что процесс не активен.
Понравилась ли вам эта идея?
Алексей, не уверен, что это именно бага.
Более того, если процесс деактивирован, но его задать из другого активного процесса как подпроцесс, то он запустится.
Такое поведение является штатным, оно закладывалось в архитектуру. Активация-деактивация влияет только но запуск ОСНОВНОГО бизнес-процесса. Если он является подпроцессом другого основного процесса, то ничем не отличается по поведению от любого другого элемента БП. Потому что подпроцесс выполняется В КОНТЕКСТЕ ОСНОВНОГО БП. При выполнении подпроцесса учитывается только признак актуальной версии подпроцесса.
Если нужно добавить в выпадающий список фильтрацию по активности, заместите схему 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); },
Идею стандартно включить такой фильтр зафиксирую.