I am trying to add a filter on the lookup owner based on the account field, but the filter is not working. Does anyone have an idea why?

Thanks!

handlers: /**SCHEMA_HANDLERS*/[
        {
            request: "crt.LoadDataRequest",
            handler: async (request, next) => {
                // filter the contact lookup for the account
                             
                if(request.dataSourceName !== "LookupAttribute_85sj3qr_List_DS") {
                    return await next?.handle(request);
                }
         
                // get the account                  
                const account = await request.$context.Parameter_q8l08xk;
                if (account) {
                    const filter = new sdk.FilterGroup();
                    await filter.addSchemaColumnFilterWithParameter(sdk.ComparisonType.Equal, "Account", account.value);
         
                    
                    const newFilter = Object.assign({}, filter);
                    newFilter.items = filter.items;
         
                    request.parameters.push({
                        type: "filter",
                        value: newFilter
                    });
                }
                             
                return await next?.handle(request);
            }
        }
            
        ]/**SCHEMA_HANDLERS*/,

Like 0

Like

2 comments

First, enable debug mode by executing the following in the browser console:

See https://customerfx.com/article/debugging-client-side-code-in-creatio-fo…

Once enabled, open the code for the page and set some breakpoints. Is a dataSourceName for "LookupAttribute_85sj3qr_List_DS" getting triggered? Maybe the name is wrong?

Is request.$context.Parameter_q8l08xk correctly retrieving the account?

Ryan

Everything looks Correct , and the issue was that I forgot to add the SDK "@creatio-devkit/common" to the page .
Thank You 

Show all comments

Dears colleagues, 

 

I want to show a message to users when Creatio is working on some process and hide it when the process ends, is there something similar to Toast dialogs/messages but to implement in a Freedom UI page?

 

I have also seen Ryan Farley's post (https://customerfx.com/article/displaying-toast-message-popups-from-cre…), but in both cases we need to specify a duration and I need the message to be visible until the process finishes. Sometimes it takes a few seconds and when there are more registrations, it could be several minutes and I want the user to know that Creatio is working ...

 

Thanks

Julio

Like 1

Like

5 comments
Best reply

We had a workaround to display the same toast message again but with a very short duration, since only 1 toast can display at a time, the new one replaces the original and then disappears. Not great and it would be nice to be able to hide toast messages on demand - ideally with reference to a specific message, so if we got back some ID from starting the toast notification.

You can also add a duration and awaitResponse to the request. Using awaitResponse will have it appear until acknowledged by the user.

request.$context.executeRequest({
    type: "crt.NotificationRequest",
    message: "This is my toast message!",
    awaitResponse: true
});

However, i don't believe there is anyway to have it display until you tell it to close (after the process completes)

thank Ryan,

 

I tried 

request.$context.executeRequest({
	type: "crt.NotificationRequest", 
	message: "Validando carga Excel...", 
	duration: 60000, 
	awaitResponse: true });

 

But in this case if the process ends before the 60seconds, need to user to close the message.... 

 

Is there another way to implement something similar?

 

Thanks again

Julio

We had a workaround to display the same toast message again but with a very short duration, since only 1 toast can display at a time, the new one replaces the original and then disappears. Not great and it would be nice to be able to hide toast messages on demand - ideally with reference to a specific message, so if we got back some ID from starting the toast notification.

Julio.Falcon_Nodos,

Harvey's idea could work, display the first toast with awaitResponse, then when the process ends display another toast without the awaitResponse and it should take the place of the first one.

Ryan

Harvey Adcock,

Thanks, great idea! I'll try it

Show all comments

Hello,

 

Is it possible to change the working hours of the calendar component in the Freedom UI? If so, is it customizable per user so each one can have different hours based on their needs (e.g. changing the time zone in the user profile).

 

On the other hand, in the default calendar page there is a custom action to show/hide the weekends

 

Is it possible to include that custom action in a new page manually?

 

Regards

Like 2

Like

2 comments

Hi!

 

Unfortunately, there is no possibility of changing the working hours in the calendar using the basic tools.

I want to assure you that I have created a request for our development team to implement this functionality in future versions of our application.

Regarding the show/hide weekends button, this logic was implemented via code in the Calendar_ListPage schema in the CrtProductivityApp package. So you can find the logic here and implement it in the same way on your page.

 

