How to hide/remove the below mentioned icons in the freedom UI

 

Like 1

Like

4 comments

Hello!

To remove the "+" and process buttons please, follow the instructions:
1) Add and enable the feature "AllowCreateAngularSchema"
2) Relogging to the app
3) In the configuration, replace the MainShell schema with the additional menu item "Angular replacing view model":

 image.png

Parent object - "Main shell layout with vertical navigation":
image.png

4) Fill the new MainShell with the following code and save the module:

 define("MainShell", /**SCHEMA_DEPS*/["@creatio-devkit/common", "css!CardSchemaViewModule", "css!MainShellCSS"]/**SCHEMA_DEPS*/, function/**SCHEMA_ARGS*/(devkit)/**SCHEMA_ARGS*/ {
    return {
        viewConfigDiff: /**SCHEMA_VIEW_CONFIG_DIFF*/[
            {
                "operation": "merge",
                "name": "ShellHeaderToolbar",
                "values": {
                    "runProcessButtonVisible": false,
                    "quickAddMenuButtonVisible": false,
                    "helpMenuButtonVisible": true
                }
            }
        ]/**SCHEMA_VIEW_CONFIG_DIFF*/,
        viewModelConfig: /**SCHEMA_VIEW_MODEL_CONFIG*/{}/**SCHEMA_VIEW_MODEL_CONFIG*/,
        modelConfig: /**SCHEMA_MODEL_CONFIG*/{}/**SCHEMA_MODEL_CONFIG*/,
        handlers: /**SCHEMA_HANDLERS*/[]/**SCHEMA_HANDLERS*/,
        converters: /**SCHEMA_CONVERTERS*/{}/**SCHEMA_CONVERTERS*/,
        validators: /**SCHEMA_VALIDATORS*/{}/**SCHEMA_VALIDATORS*/
    };
});

5) Relogging to the app and check the result:

image.png

 

As for the Global Search - see this post https://community.creatio.com/questions/global-search-field

In your case if you need to hide it for all users - specify the "All employees" and "All external users" in the GlobalSearchInputVisible operation permission.

You can use this marketplace addon to hide UI elements without any additional code: https://marketplace.creatio.com/app/experceo-ui-wizard-creatio
 

Mohamed Ouederni,

 

It's an option, but we faced several tickets when 2 first DCM stages are not displayed in the UI on all Freedom UI pages when this addon is installed. So better hiding the elements using examples we shared above.

Show all comments

I'm trying to get the "Resulting collection" out of a Read data step in a Business Process in order to iterate over it, but whatever I try the "Resulting collection" is null/empty when trying to access it later in BP. The "Collection of records" parameter for the step is populated with the expected number of records, but since it's an ICompositeObjectList, it can't be iterated over using an index (e.g. entityCollection[0]) which is really what I would like for this solution - using a foreach loop in code isn't ideal, as then we have to write everything in code rather than using the no code BP steps available to us.

 

I've tried many things including changing packages to not compile into a separate assembly and using the Resulting collection parameter in a subprocess BP by binding the output param to a BP param, and have even checked in the ReadDataUserTask code using Visual Studio to debug and check values, and it seems that the ResultEntityCollection ("Resulting collection") is being set correctly there, but it just doesn't seem to make it back to the Business Process. Does anyone know why this might be the case? And if there's any resolution? Currently working in 8.1.3

Like 1

Like

3 comments

To add some details to what I'm seeing, this is the Read data step:

 

This is a formula step to try to see what should be coming out of this step in the Resulting collection:

 

And this is my User Task step which takes an EntityCollection parameter:

 

Before the Formula step, the value of the "Entity collection" parameter is null, afterwards it appears in the BP trace logs as being "", so something does change - below is shown what the User Task step's Inspect looks like after it fails:

 

So the BP parameter value is "" for the EntityCollection, but it's null for passing into the User Task, and that's what we see in the User Task debugging in Visual Studio (which causes the error, as we get an "Object reference not set to an instance of an object" error when trying to use it).

 

