Hello all,
I'm trying to add a custom component to Creatio, and I was following along with the guide then it mentions accessing the file system, which I don't really know how to do, and if possible at all while working with Creatio on the cloud ?
The doc: https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…

Like 0

Like

6 comments

Hello,

 

As stated in the article

 

  • FSD of C# code is possible only by interacting with the on-site Creatio database.

 

You won't be able to access the cloud-hosted application's file system.

Assuming you're referring to creating a custom javascript UI component, correct?

You can create a local workspace for on on-site Creatio to create the custom component using Clio. Documentation and tutorials on how to do this is sparse. There are some very short videos on this topic here: https://www.youtube.com/watch?v=CE5uETqTsyQ&list=PLnolcTT5TeE2BMFf_XmJrSwpnbcLCLJkb&index=1

The documentation here also refers to steps you can use Clio for as well: https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/front-end-development/freedom-ui/remote-module/implement-a-remote-module/overview

Ryan

Oleg Drobina,

Thanks for the answer! that clears it up !

Ryan Farley,

Thank you for your reply!
Yes I mean custom javascript UI component. But if I'm understanding correctly, even Clio utility works only with on-site Creatio, right ?

Youness Youki,

No, Clio is not just for on-site - it allows you to work with a cloud hosted Creatio as well. A Clio workspace allows you to create a UI component & package on your local machine and push it to a cloud hosted system. The video I linked to shows the steps to do this (create a Clio workspace, connect it to a cloud Creatio system, create a UI component and then push the package from your local machine to the cloud system). 

Ryan

I see! I'll try it then.
Thank you !

Show all comments

I have a parameter within my business process that is a text, named UserName. On the other hand, I have an AddData that has a Lookup called CreatedBy. I need to relate the user name to the user name of this Lookup. That is, if the user name exists in the lookup, I assign this value to it.

Like 0

Like

1 comments

Greetings,
 

You can implement this using a parameter in the business process.


Below, I have provided an example of such an implementation. Please note that this is an example implementation, and you will need to adapt the business process to fit your business idea.




In my case, I pass a user as a parameter who is "TestDocum"; in this case, the process will follow the path to True.


If I pass another value, such as "Ser," the process will follow the path to False and terminate.


I hope this example helps you implement your business idea.
 

Best regards, 

Orkhan

Show all comments

Hi All,

 

How can I set Date field - "Closed On" blank using BP ?

 

 

Thanks.

Like 0

Like

1 comments
Best reply

Hello, you can clear the date column by setting it's value as: null

Ryan

Hello, you can clear the date column by setting it's value as: null

Ryan

Show all comments

Hi, 

 

Is it possible to add a datetime quick filter to a grid, where you set a time to the filer?

 

Thank you. 

Like 0

Like

3 comments
Best reply

Javier Collazo,

 

We have double checked it with the responsible team and unfortunately, it is not possible to setup Time specifically in this filter. The issue here is that name Date/Time is confusing for the users and therefore we have registered this problem for our R&D team to either change the filter name or add the ability to also apply a filter by time.

Hello,

 

You can find the instructions on how to set up a date/time quick filter in this academy article.

Thank you Mira for your answer, but I already tried what is in the guide and it does not include the time in the filter. 

 


I need to be able to filter by time too. 

Javier Collazo,

 

We have double checked it with the responsible team and unfortunately, it is not possible to setup Time specifically in this filter. The issue here is that name Date/Time is confusing for the users and therefore we have registered this problem for our R&D team to either change the filter name or add the ability to also apply a filter by time.

Show all comments

Hello Community,

 

            I have created a business process using a script element that relies on "Newtonsoft.Json.Linq". 

 

 

Scenario 1 : When I add the business process to a custom package, it works perfectly. As shown in below Image

 

#Issue

Scenario 2 : When I add the business process to my app package "UsrG***", it throws an error during publishing due to the Linq dependency.

 

Let me know if you need any more adjustments!

 

Regards,

Ajay K

 

 

Like 0

Like

2 comments
Best reply

Hello,
 

This situation can occur if your custom "UsrG***" package has the "Compile into a separate assembly" attribute.

Compile

