I want to send a weekly report to specific group of people with dynamic content like lead converted in last week, opportunity closed in last week etc. 

How can I configure email template with such data from creatio sections?

Like 0

Like

1 comments

Hello,

 

You could use a business process where the system calculates this value (formula element), use the 'send email' element with the template, and add this information using business process parameters.

 

Best regards,
Yuliya

Show all comments

Hello Community,

 

       I have created Business Process 1 with three parameters. I can send the GUID from the Form Page, but I also want to pass the SchemaName as a parameter to the Business Process.

 

1] Business Process: ( Process with 3 Parameters: )

 2] Account_FormPage:

How can I send a text value parameter from the Form Page to Process? Can I Send the Multiple Parameters to Business Process? Is there any solution for this?

 

Thanks, 

Ajay K

 

Like 3

Like

4 comments

Hello!

Unfortunately, it is impossible to do it now, but we've registered it in our R&D team backlog for consideration and implementation in future application releases. Thank you for helping us to improve our product.


Thank you!

Hi Andrii,

 

Thank you for your response.

 

I have a question : If I trigger the process from different pages, such as Account_FormPage, Contact_FormPage, or Order_FormPage, is it possible to capture detailed information in the business process flow indicating from which specific page the button was triggered?

 

I'm looking for something similar to how HTTP request header parameters work.

 

Regards,

Ajay K

Hi Ajay,

Unfortunately, when triggering a business process from a button, it's impossible to determine from which specific page the process was initiated using no-code tools. However, we recommend creating a separate business process for each page. This approach lets you know exactly which page the business process was launched from.

Best regards,
Andrii

Hi Andrii Kurta,

 

Thank you for the clarification. I understand that using no-code tools may not allow us.

 

However, I would like to explore whether this can be achieved using code.

 

Could you please guide me on how I might implement a solution using code? Any examples or documentation you can provide would be greatly appreciated.

 

Best regards,

Ajay

Show all comments

Hi, 

 

Is it possible to pre-populate "To"field on Freedom UI email popup? (when opening the popup from contact page)

 

 

Thank you!

 

Like 4

Like

7 comments

Yes !!

This is a major annoyance reported by our sales team & client's sales teams.

(I say major when they have a couple emails they need to send per day through Creatio, it does not make sense that it cannot at minmum link the "to" with the contact when opening from the contact page. It a small thing that becomes big with multiple repititions a day)

Does anyone know how to accomplish this?

Hi Javier,

It looks like the message composer component does expose a "to" input property. I assume you could bind an attribute to that to populate

I've not tried this doing this yet. When I debug there the "to" value is an array of strings containing strings like "Ryan Farley <test@email.com>;"

Of course, setting that would only help if you're using the MessageComposer component on a page, like a contact and need to set for that contact. For using the EmailMiniPage, you'd still need to get the context of the record to the page. Since it's based on Activity, maybe it would work to just set the default values for the activity?

Ryan

BTW I just tried using an crt.CreateRecordRequest for Type=Email and including a Recipient and Contact, it didn't work. It did open the EmailMiniPage, but it doesn't show a To value. It also didn't let me send it, I got some message about exceeding Max size text. Not sure why but it apparently doesn't like to have default values set (weird because it works for a reply, it does set those fields for that)

Ryan

Here is the information I receive from Creatio about this issue:
This is planned in ootb in 8.2.1 or 8.2.2. version. Estimation - early winter. For now, product owner advises that developing a workaround solution will be an overkill for this task as there is no easy workaround.

Javier Collazo,

That is a bummer. Thanks for sharing those details Javier.

Ryan