When checking what the OOTB ReadDataUserTask code is setting to the ResultEntityCollection parameter (which is the parameter for "Resulting collection") we can see that it is correctly being passed the EntityCollection:

 

It just doesn't seem to be able to be used afterwards in the BP.

Anyone have any knowledge on why the Resulting collection parameter from a Read data step in a BP would be null despite it seeming to come back populated from the C# code?

Hello,

 

Just to clarify, does this not work even in the case when the collection is passed to a subprocess — does the same error occur in that scenario as well?

Show all comments

Hello Community,

 

I would like to add a custom icon to the Creatio icon list. How can I achieve this?

Best regards,
Ajay Kuthe

Like 1

Like

1 comments

Hello!

Unfortunately, there is currently no way to add a new icon in the icon list for Freedom UI on the current configuration.

 

However, a task has already been registered in our R&D team to consider and implement such a feature in future releases. 

Show all comments

After fresh installation of 8.2.1.5446_ServiceEnterprise_Softkey_PostgreSQL_ENU product as dev environment right after i enable file design mode (fileDesignMode enabled="true" & add key="UseStaticFileContent" value="false") i am getting an error Uncaught Error: Script error for "SectionModuleV2".

 

I tried the following:
Genetate code for all schemas + full compilation, no result.

Checked may be i missed IIS rights, but no all in check.

Download all packeges to file system + compilation, no luck.

 

It seems that is a problem with a static content, as soon as i disabling file design mode, it works correctly. I always deployed my dev envs using Creatio guide. On a previous version of 8.2.0 it was fine, but with  8.2.1 i have this problem.

How can i make it work with file design mode on?

Like 0

Like

2 comments

Hello,

Please try to do the following:

1) Unlock the package CrtNUI for hotfix.
2) Open SectionModuleV2 schema metadata
3) Delete the block with WebitelCtiProvider schema dependency (see screen below).
4) Lock the package CrtNUI back.
5) Compile system

image.png

Malika,

Hey , i'm unable to view the image that you have uploaded

 

Show all comments

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

I created an application for the fast-track certification and exported it to my local machine. While making some additional changes, the entire application got deleted. I tried importing the application with the same prefix, but it's throwing numerous errors.

Like 0

Like

1 comments

Hello!

Please provide more detailed information – what errors are you encountering?

Show all comments

Hello all,

 

Is there a way to block users from copying records? I can't find any operation permission but we're trying to force user's to create new records rather than copying existing records.

Like 1

Like

1 comments

Hello,

 

In Creatio, you can manage user permissions to control access to various operations, including creating, editing, and deleting records. However, there isn't a specific permission to block users from copying records directly.

 

To achieve your goal of preventing users from copying records, you can consider the following approaches:

Custom Business Rules: Implement custom business rules or scripts that prevent the copying of records. This can be done by adding validation logic that checks if a record is being copied and then prevents the operation.

User Permissions: Review and adjust user permissions to limit access to certain records or fields. While this won't directly prevent copying, it can restrict what users can do with the records they have access to.

Training and Guidelines: Educate users on the importance of creating new records rather than copying existing ones. Provide clear guidelines and training to ensure they understand the process and the reasons behind it.

Audit and Monitoring: Implement auditing and monitoring to track record creation and copying activities. This can help you identify and address any instances where users are copying records inappropriately.

Show all comments

Hi All, 

 

I want to get an Opportunity Attachment and send it by email. 

 

I built a business process and used "Process File" element, the problem is that is not finding the attachment. Here is what I did: 

 

Like 0

Like

1 comments

I'd check to verify if the section is using the new generic "Uploaded file" or the object specific one "File and link of opportunity".

Even if it's freedom UI, opportunities typically use "File and link of opportunity", not "Uploaded file" - even in new systems. To find out for sure, open the Opportunity page and select the Attachments list and look for the property for "File storage location"

If that isn't the issue, I'd turn on trace to verify the value of the RecordId param.

Ryan

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