Dear colleagues,

 

In Classic UI when ran a process we can get resultParameterValues in Client Code.

 

I need to do the same but in Freedom UI client module,

 

I saw some code like this in Academy, Community and so on, but didn't any who shows us how to get process output paramaters

const handlerChain = sdk.HandlerChainService.instance;
const result = await handlerChain.process({
    type: "crt.RunBusinessProcessRequest",
    processName: "UsrSomeProcess",
    processParameters: {
        AccountId: await request.$context.Id,
        InputParameter1: "Some Value 1",
		InputParameter2: "Some Value 2"
 
    },
    $context: request.$context
});
 
if (result.success) {
    // process was sucessfully executed
}

 

Please help

 

Thanks

Julio Falcón

Like 2

Like

8 comments

I saw in the debugging is there some resultParameterValues in the response, but is null and I have one output parameter?

 

Julio.Falcon_Nodos,

Solved! due the debugging resultParameterNames element I tried and works, here the result

 

// Inicialize Process input parameters
var ClienteObject = await request.$context.NCSDetalleDelPedidoDS_NCSCuenta_kn04jps;
var LugarPobladoObject = await request.$context.NCSDetalleDelPedidoDS_NCSLugarPoblado_g8rmatm;
var ProductoObject = await request.$context.NCSDetalleDelPedidoDS_NCSProducto_cuzrngv;
if ( ClienteObject == null || LugarPobladoObject == null || ProductoObject == null ) {
	await next?.handle(request);
 
}
/// Run process
const handlerChain = sdk.HandlerChainService.instance;
const result = await handlerChain.process({
	type: "crt.RunBusinessProcessRequest",
	processName: "NCSPrecioFinalProductoPedido",
	processParameters: {
		DetallePedidoID: await request.$context.Id,
		ClienteID: ClienteObject.value,
		LugarPobladoID: LugarPobladoObject.value,
		ProductoID: ProductoObject.value
 
	},
	/* Process Output Paramters */
	"resultParameterNames": [
		"PrecioFinal",
		"ProcessesRanOK"
	],
	$context: request.$context
});
 
// Result is OK?
if ( result.success && result.resultParameterValues[ "ProcessesRanOK" ] ) {
	// OK, get price
	request.$context.NCSDetalleDelPedidoDS_NCSPrecio_leqtalu = result.resultParameterValues[ "PrecioFinal" ];
 
} else {
	// Some error msg
	console.log( "Error getting price" )
 
}

Julio.Falcon_Nodos,

Julio, excellent find - I assume the start of the process needs to be marked as "run in background" = false? Can you check if your process is marked that way?

Ryan

.

Ryan Farley,

Hi Ryan, 

 

Yes, I have configured it as you indicate. Happy to help you!

Julio

Does anybody know which version of Creatio this works from? I'm seeming to get errors thrown when trying what Julio showed, and can't seem to track down what's causing it. We're currently running on 8.1.3, so was wondering if that might be the cause - what version were you running where it worked Julio? The error we see in the Network tab:

 

And the error text for reference:

The server encountered an error processing the request. The exception message is 'There was an error deserializing the object of type Terrasoft.Core.ServiceModelContract.RunProcessRequest. End element 'value' from namespace '' expected. Found element 'value' from namespace ''.'. See server logs for more details.

 

Checking the server logs, I don't see anything that gives much more information. I've tried using Output only and Bidirectional parameters, same result. To me, the error message seems to be saying it found what it was looking for, so I don't really understand why it should be throwing an error!

 

I've double checked that I'm using the right Parameter Code, and tried creating a new Parameter with a different Code to be requested to return and still get the same error.

Harvey Adcock,

I had tried this in an earlier version of Creatio and it definitely did not work, but I can't remember what version it was when I originally tried. I don't recall getting an error however, just didn't get any values back fore the params. Either way, I believe this was something that started working along the way, but I don't have any specifics. 

Ryan

Thanks Ryan, yes just discovered that I was accidentally passing a Lookup, rather than the Lookup's value (the actual Id!). So user error, and the data is being returned as expected in 8.1.3 I can confirm for anyone else looking. Not the clearest error for identifying the issue!

Show all comments
#data
#contacts
Studio_Creatio
8.0

Hi All,

 

