Hi,

I’m wondering if it’s possible to configure Creatio to save previously entered values in a field (similar to how browsers remember login credentials).

For example, I’d like users to see a list of their most recently used values when they focus on a specific field, so they can reuse them without re-entering manually.

Does Creatio have a built-in feature for this, or would it require customization?
If customization is needed, I’d appreciate any guidance or examples.

Thank you in advance!

Like 0

Like

1 comments

Hello,

 

Creatio does not have a built-in feature to save previously entered values in a field, similar to how browsers save login credentials.
 

Best regards,
Ivan

Show all comments
Question

Hi All, 

 

I've got an incoming webhook where the application on the other side is unable to conform to the request body that Creatio would like. 

Is there any straight forward way to parse a webhook in a different way?  My other solution is some middleware code which ideally I don't want to do. 

Anyone encountered this before? 

Thanks in advance. 

Like 0

Like

0 comments
Show all comments

Hi all, 

I'm trying to calculate 60 days before a date captured by the user to create a reminder. I'm using the Formula in the Business Process but I cannot make it work, I see the following error: Formula value error: Cannot convert type "Int32" to "Entity"

 

Any suggestion?

Thank you

Like 0

Like

2 comments

It looks like it's an issue with trying to set the parameter you've selected to the value of the formula - what is the type of the parameter? It should be an integer based on the formula shown, which will be returning the day of the month 60 days before the Fecha de Lanzamiento date.

Hello,
 

