Dear,

 

I would like to filter activities in the timeline by activity category :

do not display activities if their category corresponds to a given value.

 

I haven't found any articles or requests in the community to do this. I can not find where to apply this filter on the timeline object.

 

Thank you !

Nicolas

Like 0

Like

1 comments

Dear,

 

Thank you for reaching out to us.

 

Unfortunately, in the current system configuration, such an option for advanced filters is not available for the Timeline.

 

However, we have submitted a request to our R&D team to explore the possibility of implementing this feature in future versions of the system.

 

Please let us know if you have other questions.

 

Have a nice day!

Show all comments

In outlook emails, you can categorise them with tags, as you can see in the image below.

 


Is there any way for Creatio to read the tag associated with the email?

Thank you.

Like 1

Like

1 comments

Hello,

 

Unfortunately, at the moment, there is no such feature as you described.

 

In case you are describing one special tag, we can suggest you to set filtration by tag in outlook in separate folder and synchronize it with Creatio.

 

We've registered this idea in our R&D team backlog for consideration and implementation in future application releases. Thank you for helping us to improve our product.

 

Have a nice day!

Show all comments

So i'm making a simple Creatio app where I want to upload an image, encode it in base64 format, and pass it via WebService to my application.

 

I made a simple page with a button that calls business process where WebService is called.