When converting a package to assembly package (AP), transferring a schema with code to a AP, or creating a version of a compiled process, the compilation error "The type or namespace cannot be found" occurs if the code uses types from external libraries located in other packages.
To solve your problem, deselect the "Compile into a separate assembly" checkbox for your package and recompile. This should solve the problem.

remove parameter
 

Thank you.

Hello,
 

This situation can occur if your custom "UsrG***" package has the "Compile into a separate assembly" attribute.

Compile

When converting a package to assembly package (AP), transferring a schema with code to a AP, or creating a version of a compiled process, the compilation error "The type or namespace cannot be found" occurs if the code uses types from external libraries located in other packages.
To solve your problem, deselect the "Compile into a separate assembly" checkbox for your package and recompile. This should solve the problem.

remove parameter
 

Thank you.

Serhii Parfentiev,

Thank you.

Show all comments

When making changes to the section list and/or section pages for the mobile app, should I create a new packages or is it ok to leave the current package as "custom" and make the changes via the mobile application wizard?

Like 0

Like

1 comments

Hi!

It is normal to leave the current package as "custom". You can change the package only if you want to keep some functionality in a separate package. 

Best regards, 
Anton

Show all comments

I am connecting a third-party API to Creatio, it delivers different types of data including this:
"user_id": [
60,
"Luismary Mendez"
]
In the parameters of the Creatio response I have set it as an Array Text and as an Object

 

But when I try to connect this variable to the process it does not display it in the list of possible result values.

The field is Vendedor:

Like 0

Like

5 comments

This is because the user_id is an array in the payload received from the web service, not just a single value. If you know the array will only contain a single set of values and the first value in the user_id array will always be the integer Id and the second value will always be the text name, you could flatten them out by mapping them as text and integer values:

  • Map ID as: user_id[0]
  • Map Name as: user_id[1]

Ryan

Ryan Farley,

What you're telling me is that I have to set the user_id as an object?

You could, but that doesn't pass to a subprocess (with an array inside an array). If you are able to flatten it out and if you know the array will only contain a single set of values and the first value in the user_id array will always be the integer Id and the second value will always be the text name, that will pass easily to a subprocess. Like this for the "user_id" first element in array, which is an int from what you've shared:

The second value in the user_id array, which is a string from what you've shared, would look like this:

This is assuming your JSON looks like this:

{
	"result": [
		{
			"id": "someid",
			"name": "somename",
			"user_id": [
				60,
				"Some name"
			]
		}
	]
}

You're basically changing it from an array with an int in index 0 and string in index 1 to flattened out properties pointing to the value in index 0 and index 1. This is, of course, assuming that the user_id array will only contain an int at index 0 and a string at index 1.

Ryan

Ryan Farley,

Thanks Ryan, I understood your explanation, I will apply it and let you know how it goes.

Carlos Soto,

Thanks Ryan. It's works

Show all comments

Good afternoon!

I am trying to deploy deduplication-web-api using docker container registry.creatio.com/dup-web-api:3.0.12

 

I see this problem in the logs.

 