Best regards,

Kate

 

Hi Alejandro, 

Great idea ! 

Damien

 

Show all comments

Hi everyone,

I am trying to add a button to the record page of the Contacts section on Freedom UI in the Mobile app.

This is what I tried adding to the viewConfigDiff on the client module MobileFUIContactRecordPageSettingsDefaultWorkplace:

{\"operation\": \"insert\", \"name\": \"MyButton\", \"parentName\": \"profileColumnSet\", \"propertyName\":\"items\", \"index\": 3, \"values\":{\"type\": \"crt.Button\", \"clicked\": {\"request\": \"crt.TestRequest\"}, \"icon\": \"webforms-button-icon\", \"caption\": \"Test\", \"color\": \"primary\", \"size\": \"medium\", \"iconPosition\": \"left-icon\"}},

I followed the below community article:

https://community.creatio.com/questions/how-add-custom-button-mobile-creatio-freedom-ui-inside-edit-pagerecord-page

However, the button isn't getting added to the page. Am I missing something? How can I identify different elements I can possible use for the parentName and the associated propertyName in the mobile application? 

Alternatively, is there a way to override an existing button on the mobile app in freedom UI?

Regards,

Ramya


 

Like 0

Like

0 comments
Show all comments

Hello Community,
Here is the scenario Im truing to solve.

We Have Opportunity (parent page) in freedomUI and Contact In Opportunity in Classic UI.

We want to capture the following event. When we click Close in 'Contact in opportunity', we want to capture this event, in the Opportunity Form Page. 

The scope behind this is to perform a list reload of the Contacts(have already tried Enable live update in the entities-doesnt work)

How can this be achieved?

Sasor

Like 0

Like

9 comments

++++

Hello,
 

You can implement the following code to reload the data source when you get to the Freedom UI page on the crt.HandleViewModelInitRequest.
 

Sample implementation for “Opportunities_FormPage”

define("Opportunities_FormPage", /**SCHEMA_DEPS*/["@creatio-devkit/common"]/**SCHEMA_DEPS*/, function/**SCHEMA_ARGS*/(sdk)/**SCHEMA_ARGS*/ {
...
        handlers: /**SCHEMA_HANDLERS*/[
              {
        // Load data grids
      request: 'crt.HandleViewModelInitRequest',
      handler: async (request, next) => {
          console.log("You returned to FreedomUI page");
            const result = await next?.handle(request);
            const handlerChain = sdk.HandlerChainService.instance;
            await handlerChain.process({
                type: 'crt.LoadDataRequest',
                $context: request.$context,
                config: {
                    loadType: "reload"
                },
                dataSourceName: "ContactRolesListDS"
            });
            return result;
      }
  }

Serhii Parfentiev,

Hello Serhii,

Have you actually tried it ? HandleViewModelInitRequest is not even triggered when you close the classic ui page (nothing in the console log)

Sasor

++++

++++

++++

++++

+++++++

Hi Community,

Is there any idea about this topic?

Sasor

Show all comments

I created three sections, using object Product, for three different flows: A, B and C.

For each section I created its own list page and form page.

 

When I test how it is working, I see that sections for products B and C use form page for section A. List pages are working fine, and when I open section A, B or C I see correct list page, I edited for each section, but if I open a record form the list, will be opened form page from section A.

 

I checked: 

  • - List page settings for sections B and C;
  • - Sections in the Workplace setup (List setup and Page setup)
  •  
  • and these show correct form page names. So I don`t understand why if I clik on the record list page B or C, will be opened form page A.

What do I need to edit?

Like 0

Like

1 comments

Hello,

 

Please note that it is not possible to make such a setup in our system. The thing is that on the configuration level, for one object only one form page can be set as the default page:

That is why the same page is being opened for all of your sections.


However, we will register this idea for our R&D team and they will review the possibility of implementing such functionality.

Show all comments

How to Hide the + Add a new step from Next Steps, as "+ Add a new step" button allows users to deviate from these established flows.

 

Like 0

Like

1 comments
Best reply

Hello,

 

Unfortunately, it is not possible to hide "+ Add a new step" button within the "Next step" using OOTB functionality. This can only be achieved with development tools, but we currently do not have examples of such an implementation.

Additionally, we have created a task for the responsible R&D team to consider adding this functionality in future releases.

Hello,

 

Unfortunately, it is not possible to hide "+ Add a new step" button within the "Next step" using OOTB functionality. This can only be achieved with development tools, but we currently do not have examples of such an implementation.

Additionally, we have created a task for the responsible R&D team to consider adding this functionality in future releases.

Show all comments

Hello Community,

In this article it is described on how to deal with selection windows crt.OpenSelectionWindowRequest. https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/8.1/platform-customization/freedom-ui/selection-window/overview

but no information at all about predefined values.

Is there any possibilty that when clicking 'NEW' there are some predefined default values?

Example

The Account type is set to 'Our Company'

Thank you,

Sasori

Like 0

Like

4 comments

Hello,
 

You don't need to use programming for this task.
You need to create an object replacement (in your example, an Account object replacement), in which you can set the default value for the corresponding columns, save the changes, and publish the object.

defValue
defValue


 After that, when you open the pages of creating records, you will see the fields immediately filled with the default values.

defValue in Runtime

These links can also be useful for you to find more options for achieving your goal:

https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/development-tools/creatio-ide/configuration-elements/object

https://community.creatio.com/questions/it-possible-set-default-value-f…

Thank you.

Hello Serhii,

Thank you for the reply.

1) We can not utilize the generic default value, becasue depending on the conditions the Type, might have differnetvalues.

2) Our frontend logic is associated with OpenSelectionWindowRequest. In the documentation of OpenSelectionWindowRequest there is no documentation for default values.

Is there any workaround to achieve this?
Sasor

If you need to use a value based on one of the fields of an object, it is fashionable to use business rules at the object level, which, depending on the value in one field, will set the value for another field using the “Set values” option.

setValBusRul

setValBusRul
 

Hello community,

any new development in the new versions of the codebase that allows us to set default values on OpenSelectionWindowRequest?

Sasor

Show all comments

In the classic UI, the timeline showed portal messages.

 

However in the Freedom UI, portal messages are not available to select:

 

They are not available as an option in the timeline settings.

 

How do we enable these?

Like 1

Like

4 comments

I believe in Freedom UI cases, portal messages are just Feed messages (with the External property set). For the filter, you'd just set the option for Feed to see portal messages.

Ryan

Hi Ryan, thanks for the reply. I thought the same but they are not showing on our system.  Will have to log it with Creatio Support.

Hi Kieron!

To display portal feed messages in the timeline, you need to first allow external users to publish Feed messages:

 

After, these portal feed messages will be automatically displayed in the timeline.

I hope this helps. Have a great day!

Alina Yakovlieva,

Hi, that setting will display the messages in the Feed panel, but they still do not appear in the timeline.

Show all comments

Hi Creatio Community,

I’m currently working on a use case where we need to customize the email composer in Creatio. Specifically, we’d like to know the possibilities for:

  1. Editing or Updating the Email Composer:
    • Is it possible to modify the default email composer UI or add custom functionalities?
    • Can we add custom fields, change the layout, or integrate additional tools within the composer?
    • Are there any APIs or configuration settings available to achieve this?
  2. Adding a Scheduler on the Email Mini Page:
    • We have a requirement to create a scheduler feature directly on the email mini page.
    • The goal is to allow users to schedule emails to be sent at a specific date and time.
    • What’s the best approach to implement this? Would we need to create a custom section, or is there an existing feature we can extend?

Any guidance, documentation, or examples would be greatly appreciated. If anyone has worked on similar customizations, I’d love to hear your experiences.

Thanks in advance for your help!

Like 0

Like

1 comments

Hello,
 

  1. 1. Unfortunately, the Message Composer element is not customizable in the system at the moment. However, we have increased the priority of this task to add such a capability in a future product update.
     

2. We do not have ready-made examples of such an implementation, but you can achieve this using a business process instead of sending messages manually.
 

You can implement the sending functionality via a script task, where you pass the draft activity ID. A similar approach was discussed here:
 

🔗 Send email from a portal user using ActivityEmailSender
 

After that, you can use a task to send the record.

Hope this helps! 

Show all comments