I am following this article 
 

https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/development-tools/testing/examples/add-tests-for-the-custom-class#title-2118-3
 

I am not able to find the file named Terrasoft.Configuration.Tests.csproj in the file provided application .zip file.
 


 

Like 0

Like

1 comments

Hello,
Terrasoft.Configuration.Tests.csproj is just an example of how the project can be named. The needed csproj file should be located at this path \Terrasoft.WebApp\Terrasoft.Configuration\Pkg\{your package}\Files

Show all comments

Hello,

 

some of my users are having problems to se their "format number" in the Profile User page.

They get a permission error, as administrator I don´t get this error when doing the same action.

 

Any idea on what object I should change/allow to the users to fix this?

Like 0

Like

3 comments
Best reply

Something Creatio miss to configure when add this feature. You must go to Object Permissions, search for "SysUserProfile" and add the permission there, search "Number Format" and add users

Something Creatio miss to configure when add this feature. You must go to Object Permissions, search for "SysUserProfile" and add the permission there, search "Number Format" and add users

Thank you Julio, it worked.

Show all comments

Hi

 

Somebody know how determine, when working with a record in a Freedom UI page if it corresponds to a new record (new/copy)?

 

Thanks in advance

 

Regards

 

Julio Falcón

Like 0

Like

7 comments

Hello Julio,

const cardState = await request.$context.CardState;
if (cardState == "add" || cardState == "copy") {
     // do something here
}

Ryan

Ryan Farley,

Thanks Ryan, where did you find/get this kind of information?

Ryan Farley,

Ryan,

 

In which kind of handler request I must introduce the code? I tried in crt.OpenPageRequest, but nothing happens. The code I'm using:

 

handlers: /**SCHEMA_HANDLERS*/[ // NdosEntity_4ad7b54DS.NdosPeriodicidadMP
	{ 
		request: "crt.OpenPageRequest",
		handler: async (request, next) => {
			const okBtn = {
				key: "OK",
				config: {
					color: "accent",
					caption: "OK"
				}
			};
 
			const cancelBtn = {
				key: "CANCEL",
				config: {
					color: "primary",
					caption: "Salir"
				}
			};
 
			// Nuevo o Copia
			const cardState = await request.$context.CardState;
 
			// Mensaje...
			const result = await request.$context.executeRequest({
				type: "crt.ShowDialogRequest",
				$context: request.$context,
				dialogConfig: {
					data: {
						message: ( cardState == "add" || cardState == "copy" ) ? "New: Este es un nuevo registro" : "Existing one: Este registro ya existe" ,
						actions: [ okBtn, cancelBtn ]
					}
				}
			});
 
			if (result === "OK") {
				// Clica en OK
 
			}
 
			/* Siguiente handler, retorna resultado */
			return next?.handle( request );
 
		},	
	},
]

Julio.Falcon_Nodos,

You would add this in the page you’re opening, not in the code that opens the page. What is the intent you’re trying to produce? I assume that in a page you’re wanting to know if the page is in add mode vs edit. Correct? To accomplish this you’d add something such as a crt.HandleViewModelResumeRequest on the page and check the cardstate there. 

Thanks Ryan, I'm also try using crt.HandleViewModelResumeRequest, but nothnig happens.

 

What I need is that when I open the page "Air Equipment/NdosPage_3ud8c3e" it can detect if I am working with a new record and do something. So it is in the code of this page, where I enter the commented code, compile, open an existing record and create a new one and the code entered does not execute/does not work in any situation.

 

If I add the code inside a crt.HandleViewModelAttributeChangeRequest, it works, but it stays 

in loop and to exit I have to go back in the browser.

 

I made a short video to show what I'm doing and where the code is in case it helps to understand, see at

https://share.vidyard.com/watch/NRBjhx3hjzCi9sZ2x5qsSK?

 

In Classic UI I've the onEntityInitialized method to execute when open the page, but in Freedom is very different

 

Thanks again

Julñio

Julio.Falcon_Nodos,

Hello Julio,

Does it also not enter the handler if you try adding a "crt.HandleViewModelInitRequest"?

Ryan Farley,

