Question

User Tasks Not Working

Hello community, I'm currently working on creatio 8.09 and I'm trying to make use of simple user tasks but it seems like creatio wont even try to run them, process logs show the process just stops as soon as it gets to the user tasks. It almost seems like my instance is not able to run them or it has them disabled. Any idea of how to fix this?



The user tasks im trying to run is a custom one with just tests values: 



 

The process is configured as follows:



And the process log and execution diagram doesn't show any error:

Like 2

Like

3 comments

Hello,

 

The issue is not related to the fact if the package where the user task is created is an assembly package or not (checked out of the box in 8.0.9 (plus make sure that your package has "CrtProcessDesigner" as a "Depends on packages"). Additionally it's not obvious from the screenshot if you have other methods in your user task. The complete code should be like this:

namespace Terrasoft.Core.Process.Configuration
{
 
	using System;
	using System.Collections.Generic;
	using System.Collections.ObjectModel;
	using System.Globalization;
	using Terrasoft.Common;
	using Terrasoft.Core;
	using Terrasoft.Core.Configuration;
	using Terrasoft.Core.DB;
	using Terrasoft.Core.Entities;
	using Terrasoft.Core.Process;
 
	#region Class: UsrCalcSumUserTask
 
	/// <exclude/>
	public partial class UsrCalcSumUserTask
	{
 
		#region Methods: Protected
 
		protected override bool InternalExecute(ProcessExecutingContext context) {
			SumNumbers = FirstNumber + SecondNumber;
            return true;
		}
 
		#endregion
 
		#region Methods: Public
 
		public override bool CompleteExecuting(params object[] parameters) {
			return base.CompleteExecuting(parameters);
		}
 
		public override void CancelExecuting(params object[] parameters) {
			base.CancelExecuting(parameters);
		}
 
		public override string GetExecutionData() {
			return string.Empty;
		}
 
		public override ProcessElementNotification GetNotificationData() {
			return base.GetNotificationData();
		}
 
		#endregion
 
	}
 
	#endregion
 
}

Public methods are also needed.

 

Additionally you need to check the application logs (the error should be in the logs when executing this process with a script-task, the first logs to check are the BusinessProcess.log and the Error.log files) to understand which error (and if the error occurs) is returned when the process is trying to call the user task. Also, check out-of-the-box user tasks to see if all user tasks are not working or just this custom one. And finally try publishing this particular user task:

If it's in the locked package - a complete source code generation and all application compilation is needed (via the "Compile all" action):

Thanks for the reply, I checked the points and it seems all right.



I also tried using the generation of ordinal number user task without success in the past  as well as the market user tasks: https://marketplace.creatio.com/template/calculation-working-days-business-processes. 

So it seems is not only  custom user tasks.

 

As advised I checked the Error.log and it shows the following error:

 

2024-04-01 19:37:04,400 [.NET ThreadPool Worker] ERROR  Creatio.Messaging.MessageBus.RabbitMQ.InMemoryMode.ConsumerInvocationActor Receive - An error occured while consumption message.
System.TypeLoadException: Could not load type 'Terrasoft.Core.Process.Configuration.SgytGetBusinessTimeOwn' from assembly 'SGYTBase, Version=8.0.9.1585, Culture=neutral, PublicKeyToken=null'.
   at Terrasoft.Core.Process.ProcessUserTaskInstanceFactory.<>c__DisplayClass6_1.<CreateProcessUserTaskFactory>b__1(UserConnection userConnection) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Core/Process/ProcessUserTaskInstanceFactory.cs:line 61
   at Terrasoft.Core.Process.BaseProcessElementFactory.CreateUserTaskInstance(ProcessSchemaUserTask schemaUserTask) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Core/Process/BaseProcessElementFactory.cs:line 55
   at Terrasoft.Core.Process.ProcessElementFactory.CreateFlowElementInstance(ProcessSchemaBaseElement schemaElement) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Core/Process/ProcessElementFactory.cs:line 76
   at Terrasoft.Core.Process.ProcessComponentSet.CreateFlowElementInstance(String schemaElementName, Boolean isReExecution) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Core/Process/ProcessComponentSet.cs:line 371
   at Terrasoft.Core.Process.ProcessComponentSet.ForceGetFlowElementInstance(String schemaFlowElementName) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Core/Process/ProcessComponentSet.cs:line 309
   at Terrasoft.Core.Process.ProcessComponentSet.Execute(String elementName, FlowContext flowContext) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Core/Process/ProcessComponentSet.cs:line 569
   at Terrasoft.Core.Process.ProcessComponentSet.RunFlowElement(String elementName, FlowContext flowContext) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Core/Process/ProcessComponentSet.cs:line 1425
   at Terrasoft.Core.Process.ProcessComponentSet.TryProcessQueue() in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Core/Process/ProcessComponentSet.cs:line 710
   at Terrasoft.Core.Process.Process.RunWithEventBuffer(Action action) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Core/Process/Process.cs:line 1468
   at Terrasoft.Core.Process.ContinueProcessCommandConsumer.<>c__DisplayClass16_0.<Consume>b__0() in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Core.Process/ContinueProcessCommandConsumer.cs:line 205
   at Terrasoft.Core.Process.ContinueProcessCommandConsumer.TryExecuteWithinLock[TMessage](TMessage message, IConsumingContext context, Action action) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Core.Process/ContinueProcessCommandConsumer.cs:line 118
   at Terrasoft.ServiceBus.ConsumerAdapter.Invoke[TConsumer,TMessage](IBaseConsumingContext baseContext, TMessage message) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.ServiceBus/ConsumerAdapter.cs:line 37
   at Creatio.Messaging.MessageBus.RabbitMQ.InMemoryMode.MessageConsumption`4.Invoke(IServiceProvider serviceProvider)
   at Creatio.Messaging.MessageBus.RabbitMQ.InMemoryMode.ConsumerInvocationActor.InvokeConsumption(IMessageConsumption consumption)

 

Any  suggestions on how to fix this issue?



 

Raul Mendizabal,

 

The app is deployed on Linux?

 

You can try the following (if the app is deployed in .Net Framework in Windows):

 

1) backup binary files and the database

2) remove ForwardTypes.cs from Terrasoft.WebApp\Terrasoft.Configuration\ForwardTypes

3) compile all from the UI

Show all comments