:-( Thanks Javier

 

Show all comments

Hey guys, is there any way to make the toolbar of the RickText editor to be fixed on top and always visible?

 

Right now is hard to realize is a RichText, unless you click in the textbox and then in the icon for the toolbar to appear.

 

I'm in version 8.1.2

Like 1

Like

1 comments

Hello, Andres!

To implement such an idea, we need to empty the space on the page for the RichText editor. Unfortunately, this is impossible in the existing releases.

We've registered your idea for the future versions of the application! 

Thank you for making us better!

Show all comments

I’d like to navigate from a FreedomUI page to a classic list page, so they don’t loose Dashboards in Freedom.

 

Is it possible to use the request handler of a button in FreedomUI to redirect the user to the classic list of a specific object?

 

Thanks!

Like 1

Like

2 comments
Best reply

Hello Andres.
Thank you for your question.

The logic you are trying to achieve can be implemented in a couple of ways. It depends on which sections we are talking about and the reason for doing it.

The first way of redirecting from one page to another is using the handler chain service. For example, in the Contacts_ListPage (Freedom UI) in the HandleViewModelInitRequest, I implemented a handler as follows:
 1

During the page initialization, I use the handler chain instance to call the OpenPageRequest handler, which in turn opens the ContactSectionV2 page (Classic UI List Page). This method is the most straightforward but makes the least sense if you want to apply the redirection logic that you described to those sections that are present in both Freedom UI and Classic UI by default. Instead, you can simply set up your workplace to display the Classic UI section instead of the Freedom UI.
2

23

Here you can see that there are two copies of the Contacts page. Some pages are duplicated as they are present in both Classic UI and Freedom UI.

4

However, there are cases when you might notice that even though you set up your workplace to open a Classic UI version of a page, the system will open a Freedom UI analog. To change this behavior, you can go to Lookups -> Object-specific form page interface in the Freedom and Classic UI shell.
5
Change the values for the 'Classic UI shell' and 'Freedom UI shell' columns to Freedom UI pages if you want your page to open in the Freedom UI version or to Classic UI respectively. But note that the Freedom UI section ignores any page settings and always opens a Freedom UI page (if there is one). An article regarding this question can be found here.


To summarize, your logic can be implemented in a couple of ways depending on the details.

I hope my answer helps you. If not, I am open to helping you further.

Hello Andres.
Thank you for your question.

The logic you are trying to achieve can be implemented in a couple of ways. It depends on which sections we are talking about and the reason for doing it.

The first way of redirecting from one page to another is using the handler chain service. For example, in the Contacts_ListPage (Freedom UI) in the HandleViewModelInitRequest, I implemented a handler as follows:
 1

During the page initialization, I use the handler chain instance to call the OpenPageRequest handler, which in turn opens the ContactSectionV2 page (Classic UI List Page). This method is the most straightforward but makes the least sense if you want to apply the redirection logic that you described to those sections that are present in both Freedom UI and Classic UI by default. Instead, you can simply set up your workplace to display the Classic UI section instead of the Freedom UI.
2

23

Here you can see that there are two copies of the Contacts page. Some pages are duplicated as they are present in both Classic UI and Freedom UI.

4

However, there are cases when you might notice that even though you set up your workplace to open a Classic UI version of a page, the system will open a Freedom UI analog. To change this behavior, you can go to Lookups -> Object-specific form page interface in the Freedom and Classic UI shell.
5
Change the values for the 'Classic UI shell' and 'Freedom UI shell' columns to Freedom UI pages if you want your page to open in the Freedom UI version or to Classic UI respectively. But note that the Freedom UI section ignores any page settings and always opens a Freedom UI page (if there is one). An article regarding this question can be found here.


To summarize, your logic can be implemented in a couple of ways depending on the details.

I hope my answer helps you. If not, I am open to helping you further.

Hi Yevhenii, thanks for the complete answer, was very helpful!

Show all comments

Hi all,

We are moving users from Classic to FreedomUI.

 

I'm trying to remove the Desktop (home) page for regular users, so as soon as they login the system shows a section list.

 

Is that possible in Freedom?

Like 1

Like

1 comments

Hello,

 

Please note that you can set a specific section as a Home page for every user:

This way, when a user logs in, they will see the set section's list right away.

Show all comments

Hello everyone.

Can I create custom mini page linked custom button? The case is that I have to add button "Decline" to the header of the page and that button should also open mini page that asks reason of decline (comment). And that comment should be written to some field of page.
I would be glad if anyone can help or direct to related source!

Like 1

Like

2 comments

Hi Xoji, 

Yes you can. You need to create the minipage and then link it to the button by setting the action button to Open specific Page.

Button action

Javier Collazo,

Hello, I appreciate your response. I'm sorry but I forgot to mention that I was working on classic UI. 
I'm also facing problems with adding button itself to header part of the page as you cannot drag and drop button to header page in Classic UI.

Show all comments

I am developing a business process that takes data from an API and inserts it into an object.
I have some parameters created in it and I need to make some improvements to be able to insert them.
The parameters in question are the following, UserName = Text and UserApi = Lookup (Based on Contact)
I am trying to relate the username with the userapi lookup so that later this userapi is inserted into the contact lookup in the destination object:
// Obtener la fecha de la API, puede ser un string o "false"
string fechaApi = Get("FechaApertura");
string XStudioUsuarios = Get("XStudioUsuarios");
string ExpectedRevenue = Get("ExpectedRevenue");
string UserName = Get("UserName");
Guid UserApi = Get("UserApi");

// Declarar la variable para almacenar la nueva fecha
DateTime fechaNueva;
int XStudioUsuariosInt;
int ExpectedRevenueInt;

if (!string.IsNullOrEmpty(UserName) && UserName != "false") {
   Set("UserApi.Name", UserName);
}

if (fechaApi != "false") {
   // Intentar parsear el string de fecha a DateTime
   if (DateTime.TryParse(fechaApi, out fechaNueva)) {
       // Establecer la nueva fecha si el parseo fue exitoso
       Set("FechaAperturaNueva", fechaNueva);
   }
}

if (XStudioUsuarios != "false") {
   // Intentar parsear el string a int
   if (int.TryParse(XStudioUsuarios, out XStudioUsuariosInt)) {
       // Establecer el nuevo valor si el parseo fue exitoso
       Set("XStudioUsuariosInt", XStudioUsuariosInt);
   }
}

if (ExpectedRevenue != "false") {
   // Intentar parsear el string a int
   if (int.TryParse(ExpectedRevenue, out ExpectedRevenueInt)) {
       // Establecer el nuevo valor si el parseo fue exitoso
       Set("ExpectedRevenueInt", ExpectedRevenueInt);
   }
}

return true;

Like 0

Like

3 comments

One of the options is to use the ORM. The idea here is to first check if the received text value is already present in the lookup or not. To do that perform a simple select from the entity of the lookup and check if there are values there that are the same as the received text value. Examples of retrieving data can be found here. If the value is present in the lookup - set the Id of that lookup record for your main record lookup column (as described in the examples here).

 

If the value doesn't exist in the lookup - create it and then set the Id of the created lookup record as the value for the lookup column in your main record.

Oleg Drobina,

Thanks Oleg, what you describe is exactly what I need to do, but I still don't know how I can do it.

Oleg i do this Code with the information than you gave me:


string fechaApi = Get<string>("FechaApertura");
string XStudioUsuarios = Get<string>("XStudioUsuarios");
string ExpectedRevenue = Get<string>("ExpectedRevenue");
string UserName = Get<string>("UserName");
Guid UserApi = Get<Guid>("UserApi");


DateTime fechaNueva;
int XStudioUsuariosInt;
int ExpectedRevenueInt;

if (!string.IsNullOrEmpty(UserName) && UserName != "false") {
    
   var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "Contact");
    var idColumn = esq.AddColumn("Id");
    esq.Filters.Add(esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Name", UserName));
    var entityCollection = esq.GetEntityCollection(UserConnection);
    
    // Verificar si se encontraron resultados
    if (entityCollection.Count > 0) {
        var entity = entityCollection[0];

        var userApiLookup = new {
           Value = entity.GetTypedColumnValue<Guid>(Id.Name),
           DisplayValue = entity.GetTypedColumnValue<string>(Name.Name)
       };
    
        // Establecer el objeto Lookup en UserApi
        Set<Guid>("UserApi", userApiLookup);
    } 
}

if (fechaApi != "false") {
   // Intentar parsear el string de fecha a DateTime
   if (DateTime.TryParse(fechaApi, out fechaNueva)) {
       // Establecer la nueva fecha si el parseo fue exitoso
       Set<DateTime>("FechaAperturaNueva", fechaNueva);
   }
}

if (XStudioUsuarios != "false") {
   // Intentar parsear el string a int
   if (int.TryParse(XStudioUsuarios, out XStudioUsuariosInt)) {
       // Establecer el nuevo valor si el parseo fue exitoso
       Set<int>("XStudioUsuariosInt", XStudioUsuariosInt);
   }
}

if (ExpectedRevenue != "false") {
   // Intentar parsear el string a int
   if (int.TryParse(ExpectedRevenue, out ExpectedRevenueInt)) {
       // Establecer el nuevo valor si el parseo fue exitoso
       Set<int>("ExpectedRevenueInt", ExpectedRevenueInt);
   }
}

return true;
 

Show all comments

In the dashboards, I'm trying to create a stacked chart. I want to show the count of opportunities by stage by market. I don't know if this is possible or not, but I cannot seem to get it working. The x-axis is showing the opportunity stage and then the data would show the count by market for each stage. Please let me know what I am doing wrong, so we can get this to show. Thanks.

Like 0

Like

5 comments
Best reply

Adam Praiswater,

 

Hi! 

You correctly added series to your dashboards, now to display them according to the market you can add filtration to each series for certain market. 
 

For example:
1 series: market = 'market value'

2 series: market = 'market value'

 

Leave the grouping by Stage and you should achieve your goal.

Have a great day!

Hello,
 

Can you provide the screenshot with the configured chart?

 

 

Malika,

Current set up -

But want each stage to show by the division of market. I have tried to add a second series but that just doubles the number like so but it doesn't let me change the how to group or am I doing something wrong? -

 

Malika,

Does that help and/or make sense what I am trying to achieve?

Adam Praiswater,

 

Hi! 

You correctly added series to your dashboards, now to display them according to the market you can add filtration to each series for certain market. 
 

For example:
1 series: market = 'market value'

2 series: market = 'market value'

 

Leave the grouping by Stage and you should achieve your goal.

Have a great day!

Alina Yakovlieva,

Thank you for your help with this!

Show all comments

I want to create a report which prints all Lead records. For example, Leads in a particular stage, Leads created in last month etc 

Like 0

Like

1 comments

Hi,

 

Printed forms work so that they print the information contained in a single record of a section. One section record equals one report. If the task is to include information about multiple lead records in one report, it is better to create a separate section for this purpose, where you can add fields and details that will reference specific records via reverse relationships. This way, you can include data from multiple records in the report.

Printable forms are generated as one document per section record. If you want to implement your own logic for working with printed forms using development tools, you can look into the client schema "PrintReportUtilities," which interacts with "ReportService" on the server side. 

It would be best if you implemented something similar to ReportService.

Show all comments