No Ryan, I didn't understand what's wrong with my code :-(, 

 

Show all comments

Greetings Community,

 

     Could someone provide me with references for Script Task queries related to CRUD operations on Creatio objects?

 

      Are there any examples or references available for sample scripts and C# functions regarding the Script Task element suitable for beginners?

Like 0

Like

2 comments

Hello,

 

As the first step, we recommend you to check our Academy article on Script Task process element that includes both instructions and examples of working with it. You can also use Academy and Community for searching examples of implementation of some more specific requests using the key words.

https://academy.creatio.com/docs/8.x/no-code-customization/bpm-tools/pr…

Hello Mira,

 

Thank you for your reply. I have reviewed the Academy article on the Script Task Process element. Also, executed on Creatio platform.

 

I am now interested in learning more about what we can accomplish with the Script Task element. Is there any additional information or examples available for Script element? 

 

regards, 

Ajay

Show all comments

Hi,

Is there a way to get the process log id generated by the current running business process?
I want to know what is the process log id while the business process is running.

Like 0

Like

3 comments
Best reply

I was able to get the instance ID by doing the code below. The return UID here looks to be the same as the SysProcessLog ID used in the Process Log section.

 

string instanceUId = context.Process.InstanceUId;

Hello!

 

Actually, the system runs multiple processes at once. But if you mean "current" from the perspective of process, in this case, process log id, it is just the id of this instance of the process. It represents in SysProcessElements, SysProcessLog, and other objects where you can filter data. To get this id in process, you will need to implement custom logic.

Kyrylo Atamanenko,

 

Can you provide us an example logic? We are meaning to get the current instance ID inside the process itself.

I was able to get the instance ID by doing the code below. The return UID here looks to be the same as the SysProcessLog ID used in the Process Log section.

 

string instanceUId = context.Process.InstanceUId;
Show all comments

Hello,

 

Does Creatio have any implemented logic for versioning the files? I see that the base File object has a "Version" column that is always set to 1, it seems. Can this behaviour be changed? 

 

Thank you!

Like 1

Like

1 comments

Hello,
 

The logic of the Version column value for the file object is located at the event level of the "File" object process as part of the CrtCoreBase package.



You can use development to create a replacement for the object, where you use your own custom logic to assign a value to the Version column when the object event occurs. This implementation requires knowledge of development and writing source code.
You can learn more about events in the system on Creatio Academy.

You can also create a business process (no-code) that will make the necessary changes to the column values when adding/modifying a record.
 

Thank you.

Show all comments

Can anyone recommend the best filter to add to trigger an email send to our customers that reach a 3 year and 5 year anniversary of opening an account with us. I assumed it would look something like this, but I want to be sure. Thanks in advance.

Like 0

Like

1 comments

Hi Lucas,

1/ Regarding your filter, here are a few remarks:


  1. 1.1 You need to use the OR operator in the root filter not ADND, so that the condition is: 

    3 years (1095 days) 
    OR 
    5 years (1825 days).
  2.  

1.2 Currently, you are checking customers whose Contract Date field is within the range of the last 1095 days or 1825 days, meaning from today to 3/5 years back.
 

You need this to be a filter for Contract Date > the previous 1095 days.


  1. 1.3 As I understand it, the task is to ensure the email is sent only once when users reach the 3/5 year mark. Instead of sending the email repeatedly, I recommend adding a field, such as a checkbox labeled "Anniversary Emails sent", and set this checkbox during the same process. 

    Then, add a condition to the business process trigger:

Anniversary Emails sent != true.

  1.  

1.4  We recommend running the process on a timer rather than a signal, once a day at a specific hour. 

This way, the process will check all records where the Contract Date exceeds 3/5 years and send the email to those who haven't received it yet, doing this every day.
 

2. Overall, it's important to understand that such a filter won't account for leap years. Another possible solution:
 

  1. 2.1 Add a column "Send anniversary email date" and populate this column using a process with a formula element where Contract Date.AddYears(3).
     

Then add a condition to the timer: "Send anniversary email date" = Today, and the process will send emails to all users whose "Send anniversary email date" is today.

Show all comments

I am looking for assistance with a challenge I am facing in the Freedom UI of Creatio regarding the display of decimal field values in a label.

The issue I am encountering is that when I try to display a decimal value in a label on the Freedom UI page, the value is not being comma-separated as expected. For example, if the decimal value is 23,586.06, the label only shows 23586.06 without the comma. Similarly, for the value 1,000.00, the label displays only 1000 instead of 1,000.00.

What I am aiming for is to have the decimal values displayed with commas for better readability. For instance, the value 23,586.06 should be displayed as 23.586.06, and 1,000.00 should appear as 1,000.00 in the label on the Freedom UI page.

I have tried several approaches to address this issue within the Freedom UI but have not been successful in achieving the desired result.

Like 0

Like

4 comments

Hello Satyam,

 

Could you please clarify how exactly you implemented the 'decimal number' in the label?

When you set the number in the attribute bound to the label you can use toLocaleString:

request.$context.MyAttribute = num.toLocaleString();

Ryan

.

Hello ,

 

Thanks for the response.
 

The below given code is how we are currently setting the value of the UsrAmount decimal field to be shown as a label caption.

{
                "operation": "insert",
                "name": "Label_td5mlo3",
                "values": {
                    "layoutConfig": {
                        "column": 1,
                        "row": 2,
                        "colSpan": 1,
                        "rowSpan": 1
                    },
                    "type": "crt.Label",
                    "caption": "$PDS_UsrAmount_7hu2ut1",
                    "labelType": "headline-1",
                    "labelThickness": "bold",
                    "labelEllipsis": false,
                    "labelColor": "#181818",
                    "labelBackgroundColor": "transparent",
                    "labelTextAlign": "center",
                    "visible": true
                },
                "parentName": "GridContainer_rpq3gxq",
                "propertyName": "items",
                "index": 1
            }

 

As a result, it picks the value from the decimal field and shows in the label as shown in the screenshot below:

 

I want to show the Label caption in the same format as that of the amount field. Also another thing that we have noticed is that when the amount is 1,000.00 , the caption shows 1000 instead of 1000.00. 

kindly help

Show all comments

Does anyone have a solution on how to create Excel reports with Time type columns? I tried to use "Excel reports builder" but it gave me an error "Unable to cast object of type 'System.TimeSpan' to type 'System.IConvertible'.Couldn't store <00:39:00> in ___ Column. Expected type is DateTime." I want to make a pivot table and graph, so the usual unloading of the registry is not enough for me. 

 

Like 0

Like

5 comments
Best reply

Hello,
The current version of the Excel reports builder for Creatio app doesn't support Date / Time formats. The responsible team plans to add this feature in the next app release. A new version will become available in July.

Hello,

For this, you can use the solution from marketplace: https://marketplace.creatio.com/app/excel-reports-builder-creatio

 

 

Best regards,
Malika

Malika,

Unfortunately, it doesn't work with Duration. A report with Time-format columns (00:00:00) is not creating. So I thought maybe there was another solution

Hello,
The current version of the Excel reports builder for Creatio app doesn't support Date / Time formats. The responsible team plans to add this feature in the next app release. A new version will become available in July.

Irina Lazorenko,

Hello, do you know when this App update will be available?

Поліна Стоцька,


Hello,

The new version of the app is under review and will be available on the marketplace this week.

Show all comments

Hi Community!

Our customer is generating documents in their old CRM system in an interactive way.
This means they can merge the data from the CRM with the report template into a Word document, then edit that document in Word and save the final result to CRM as PDF.
 

As far as I know, this is not possible in Creatio 8, but is very important for the customer!

Is there any way to achieve this goal? I searched the marketplace but haven't found a proper solution.

 

Thanks,

Robert

Like 2

Like

3 comments

Hello,

Unfortunately, there is no such option at the moment. 

However, we understand that this is not ideal for your specific needs.

We want to assure you that we have created a request for our development team to implement this functionality in future versions of our application. We understand the importance of providing our clients with the best possible experience and will work hard to implement the changes you have suggested.

Thank you again for bringing this to our attention, and please do not hesitate to reach out if you have any further questions or concerns.
However, we understand that this is not ideal for your specific needs.

 

Halyna Parkhomenko writes:

Hello,

Unfortunately, there is no such option at the moment. 

However, we understand that this is not ideal for your specific needs.

We want to assure you that we have created a request for our development team to implement this functionality in future versions of our application. We understand the importance of providing our clients with the best possible experience and will work hard to implement the changes you have suggested.

Thank you again for bringing this to our attention, and please do not hesitate to reach out if you have any further questions or concerns.
However, we understand that this is not ideal for your specific needs.

 

Thanks for the info! Is there an ETA on when the feature might be available? Also something like "not in the next x versions" would already be of help!

 

Thanks,

Robert

Robert Pordes,

 

Unfortunately, there is no ETA at the moment, but we have increased the priority of this implementation with your case.

 

Have a great day!

 

Best,

Alina

Show all comments