I also added attachment component, uploaded a few images, and can successfully access the last image in my business process via formulas (get it's name, info ect.)

 

I don't have much experience in C#, so I'm kindly asking if someone could give me an example code how to read the image in Script Task named Base64 Encoder, after it's been fetched in "ImageReader" task, and return/forward encoded B64 image to "API CALL" task.

 

Thanks in advance!

Like 0

Like

7 comments

Hello,

 

First you should add Process file element to your business process where you can get the file and keep it for further usage in the process.

Then in Script Task you can retrieve that file and apply encoding. You can use the following code as an example

 

var files = context.Process.FindFlowElementByName("ObjectFileProcessingUserTask1").GetPropertyValue("ObjectFiles") as ICompositeObjectList<ICompositeObject>;
foreach(var file in files)
{
	if(file.TryGetValue<EntityFileLocator>("File", out EntityFileLocator fileLocator))
	{
		IFile fileItem = UserConnection.GetFile(fileLocator);
		using (System.IO.Stream stream = fileItem.Read())
		{
			/* Retrieve the file content and save it to the array. */
			var content = stream.ReadToEnd();
			var encodedContent = Convert.ToBase64String(content);
			Set<string>("EncodedFile", encodedContent);
		}
	}
}

 

Here ObjectFileProcessingUserTask1 is the name of Process file element in the business process.

Also don't forget to include Terrasoft.File and Terrasoft.File.Abstractions namespaces to the business process. In order to do that open the business process designer, go to the Methods tab and add the namespaces to the Usings list.

You can find more information about file processing in the articles:
https://academy.creatio.com/docs/8.x/no-code-customization/bpm-tools/process-elements-reference/system-actions/process-file-element
https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…

Thank you so much for the response.

I have successfully compiled my BusinessProcess, but how do I access 'EncodedFile' in my other tasks?

For example, I want to display it inside Auto-generated page, but I don't see my ScriptTask among my Process Elements in Formula window.

Please have a look at the “Process parameters” tab, as the result of the script execution is written to the “EncodedFile” process parameter

Considering it is a Base64 string, which process parameter type should I choose? Unlimited length text?

 

Also, I would like to get image width and height in the code and save it to parameter as well.

How can I get them in code?

Since Base64 string might be long Unlimited length text type will be a good choice for the parameter that will be used for storing it.

 

In order to get and save image width and height first you have to create 2 process parameters of type Integer (e.g.  ImageWidthParam and ImageHeightParam). Then in Script Task you can get the values using the following code:

 

using (System.IO.Stream stream = fileItem.Read())
{
	using (Image img = Image.FromStream(stream))
	{
		Set<int>("ImageWidthParam", img.Width);
		Set<int>("ImageHeightParam", img.Height);
	}
	/* Retrieve the file content and save it to the array. */
	var content = stream.ReadToEnd();
	var encodedContent = Convert.ToBase64String(content);
	Set<string>("EncodedFile", encodedContent);
} 


Also add System.Drawing namespace to the business process the same way as you added Terrasoft.File and Terrasoft.File.Abstractions namespaces.

 

Thank you so much for the replies!

 

Only thing that doesn't work is that EncodedFile seems to be empty.

When I try to print it inside AutoGeneratedPage as a text field it shows nothing, and when I forward it in a WebService .json body to my API there is no data.

 

Process file element is fetching last 10 records from uploaded files, I tried looking up uploaded files and there are test images there, so there should be valid input to my ScriptTask.

 

Is there something about Process Parameter "EncodedFile" that I should set up differently except setting its type as Unlimited length text? Everything else I left at default values.

The problem that EncodedFile parameter is empty could be that the stream position is at the end, so when you call stream.ReadToEnd(), there's nothing left to read.
You can update a proposed code a bit to make sure that stream position is not at the end before reading from it.

 

/* Retrieve the file content and save it to the array. */
var content = stream.ReadToEnd();
var encodedContent = Convert.ToBase64String(content);
Set<string>("EncodedFile", encodedContent);
using (MemoryStream imageStream = new MemoryStream(content))
using (Image img = Image.FromStream(imageStream))
{
	Set<int>("ImageWidthParam", img.Width);
	Set<int>("ImageHeightParam", img.Height);
}

 

Also I would recommend to debug Script Task code in Visual Studio in case you have some issues to make sure that it's executing as expected.

Show all comments

Hi 
Anyone has experience to integrating  to AzureAPI OAUTH -- 

 

While we can se the client id and client secret code how do we provide  the following ?

Authorization: Bearer {AccessToken}

  • x-ms-date: {Generated RFC 1123 Date}
  •  
Like 0

Like

2 comments

Hello Sarangarajan,

As we understand, you want to specify an additional header besides Bearer in the service request. If so, you can do this by simply adding the header in the web service settings.

You may find more information in the "Set up the REST web service integration" article.

Best regards,

Anhelina!

In the above case 
x-ms-date: {Generated RFC 1123 Date}  -- value need to be current date and time in RFC 1123 format -- that how do we set it up

Show all comments

I’m encountering an issue in Creatio where the tabs on the page expand automatically after I add an object under the DataGrid. This expansion causes the left-side data grid to become invisible, as the tabs take up too much space.

I’d like to have the data grid on the right side of the page with corresponding values displayed on the left side. However, the tabs expanding is affecting the layout, making it difficult to view the grid properly.

Is there any property or setting I can adjust to prevent the tabs from expanding when I add an object to the DataGrid?

I’d appreciate your guidance on resolving this issue.

Thanks in advance for your help!

 

Attachment is screen shot. I was not able to upload MP4 file.

Like 0

Like

2 comments

Hi Samir,

We can see that you submitted a case to our support team. We will continue our communication there.

Have a great day!

Alina Yakovlieva,

Thank you for your assistance. Could you please let me know once you have an update regarding this issue?

I appreciate your help.

Show all comments

Good morning,

 

I’ve added a dashboard widget using Freedom UI 8.1/8.2 that displays Total Charges for the current month from the Case object. I’d like to enhance the widget so it can accept parameters such as month and year, allowing users to select a specific time period to view.

From what I’ve seen on Creatio Academy (https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…)  , it looks like this kind of functionality is possible in the classic UI. Is it also possible to do this in Freedom UI?

 

 

 

Regards, 

Michael

Like 0

Like

5 comments
Best reply

You can add a QuickFilter component and set it as a date. Then, you can tie that to the metric using the "Apply pre-configured filter" and select the QuickFilter. Then the metric will change based on what date the user selects in the QuickFilter

Ryan

You can add a QuickFilter component and set it as a date. Then, you can tie that to the metric using the "Apply pre-configured filter" and select the QuickFilter. Then the metric will change based on what date the user selects in the QuickFilter

Ryan

Ryan Farley,

 Ryan, I'll give it a look. Thanks for the quick reply. 

Hi Ryan,

Do you know which version of the software includes the "apply per-configured" option for charts? I'm currently running version 8.2.0.4172 and don't see that setting in the chart configuration.

Michael Lim,

It does exist in that version. For a chart (not a metric) you click into the series and it’s there, since filters apply to each series individually 

Ryan

Ryan Farley,

Thanks again Ryan. You are very helpful

Show all comments

We are currently in the process of setting up UTM Parametes and have successfully configured UTM parameters in the lead channel, lead source, and lead source URL lookup in Creatio. However, we are still facing issues with tracking leads effectively.

 

Could you kindly assist us by reviewing our current configuration to ensure that everything is set up correctly? We would greatly appreciate your support in making sure that lead tracking is working as expected.

Like 0

Like

4 comments

Hello,

Can you send here some screenshots of your settings, so we are able to check whether everything is correct?

Sure. Here are the screenshot of Lookup setting that I did for UTM.

Devarshee Solanki,

 

Malika,

I have shared Screenshots. Can you please have alook

Devarshee Solanki,

 

Hello,

 

In order to proceed further, we would need access to the site. Please reach out to support@creatio.com, and provide us with the following details:

  • - Lead example
  • - Lead source
Show all comments

how do i make it so that anything under 250m requires 2 approvals from 2 different roles? all i got so far are these

should i use the stages case? or should i use the business rules? 

here's how i want to make it, 

if the limit amount recommendation is 250mil or higher then it requires the approval from 3 different roles to pass, if it is 50mil-250mil it requires the approval of 2 different roles to pass, and if it is under 50mil it requires the approval of only 1 role to pass,

 

can anyone provide me with a way to implement this into creatio, with images if possible or detailed instructions

 

i am using creatio version 8.2.2

Like 1

Like

2 comments
Best reply

Hello.


A more reliable and flexible solution for your task would be to implement a business process that triggers upon the creation or modification of a record. This process can check the value of the "Limit Amount" field, and if it meets or exceeds the specified threshold, initiate an Approval workflow using the "Approval" process element.
 

The Approval element provides extensive functionality:

  • It allows you to define one or multiple approvers (users, roles, or dynamically set participants).
  • You can customize the approval conditions and logic, including escalation or repeated approvals.
  • The process can branch based on the outcome (approved/rejected), enabling you to build comprehensive approval flows.
     

You can learn more about the capabilities of this element in the Academy article:  Approval process element – Creatio Academy.

This approach ensures greater flexibility, maintainability, and future-proofing for your use case.

Best regards.
Antonii.

Hello.


A more reliable and flexible solution for your task would be to implement a business process that triggers upon the creation or modification of a record. This process can check the value of the "Limit Amount" field, and if it meets or exceeds the specified threshold, initiate an Approval workflow using the "Approval" process element.
 

The Approval element provides extensive functionality:

  • It allows you to define one or multiple approvers (users, roles, or dynamically set participants).
  • You can customize the approval conditions and logic, including escalation or repeated approvals.
  • The process can branch based on the outcome (approved/rejected), enabling you to build comprehensive approval flows.
     

You can learn more about the capabilities of this element in the Academy article:  Approval process element – Creatio Academy.

This approach ensures greater flexibility, maintainability, and future-proofing for your use case.

Best regards.
Antonii.

Antonii Viazovskyi,

thank you, i'll try and implement this method, i thought that this method could only be done through business rules, i hadn't even considered business process

 

Show all comments

Hi community,

Is there any Low-Code possibilty to navigate directlty to Form Page of the created record?

Chain of events

1 - Mini Page is opened and data is entered

2- Mini Page Save evend is performed

3- After the record is created we navigate directly to the created record Form Page

 

Basically we need the symetric operation of this articel but for FreedomUI

https://customerfx.com/article/automatically-navigating-to-the-new-record-created-by-an-add-mini-page-in-creatio/

 

If there is no-code possibility, can you provide a code snippet how to achieve  it?

Sasor

Like 0

Like

1 comments
Best reply

For a no code approach - there really isn't an exact match, the closest possibility is the action "Continue in other page" which will open it in the default page for the entity type (assuming the mini page is set up as the "Add" page). However, that doesn't actually save the record first (just validates it).

For a code approach, you'd need to add a save request handler see here, then use: 

const saveResult = await next.handle(request);
if (saveRequest) {
	// navigate here
}
return saveRequest;

The navigate here part would use this and open the record in edit mode. 

Also, it likely would not be a good idea to do this in the base page for all mini pages, since dialogs can be used for different purposes, not like how it was for mini pages in classic (although I suppose you could check if the current mini page is in add mode).

Ryan 

For a no code approach - there really isn't an exact match, the closest possibility is the action "Continue in other page" which will open it in the default page for the entity type (assuming the mini page is set up as the "Add" page). However, that doesn't actually save the record first (just validates it).

For a code approach, you'd need to add a save request handler see here, then use: 

const saveResult = await next.handle(request);
if (saveRequest) {
	// navigate here
}
return saveRequest;

The navigate here part would use this and open the record in edit mode. 

Also, it likely would not be a good idea to do this in the base page for all mini pages, since dialogs can be used for different purposes, not like how it was for mini pages in classic (although I suppose you could check if the current mini page is in add mode).

Ryan 

Show all comments

Hello community

I am encountering an issue when using the Clio utility to create a custom Angular module. When attempting to configure the workspace, I am facing errors, and I would appreciate your assistance in resolving them.

The errors I receive are as follows:

 

When running the command clio dconf -e dev-env:

[WAR] - Downloading of cor libraries requires cliogate version 2.0.0.0 or higher.

 

When running the command clio restorew -e dev-env:

[ERR] - To use this command, you need to install the cliogate package version 2.0.0.0 or higher.

However, when I run the command clio ver, the output shows:

 

clio:   8.0.1.21

[INF] - gate:   2.0.0.29

dotnet:   8.0.14

 

My connection to dev-env is stable, and I can see the list of packages

It appears that I have the correct version of the cliogate package installed (2.0.0.29), but I am still facing issues. 

Has anyone encountered a similar situation?

What could be causing this behavior in Clio?

Are there perhaps some configuration nuances that I'm missing?

Unfortunately, I haven’t been able to find any solutions or descriptions of similar errors online. Thank you in advance for any ideas or recommendations!

Like 1

Like

9 comments
Best reply

Artem Ivzhenko,

Hello, the issue was resolved in the clio version 8.0.1.27. Thanks for your attention. In this version, we fixed the situation when the config file URL uses a form like 'HTTP(s): my-creatoio.com/' with '/' in the end.

The command "clio ver" shows the version of the Clio command line itself. The error is mentioning the version of cliogate, which is a package installed on the Creatio system. 

To check the version of cliogate, use: 

clio ver --gate -e dev-env

To install or update the cliogate on the system, use: 

clio install-gate -e dev-env

Ryan

Sorry, missed that you mentioned the version of cliogate is up to date already. I've not experienced that issue. 

It seems there might be an issue with the connection between a clio and your dev. Try installing the gate again:

clio install-gate some_application_name

And then restart the dev:
clio restart some_application_name

 

This message only appears when dev-env does not have cliogate package installed,m  you can validate it with  `clio packages -f cliogate`. 

You should see something like this. If nothing comes back, then you need to reinstall cliogate. 

Use `clio gate -e dev-env` to reinstall cliogate

Dmytro Vovchenko,

I got an exception on this:


clio install-gate -e dev-env
Uploading...
   at System.Net.HttpWebRequest.GetResponse()
   at Creatio.Client.CreatioClient.Login(Int32 requestTimeout)
   at Creatio.Client.CreatioClient.InitAuthCookie(Int32 requestTimeout)
   at Creatio.Client.CreatioClient.get_AuthCookie()
   at Creatio.Client.CreatioClient.CreateCreatioRequest(String url, String requestData, Int32 requestTimeout)
   at Creatio.Client.CreatioClient.UploadFile(String url, String filePath, Int32 defaultTimeout)
   at Clio.Common.CreatioClientAdapter.UploadFile(String url, String filePath)
   at Clio.Package.BasePackageInstaller.UploadPackage(String filePath, EnvironmentSettings environmentSettings)
   at Clio.Package.BasePackageInstaller.InstallPackedPackage(String filePath, EnvironmentSettings environmentSettings, PackageInstallOptions packageInstallOptions)
   at Clio.Package.BasePackageInstaller.InstallPackage(String packagePackedFileOrFolderPath, EnvironmentSettings environmentSettings, PackageInstallOptions packageInstallOptions)
   at Clio.Package.BasePackageInstaller.InternalInstall(String packagePath, EnvironmentSettings environmentSettings, PackageInstallOptions packageInstallOptions, String reportPath)
   at Clio.Package.PackageInstaller.Install(String packagePath, EnvironmentSettings environmentSettings, PackageInstallOptions packageInstallOptions, String reportPath)
   at Clio.Command.PushPackageCommand.Execute(PushPkgOptions options)

Artem Ivzhenko,

according to the trace of the error the request to login either timed out or returned an error. This might be also related to the fact that dev apps are shut down automatically in case there is no activity in the dev app for the past 60 minutes. Try the following steps:

  1. Open the login page of the dev app in the UI and make sure it's loaded.
  2. Wait for 1-2 minutes (for the app to completely initialize after starting).
  3. Try executing the cliogate install once again.

Please let us know about the result.

Oleg Drobina,

I followed the steps you outlined above and I still get the same error.
I don't understand why a connection error occurs, especially since the ping command returns:
[INF] - Done ping-app.
At the same time, other developers connected to the same environment are working without any issues.
I am not connected to a VPN or proxy server.

Oleg Drobina,

In my understanding, a timeout error should not occur immediately after running the command, but rather after some time has passed, since a timeout cannot happen within just one second.
In my case, I receive the error right after launching the command, without any delay.

Artem Ivzhenko,

Hello, the issue was resolved in the clio version 8.0.1.27. Thanks for your attention. In this version, we fixed the situation when the config file URL uses a form like 'HTTP(s): my-creatoio.com/' with '/' in the end.

Show all comments