fail: Microsoft.AspNetCore.Server.Kestrel[13]
     Connection id "0HN5FOGURGKI1", Request id "0HN5FOGURGKI1:000000E2": An unhandled exception was thrown by the application.
     System.InvalidOperationException: Synchronous operations are disallowed. Call WriteAsync or set AllowSynchronousIO to true instead.
        at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpResponseStream.Flush()
        at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
        at System.IO.StreamWriter.Dispose(Boolean disposing)
        at System.IO.TextWriter.Dispose()
        at App.Metrics.Formatters.Prometheus.Internal.AsciiFormatter.Write(Stream destination, IEnumerable`1 metrics, NewLineFormat newLine)
        at App.Metrics.Formatters.Prometheus.MetricsPrometheusTextOutputFormatter.WriteAsync(Stream output, MetricsDataValueSource metricsData, CancellationToken cancellationToken)
        at App.Metrics.AspNetCore.Endpoints.Middleware.MetricsEndpointMiddleware.Invoke(HttpContext context)
        at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)

 

appsettings.json looks like this:

 

root@deduplication-web-api:/app# cat appsettings.json
{
 "Version": "1.0.0",
 "Logging": {
   "LogLevel": {
     "Default": "Warning"
   }
 },
 "Kestrel": {
   "AllowSynchronousIO": true
 },
 "AllowedHosts": "*",
 "ApplicationBasePath": "/",
 "MetricsOptions": {
   "Enabled": true,
   "ReportingEnabled": true,
   "GlobalTags": {
     "app": "deduplication-web-api",
     "env": "production"
   },
   "DefaultContextLabel": "deduplication-web-api"
 },
 "MetricsWebTrackingOptions": {
   "ApdexTSeconds": 0.1,
   "ApdexTrackingEnabled": false,
   "IgnoredHttpStatusCodes": [],
   "IgnoredRoutesRegexPatterns": [],
   "OAuth2TrackingEnabled": false
 },
 "MetricEndpointsOptions": {
   "MetricsEndpointEnabled": true,
   "MetricsTextEndpointEnabled": true,
   "EnvironmentInfoEndpointEnabled": true
 },
 "RabbitConfiguration": {
   "RabbitMQUri": "HIDDEN",
   "QueueName": "dup-start-deduplication-task",
   "ConnectAttempts": "5",
   "ReconnectInterval": "0.00:00:05",
   "NetworkRecoveryInterval": "0.00:00:05"
 },
 "RabbitPublisherConfiguration": {
   "QueueName": "dup-start-deduplication-task"
 },
 "DataServiceRestConfiguration": {
   "DataServiceUri": "http://deduplication-data-service/api"
 },
 "Logger4NetConfiguration": {
   "LoggerName": "bulk-deduplication-logger",
   "LoggerRepositoryName": "default",
   "LogFilePath": "/app/config/log4net.config"
 },
 "DuplicatesSearchConfiguration": {
   "DefaultMaxDuplicatesPerRecord": 100
 }
}

 

Can you please tell me what the problem could be?

Like 2

Like

3 comments

Hi Igor,

 

The basic appsettings.json does not mention "Kestrel": { "AllowSynchronousIO": true }. 

 

 

Could you please let us know if an error occurs without this parameter?

Sergii Zhmurko,


Yes, you are right, I found this solution on the internet but it didn't help.

Hi Igor,

 

Try redeploying the service with only the basic settings. If the error occurs again, please contact Creatio support, providing the logs of all containers and the docker-compose file you are using for deployment. 

Additionally, please include your server specifications in the request. We will then investigate the issue in more detail.

Show all comments

Hello Community,

 

    I have created Business Process 1 with three parameters:

  1.  One parameter with the data type 'Unique identifier' to take input.
  2.  Two parameters with the data type 'Text' for internal use, as shown in the image below.

          When calling Business Process 1 as a sub-process from Business Process 2, I want to hide Internal Parameter 1 and Parameter 2. (Below Image shows Business Process 2)

Is it possible to hide these internal parameters, or is there any other solution to keep them from being visible?

 

Regards,

Ajay K

 

Like 0

Like

2 comments

Hello!

 

At this moment, we do not have such functionality. We will pass this recommendation on to our RnD team. 

Yes, it would be useful to have "internal only" type parameters, as plenty of the ones used in creating BPs are exactly that. Currently what I do is set them to output params rather than in/out params, so that they don't appear as params to be populated when used elsewhere.

 

Along with internal only params, it would be nice to have required params for BPs too, which would go to an error state in the logs if left unpopulated.

Show all comments
Question

we use 0auth (identity server) to generate token and use that token to access custom apis

it was work fine but now it give 403 status code

Like 0

Like

1 comments

Hello,
 

Unfortunately, without analyzing the issue on our end and without access to your site or Postman collection, we cannot definitively determine why you are encountering a 403 error.


Our general recommendation is to verify the accuracy of your request and connection settings according to our documentation:


https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/integrations-and-api/authentication/oauth-2-0-authorization/identity-service-overview

https://documenter.getpostman.com/view/10204500/SztHX5Qb?version=latest…
 

If the error persists and the documentation does not resolve the issue, please create a support request at support@creatio.com. Provide your Postman collection, and we will review and assist you from our side.


Thank you, and have a great day!


Best regards,  
Orkhan

Show all comments