We tried to check the behavior. It looks like the problem lies in expression because you are using .Day at the end.
We were able to successfully subtract -60 days simply by using the .AddDays(-60) method. [#read contact.First item of resulting collection.Birth date#].AddDays(-60)

AddDays(-60)

AddDays(-60)

 

Show all comments
Hello everyone,
I have set up and configured Identity Service in IIS and now I am trying to test it in postman (https://identityservice_url/connect/token).
 
I am getting the following exception in identity service log:
 
IdentityServer4.Hosting.IdentityServerMiddleware[0]
     Unhandled exception: The system cannot find the file specified.
     Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException: The system cannot find the file specified.
        at System.Security.Cryptography.CngKey.Open(String keyName, CngProvider provider, CngKeyOpenOptions openOptions)
        at System.Security.Cryptography.CngKey.Open(String keyName, CngProvider provider)
        at Internal.Cryptography.Pal.CertificatePal.GetPrivateKey[T](Func`2 createCsp, Func`2 createCng)
        at Internal.Cryptography.Pal.CertificatePal.GetRSAPrivateKey()
        at Internal.Cryptography.Pal.CertificateExtensionsCommon.GetPrivateKey[T](X509Certificate2 certificate, Predicate`1 matchesConstraints)
        at System.Security.Cryptography.X509Certificates.RSACertificateExtensions.GetRSAPrivateKey(X509Certificate2 certificate)
        at Microsoft.IdentityModel.Tokens.X509SecurityKey.get_PrivateKey()
        at Microsoft.IdentityModel.Tokens.X509SecurityKey.get_PrivateKeyStatus()
        at Microsoft.IdentityModel.Tokens.AsymmetricSignatureProvider.FoundPrivateKey(SecurityKey key)
        at Microsoft.IdentityModel.Tokens.AsymmetricSignatureProvider..ctor(SecurityKey key, String algorithm, Boolean willCreateSignatures)
        at Microsoft.IdentityModel.Tokens.AsymmetricSignatureProvider..ctor(SecurityKey key, String algorithm, Boolean willCreateSignatures, CryptoProviderFactory cryptoProviderFactory)
        at Microsoft.IdentityModel.Tokens.CryptoProviderFactory.CreateSignatureProvider(SecurityKey key, String algorithm, Boolean willCreateSignatures, Boolean cacheProvider)
        at Microsoft.IdentityModel.Tokens.CryptoProviderFactory.CreateForSigning(SecurityKey key, String algorithm, Boolean cacheProvider)
        at Microsoft.IdentityModel.Tokens.CryptoProviderFactory.CreateForSigning(SecurityKey key, String algorithm)
        at Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.CreateEncodedSignature(String input, SigningCredentials signingCredentials)
        at Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateTokenPrivate(String payload, SigningCredentials signingCredentials, EncryptingCredentials encryptingCredentials, String compressionAlgorithm, IDictionary`2 additionalHeaderClaims, IDictionary`2 additionalInnerHeaderClaims, String tokenType)
        at Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(String payload, SigningCredentials signingCredentials, IDictionary`2 additionalHeaderClaims)
        at IdentityServer4.Services.DefaultTokenCreationService.CreateJwtAsync(Token token, String payload, Dictionary`2 headerElements)
        at IdentityServer4.Services.DefaultTokenCreationService.CreateTokenAsync(Token token)
        at IdentityServer4.Services.DefaultTokenService.CreateSecurityTokenAsync(Token token)
        at IdentityServer4.ResponseHandling.TokenResponseGenerator.CreateAccessTokenAsync(ValidatedTokenRequest request)
        at IdentityServer4.ResponseHandling.TokenResponseGenerator.ProcessTokenRequestAsync(TokenRequestValidationResult validationResult)
        at IdentityServer4.ResponseHandling.TokenResponseGenerator.ProcessAsync(TokenRequestValidationResult request)
        at IdentityServer4.Endpoints.TokenEndpoint.ProcessTokenRequestAsync(HttpContext context)
        at IdentityServer4.Endpoints.TokenEndpoint.ProcessAsync(HttpContext context)
        at IdentityServer4.Hosting.IdentityServerMiddleware.Invoke(HttpContext context, IEndpointRouter router, IUserSession session, IEventService events, IBackChannelLogoutService backChannelLogoutService)
fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]
     An unhandled exception has occurred while executing the request.
     Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException: The system cannot find the file specified.
        at System.Security.Cryptography.CngKey.Open(String keyName, CngProvider provider, CngKeyOpenOptions openOptions)
        at System.Security.Cryptography.CngKey.Open(String keyName, CngProvider provider)
        at Internal.Cryptography.Pal.CertificatePal.GetPrivateKey[T](Func`2 createCsp, Func`2 createCng)
        at Internal.Cryptography.Pal.CertificatePal.GetRSAPrivateKey()
        at Internal.Cryptography.Pal.CertificateExtensionsCommon.GetPrivateKey[T](X509Certificate2 certificate, Predicate`1 matchesConstraints)
        at System.Security.Cryptography.X509Certificates.RSACertificateExtensions.GetRSAPrivateKey(X509Certificate2 certificate)
        at Microsoft.IdentityModel.Tokens.X509SecurityKey.get_PrivateKey()
        at Microsoft.IdentityModel.Tokens.X509SecurityKey.get_PrivateKeyStatus()
        at Microsoft.IdentityModel.Tokens.AsymmetricSignatureProvider.FoundPrivateKey(SecurityKey key)
        at Microsoft.IdentityModel.Tokens.AsymmetricSignatureProvider..ctor(SecurityKey key, String algorithm, Boolean willCreateSignatures)
        at Microsoft.IdentityModel.Tokens.AsymmetricSignatureProvider..ctor(SecurityKey key, String algorithm, Boolean willCreateSignatures, CryptoProviderFactory cryptoProviderFactory)
        at 
 
Does someone knows why might this be happening?
 
I am attaching a screenshot of the appsettings.json file
Like 0

Like

1 comments

Hi Creatio Community,

 

I am developing a client side filter for a lookup in a section page (Freedom UI). I want to reload (re-filter) the lookup when the stage of the current record is updated (when GlbReloadEntityPage message is received).

Base logic for lookup loading:

{
	request: "crt.LoadDataRequest",
	handler: async (request, next) => {
		if(request.dataSourceName == "PDS_LookupCol") {
 
			request = await ModFunctions.filterAssignTo(request);
		}
		return await next?.handle(request);
	}
}

Reload function (Re-triggered ModFunctions.filterAssignTo(request);)

{
	request: "crt.HandleViewModelInitRequest",
	handler: async (request, next) => {
 
		request.$context.ServerMessageReceivedFunc = async function(event, message) {
			if (message.Header.Sender === "GlbReloadEntityPage") {
				await OPGlbReloadEntity.refreshScreen(request, message);
				ModFunctions.filterAssignTo(request);
			}
		};
		Terrasoft.ServerChannel.on(Terrasoft.EventName.ON_MESSAGE, (await request.$context.ServerMessageReceivedFunc), request.$context);
		return next?.handle(request);
	}
},

Filtering function 

		filterAssignTo: async function(request){
		    .... Custom logic .......
			const newFilter = Object.assign({}, filter);				
			newFilter.items = filter.items;
 
			if(request.parameters){
				request.parameters.push({
					type: "filter",
					value: newFilter
				});
			}
			return request;
		},

Even if the function is triggered when "GlbReloadEntityPage" is called the lookup is not reloaded with the new filtering rules. 

How can i reload lookup options from freedom ui client side?

 

 

Like 0

Like

1 comments

Any updates about this topic?

Show all comments

Hi Community,

 

We made changes to existing tabs under "Dashboard" section in dev environment. Then we data bound the tabs data in SysDashboard Object and migrated to Pre environment. But the changes we made to the existing tabs such as Campaign Totals, Email Total etc. are not reflecting in the pre environment. How can we resolve it? Attached are the two screenshots from the 2 environments - we have an additional chart "Campaign by status" in the dev environment but is missing in pre even after data migration. Thanks!

Like 0

Like

1 comments

Hi,

 

When dashboards are added to an edit page, the corresponding records are created in SysWidgetDashboard and SysWidgetDashboardLcz tables.

If a dashboard is added not to an edit page but to the "Dashboards" tab, then records will be added in the SysDashboard and SysDashboardLcz tables, respectively.
.
Also, these data are correspondingly bound to the package that was set as the current package when the dashboards were created.

The thing is that dashboards are localizable system objects. When a dashboard is created, records are created in two tables:
- a record about a dashboard created in the localization, which corresponds to the base culture of the system, is created in the [SysWidgetDashboard]/[SysDashboard] table;
-records about dashboards of all other localizations are created in the [SysWidgetDashboardLcz]/[SysDashboardLcz] table and are linked to a record in the [SysWidgetDashboard]/[SysDashboard] table by the [RecordId] column.

So, basically, all you need to do is prepare a package that contains all the needed data bindings and SQL scenarios to perform the records' entry into the tables mentioned above.

More information on data binding is available at our academy.
Also, knowledge of SQL might be needed to find the needed dashboard in the database, although you can always create a lookup and search via UI. 

Show all comments

Hi Community!

 

We are trying to find an elegant way of preventing the execution of business processes from create, update and delete elements within other business processes.

Think of it as Outlook's 'Stop processing more rules' flag.

 

We could set a certain flag and add it to the other processes' signal conditions, but this leads to a high coupling of business processes, more complexity, and over the lifetime of a Creatio instance inevitably to errors as everyone needs to know this 'magic' behavior.

 

Ideally, signals in Creatio would have the option to distinguish between different triggering options, like 'user', 'business process', 'import', 'odata', 'event handler', etc. but unfortunately, this is a missing feature.

 

Any thoughts would be more than welcome!

 

Thanks,

Robert

Like 1

Like

2 comments

Hi Community,
any ideas on this?

 

Thanks,

Robert

Hello,
 

At the moment, such functionality is not available in Creatio's OOTB solution for triggering the addition/modification of records. 
Indeed, a workaround in this situation can be to create additional columns at the level of the object model that will be filled in depending on which method the record was created/modified (for example, a special column for OData).
We will register this development idea with our R&D team so that they can consider implementing such functionality in future versions of the Creatio product.
 

Thank you.

Show all comments

Dear colleagues

 

I have a process that runs when a new record is inserted and ‘does stuff’, it works perfectly, but.

 

When I do a bulk upload from Excel to that object, the process runs in isolation, in parallel, for each row in Excel.

 

Is there any way that the process could ‘detect’ that the inserted record comes from an Excel import and wait for FIleImport process to finish loading and then process row by row of excel?
 

Or some another approach?

 

Thanks in advance,

Julio

Like 4

Like

4 comments

Hello!
 

A quick solution would be to add a timer—say, 10 seconds—after which the process will read the data and proceed with the flow. This would be the fastest approach.

Regards,
Orkhan

Orkhan,

Thanks Orkhan, I tried, but didn't works, so if several records are inserted on the "same" time, the 10 seconds are not a difference so all process instances are waiting the same 10 seconds.. :-(

The best approach I found is to import on temporary table and when done run a process who move records to final one, but I want to found some method to avoid this kind of approach.

 

Some ideas?

 

Regards 

Julio.Falcon_Nodos,

have you seen the following post https://community.creatio.com/questions/run-process-after-excel-import ?

 

Show all comments

I’m trying to hide fields in Freedom UI conditionally, but it seems this can only be done with code. Unfortunately, the online resources available did not help me that much. Any guidance would be greatly appreciated!

Like 0

Like

5 comments

Dear Prachi, you have the option to hide/show in field property, see image

 

 

 

Then with business rules you enable to see or to hide the field as you need

 

Regards

Julio

Hi Julio, 
Thank you for your response. But then this is not triggered by condition, right? 

Hi

 

I'm not sure what your question is. You have business rules to hide or show fields, tabs, groups, etc.

 

Julio

Julio.Falcon_Nodos,

In Freedom UI. I did not see an option to do that by using business rules. 

Prachi Bhelkar,

You have access tu BR in this icon

 

There you must add a Page Bussiness rule, like you can see in the image

Show all comments

Good afternoon and Happy Friday! Is there a way to confirm my text messages are getting delivered and read through Twilio?

Like 0

Like

5 comments

Hi Eric,

Are you talking about this Marketplace solution? https://marketplace.creatio.com/app/twilio-sms-connector-creatio

Oleksandr Bilousko,

SMS Message looks like what I am using, but not exactly. When sending a Text, this is what I am seeing . My version is not giving me an option to verify my text was delivered.

Eric J Buglar,


There are a few connectors to Twilio available on the Creatio Marketplace.
Unfortunately, I couldn't recognize the exact app you mentioned.
Could you please check your Application hub or Marketplace catalog and share the link to a certain app?

I am not sure if I have authorization to do so, but I will try. What do you need?

 

Eric J Buglar,


If you’re unsure, I recommend asking the individual responsible for administering Creatio in your organization to access the Application Hub. This tool provides an overview of all installed Marketplace apps.

For further guidance, you can refer to more details here: Application Hub Documentation.

Show all comments