We are trying to insert data in a datetime field in contact table from database via API. But the time shown in Creatio is different from the database. For example - one record shows as 2024-01-15 16:54:48.000 in the database whereas in Creatio it shows as 1/15/2024 10:54 AM. We are in central timezone and user profile is set to central timezone. How can we correct this?

 

Thanks

Like 1

Like

1 comments

Hello!

 

Actually it occurs because all dates savings in DB in UTC time zone and only then converting to users according their timezone settings. But when you making API request it returns date same as in DB. There is no possibility to change this behavior at this moment.

Show all comments
schemas
Studio_Creatio
8.0

Hello community

 

I would like to monitor the progress of the "Generate all schema" request,

While for the "compile all" request I can monitor the progress by checking the build.log file in c:\windows\temp, the "generate all schemas" does not loggine anything.

 

Do you have suggestions?

Like 0

Like

1 comments

Hello!
 

Indeed, we do not log this anywhere, as it’s handled at the database level. We’ll create a task for the R&D team to consider implementing this in future updates.


Thank you for helping make Creatio better!

Regards,

Orkhan

Show all comments
Studio_Creatio
8.0
Formpage
Contact

Hi,

I've got two separate cases where a contact's phone number is displaying as [#PhoneNumber#]:


I've checked the Submitted Forms for both contacts and in each case a phone number was entered:



However, when I look at the Submitted form in table view, the phone number shows up as [#PhoneNumber#] again:


Do you know what might be causing this?

Thanks!

Like 0

Like

1 comments

Hello,

 

Unfortunately, without advanced information about your form setup, it is impossible to tell what exactly went wrong with the number registration.

You can provide the setup in the topic so other users would have a better idea of what exactly is causing the number to be rendered in such a format or create the support ticket so the Creatio employees will have a chance to research this issue.

 

Thank you for being an active part of the Creatio Community!

Show all comments

Hello community,

 

I've configured an entity with a column with default value from system settings.

When I install the package I received the error the system settings used for default does not exist.

What am I doing wrong?

Like 0

Like

2 comments

Did you include the system setting (SysSettings) and the system setting value (SysSettingsValue) in the package as well?

Ryan

Ryan Farley,

Hi Ryan

Both SysSettings and SysSettingsValue are defined.

I've done some test and the problem is the missing value in the SysSettingsValue.

Show all comments

Hello Creatio Community,

 

I am currently following Responding to an Change Event When a Field is Changed on a Creatio Freedom UI Page to auto-save the record when a number field is modified.

While the auto-save feature works, I’ve encountered an issue when filling in the number field. If I input more than two digits, the system interprets this as multiple changes (e.g., entering "125" is seen as three separate changes: "1", "12", and "125"). This triggers the auto-save and refresh process repeatedly, lasting around 30 seconds.

As a result, instead of saving "125", it starts saving and refreshing before I finish entering the complete value.

Is there a way to resolve this issue to prevent it from auto-saving prematurely while I'm still entering data?

 

Below is the script I am using for reference. Any guidance or suggestions would be greatly appreciated.

Thank you in advance!

 

Best regards,
Jin

Like 0

Like

0 comments
Show all comments

Hello Creatio Community,

 

I am currently following Responding to an Change Event When a Field is Changed on a Creatio Freedom UI Page to auto-save the record when a number field is modified.

 

While the auto-save feature works, I’ve encountered an issue when filling in the number field. If I input more than two digits, the system interprets this as multiple changes (e.g., entering "125" is seen as three separate changes: "1", "12", and "125"). This triggers the auto-save and refresh process repeatedly, lasting around 30 seconds.

 

As a result, instead of saving "125", it starts saving and refreshing before I finish entering the complete value.

 

Is there a way to resolve this issue to prevent it from auto-saving prematurely while I'm still entering data?

 

Below is the script I am using for reference. Any guidance or suggestions would be greatly appreciated.

 

Thank you in advance!

 

Best regards,
Jin

Like 1

Like

1 comments

The best option in this case is to make a saving after losing focus from the input. To implement it, you may use the blurred event on the input and add a custom handler, in which you can save the card.

Best regards,

Anhelina!

Show all comments
FreedomUI
Run Process
Terrasoft.utils.generateGUID()
generateGUID
listpage
Studio_Creatio
8.0

Dear colleagues,

 

In a Freedom ListPage, I need to process all the records that a user selects AND REPORT THE RESULTS AT THE END.

 

I'm having trouble figuring out how to approach this task. Currently, as I understand it, we call a process with the ID of the record to be processed.

 

Is there a way to know when all the selected records have been processed and know which ones?

 

I'm trying to implement a temporary table to insert the IDs of the selected records, but for this, I need to have a unique ID in that temporary table so that if there are multiple users doing the same thing, the current user's records are not mixed up. To do this, I've edited the code of the page where the service call is made to pass a second parameter to the process, an ID that I need to generate, but the generated ID is always the same "00000000-0000-0000-0000-000000000000":

			"parameterMappings": {
				"NotaCreditoID": "Id",
				"ProcesoID": Terrasoft.utils.generateGUID()
			},

 

What am I doing wrong with this approach?

 

Here is an excerpt of the modified code:

 

define("NdosNotasCredyDeb_ListPage", /**SCHEMA_DEPS*/["@creatio-devkit/common"]/**SCHEMA_DEPS*/, function/**SCHEMA_ARGS*/(sdk)/**SCHEMA_ARGS*/ {

 

"operation": "insert",
"name": "Button_ft2cncy",
"values": {
	"type": "crt.Button",
	"caption": "#ResourceString(Button_ft2cncy_caption)#",
	"color": "default",
	"disabled": false,
	"size": "large",
	"iconPosition": "only-text",
	"visible": true,
	"clicked": {
		"request": "crt.RunBusinessProcessRequest",
		"params": {
			"processName": "NdosLiberaDescartaNC_CC",
			"processRunType": "ForTheSelectedRecords",
			"showNotification": true,
			"dataSourceName": "PDS",
			"parameterMappings": {
				"NotaCreditoID": "Id",
				"ProcesoID": Terrasoft.utils.generateGUID()
			},
			"filters": "$Items | crt.ToCollectionFilters : 'Items' : $DataTable_SelectionState | crt.SkipIfSelectionEmpty : $DataTable_SelectionState",
			"sorting": "$ItemsSorting",
			"selectionStateAttributeName": "DataTable_SelectionState"
		}
	},
	"clickMode": "default"
},

 

On the other hand, has anyone done this in any other way? How?

 

Thank you very much

 

Julio

Like 0

Like

4 comments
Best reply

Hi Julio, 

As of Creatio 8.1.3 you can pass multiple records into a process using a collection parameter. This executes a single process for the collection of selected records. See an example in this article: https://customerfx.com/article/launching-a-process-for-multiple-records-in-a-creatio-list/

Ryan

I'm also tried sdk.generateGuid(), I test it on the console and returns a Guid, but for some reason the parameters is not delivered to the process, what's wrong?

Hi Julio, 

As of Creatio 8.1.3 you can pass multiple records into a process using a collection parameter. This executes a single process for the collection of selected records. See an example in this article: https://customerfx.com/article/launching-a-process-for-multiple-records-in-a-creatio-list/

Ryan

Ryan Farley,

Thanks Ryan,

 

I know and I use them, the problem is the process ran for each record individually and if I need to detect when it processes all selected records, generate a report like "Selected records xxx, processed records yyy" and actually this is not possible 

 

At least I don't know how to do this.

 

Thanks again

 

Julio

Thanks Ryan, your article solves my problem, great job as usual

 

Regards

Julio

Show all comments
translations
Studio_Creatio
8.0

Hello community,

I'm experiencing a problem with translations in Freedom UI.

I've a page with widget inside, the label specified in different languages are lost when I deploy the package on another instance.

How can I solve this problem?

 

thank you

Like 0

Like

2 comments

Hi Stefano,

 

We've had many problems with translation to PT_PT  in version  8.1.4, 

upgrading the system to 8.1.5 has solved the issues

Rgds,

Luis

thank you for your feedback!

 

Show all comments
#relationship
#customer360
Studio_Creatio
8.0

How do I edit this page? For example, I want to add a column that will be displayed on general information.

Like 0

Like

3 comments

Hello Anjar,

Unfortunately, it's impossible to edit the account relationship page.

We've registered the new idea to our R&D team. 

Thank you!

Anhelina,

Hi. Is it possible now to edit this Account Relationship page? I want to filter possible connected to Account by a specific condition on a field of the account. How could I do that?

Thank you! 

Ignacio Alvarez,

Hello. Unfortunately, the specified functionality has not yet been implemented in our system.

Show all comments