Hello Community,

 

                  I’ve built a custom page in Freedom UI to display my data in both List View and Calendar View. I implemented the logic in `SCHEMA_HANDLERS` and used `crt.LoadDataRequest` to toggle between the views. The logic works fine when switching to Calendar View for the first time.

 

                              

                              

Issue: 
1] When switching from Calendar View to List View and then back to Calendar View, the data disappears.

I have to refresh the page to make the data reappear in the Calendar.

 

Regards,

Ajay Kuthe

 

 

Like 0

Like

2 comments

Hello,

 

Please describe in detail how exactly this was implemented and provide screenshots of this button's settings.

Mira Dmitruk,

 

I used the 'Refresh data' action to trigger the 'crt.LoadDataRequest' and control the visibility of elements to switch between views (Calender and List).

Button Config

#Code Logic in Handler

handlers: /**SCHEMA_HANDLERS*/[{
    request: "crt.LoadDataRequest",
    handler: async (request, next) => {

 

// Check if the data source name is "ListOrCalenderView"
if (request.dataSourceName === "ListOrCalenderView") {

   // Retrieve the current view mode (Calendar or List)
   const IsCalenderView = await request.$context.IsCalenderView;

   // If the current view is not Calendar (i.e., it's List View)
   if (IsCalenderView === false) {
       // Set the Button caption to "List View"
       request.$context.ListOrCalenderView_caption = "List View";
       request.$context.IsCalenderView = true;
 // Set the ListView flag to false since we are now in Calendar view
       request.$context.IsListView = false;

   } else {
  // If the current view is Calendar, switch to List View
  request.$context.ListOrCalenderView_caption = "Calender View";   request.$context.IsCalenderView = false;
  request.$context.IsListView = true;

 }

}

 

Regards,

Ajay K
 

Show all comments

Hello everyone,

 

I have a contact lookup in service section that i want to filter it where Contact.Account = Service.Account, also there is a lookup in Accounts section called "Partner" , which is Also a "Account" lookup . 

 

i want to filter the contact field that retrieve the contacts that belong to this partner, in addition to the contacts that belong to the sub-account ( the one that has been chosen in the service.

 is there a way to make that happen? (i tried to add 2 filters in business rule but didn't work. 

 

thanks in advance.

 

Like 0

Like

3 comments

Is this a classic page or Freedom UI?

Freedom

Anas Masa'deh,

I don't believe the ootb business rules allow for using an OR condition when the filter is based on page values. You'll likely need to filter via code. See https://customerfx.com/article/dynamically-filtering-a-lookup-on-a-creatio-freedom-ui-page/

Ryan

Show all comments

Hi, 

 

I need to set a complex filter for a grid. How do I create a filter in JS and set it to a list in a page in freedom?

 

Best regards, 

 

Javier 

Like 0

Like

1 comments

Have you tried adding a crt.LoadDataRequest handler to dump request.dataSourceName out to the console to see if you can determine the name of the dataSourceName attriubute the list uses - and that it does fire that request? I assume it triggers this request when it get's it's data - similar to how lookups do, see https://customerfx.com/article/dynamically-filtering-a-lookup-on-a-creatio-freedom-ui-page/

Assuming it does and once you know the name of the dataSourceName it uses for the request you could add the conditions.

Alternatively, I believe you can add the filter conditions directly in the datasource in the viewModelConfigDiff, but you'd need to know the attribute name used in that scenario as well. Something like https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/front-end-development/freedom-ui/data-sources/data-processing#title-2438-3

Ryan

Show all comments

Hello everyone,

 

Is there a way to create a filter in a metric or columns widgets that returns the number of active users based on the shift ? (Morning: 7 am-3 pm, Night: 3pm-11pm, overnight: 11pm-7am) 

 

Note that it needs to be refreshed daily

 

does anyone has an answer to this one?

 

Thanks in advance.

Like 0

Like

2 comments

Dear Anas, 
 
To achieve this functionality you can add a new boolean field (for example: IsActive) for users. This field will be updated by a business process that will start every hour.  

The business process can set the value of the IsActive field according to the filtration or you can create an object where you will specify the shifts that users have. 
 
I hope this helps. Have a great day! 

Alina Yakovlieva,

Thank you for responding!, 

could you please elaborate more about the steps that you provided? 

Show all comments

Hello all,

 

I've been facing this error as it's shown in the screenshot and Subject, it occurs when i try to save the record after filling the required fields.

 

does anyone familiar with this error ? it's pretty urgent so I'll appreciate it if anyone provided the solution. 

 

Thanks in advance.

 

 

Like 0

Like

2 comments

Greetings!
 

The issue is that if you remove the requirement for the "ReactionTimeUnit" and "SolutionTimeUnit" fields and leave them empty, you won’t be able to save the record. 
 

An error will occur:  
"Specified argument was out of the range of valid values. Parameter name: Index value is out of range"

 

These fields are mandatory because the entire out-of-the-box product logic of the Service relies on them being filled in.  

As a workaround, you can set default values for these fields, and everything will work fine.


Alternatively, you can build your application completely independent of the out-of-the-box functionality.


Regards,

Orkhan

Orkhan,

Much appreciated!

Show all comments

Hi, 

 

Is it possible to add a datetime quick filter to a grid, where you set a time to the filer?

 

Thank you. 

Like 0

Like

3 comments
Best reply

Javier Collazo,

 

We have double checked it with the responsible team and unfortunately, it is not possible to setup Time specifically in this filter. The issue here is that name Date/Time is confusing for the users and therefore we have registered this problem for our R&D team to either change the filter name or add the ability to also apply a filter by time.

Hello,

 

You can find the instructions on how to set up a date/time quick filter in this academy article.

Thank you Mira for your answer, but I already tried what is in the guide and it does not include the time in the filter. 

 


I need to be able to filter by time too. 

Javier Collazo,

 

We have double checked it with the responsible team and unfortunately, it is not possible to setup Time specifically in this filter. The issue here is that name Date/Time is confusing for the users and therefore we have registered this problem for our R&D team to either change the filter name or add the ability to also apply a filter by time.

Show all comments

Good afternoon!

I am trying to deploy deduplication-web-api using docker container registry.creatio.com/dup-web-api:3.0.12

 

I see this problem in the logs.

 

fail: Microsoft.AspNetCore.Server.Kestrel[13]
     Connection id "0HN5FOGURGKI1", Request id "0HN5FOGURGKI1:000000E2": An unhandled exception was thrown by the application.
     System.InvalidOperationException: Synchronous operations are disallowed. Call WriteAsync or set AllowSynchronousIO to true instead.
        at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpResponseStream.Flush()
        at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
        at System.IO.StreamWriter.Dispose(Boolean disposing)
        at System.IO.TextWriter.Dispose()
        at App.Metrics.Formatters.Prometheus.Internal.AsciiFormatter.Write(Stream destination, IEnumerable`1 metrics, NewLineFormat newLine)
        at App.Metrics.Formatters.Prometheus.MetricsPrometheusTextOutputFormatter.WriteAsync(Stream output, MetricsDataValueSource metricsData, CancellationToken cancellationToken)
        at App.Metrics.AspNetCore.Endpoints.Middleware.MetricsEndpointMiddleware.Invoke(HttpContext context)
        at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)

 

appsettings.json looks like this:

 

root@deduplication-web-api:/app# cat appsettings.json
{
 "Version": "1.0.0",
 "Logging": {
   "LogLevel": {
     "Default": "Warning"
   }
 },
 "Kestrel": {
   "AllowSynchronousIO": true
 },
 "AllowedHosts": "*",
 "ApplicationBasePath": "/",
 "MetricsOptions": {
   "Enabled": true,
   "ReportingEnabled": true,
   "GlobalTags": {
     "app": "deduplication-web-api",
     "env": "production"
   },
   "DefaultContextLabel": "deduplication-web-api"
 },
 "MetricsWebTrackingOptions": {
   "ApdexTSeconds": 0.1,
   "ApdexTrackingEnabled": false,
   "IgnoredHttpStatusCodes": [],
   "IgnoredRoutesRegexPatterns": [],
   "OAuth2TrackingEnabled": false
 },
 "MetricEndpointsOptions": {
   "MetricsEndpointEnabled": true,
   "MetricsTextEndpointEnabled": true,
   "EnvironmentInfoEndpointEnabled": true
 },
 "RabbitConfiguration": {
   "RabbitMQUri": "HIDDEN",
   "QueueName": "dup-start-deduplication-task",
   "ConnectAttempts": "5",
   "ReconnectInterval": "0.00:00:05",
   "NetworkRecoveryInterval": "0.00:00:05"
 },
 "RabbitPublisherConfiguration": {
   "QueueName": "dup-start-deduplication-task"
 },
 "DataServiceRestConfiguration": {
   "DataServiceUri": "http://deduplication-data-service/api"
 },
 "Logger4NetConfiguration": {
   "LoggerName": "bulk-deduplication-logger",
   "LoggerRepositoryName": "default",
   "LogFilePath": "/app/config/log4net.config"
 },
 "DuplicatesSearchConfiguration": {
   "DefaultMaxDuplicatesPerRecord": 100
 }
}

 

Can you please tell me what the problem could be?

Like 2

Like

3 comments

Hi Igor,

 

The basic appsettings.json does not mention "Kestrel": { "AllowSynchronousIO": true }. 

 

 

Could you please let us know if an error occurs without this parameter?

Sergii Zhmurko,


Yes, you are right, I found this solution on the internet but it didn't help.

Hi Igor,

 

Try redeploying the service with only the basic settings. If the error occurs again, please contact Creatio support, providing the logs of all containers and the docker-compose file you are using for deployment. 

Additionally, please include your server specifications in the request. We will then investigate the issue in more detail.

Show all comments

Hello all,

 

I have a client that is trying to add the communication options detail to the Portal user's Profile page in Freedom UI. However, it seems the User profile is no longer visibly connected to the User's contact record. How can we add the detail?

Like 0

Like

3 comments

Hello,

 

Could you please describe the end result that you would like to obtain and the exact steps that you are making?

 

Thank you!

Hanna Skalko,

I would like to add communication options to the user profile page as it could be in the Classic UI. (See below)Image of a Creatio Portal UI page that shows the user's name, address and communication options.

 

I would like to do the same in Freedom UI. However, when I open the Freedom UI user profile page, I haven't been able to find the connection the user's contact in order to add the same details to the page.

Has anybody been able to find an answer to this? Seems strange to me that the user profile can't connect directly to the Contact record in Freedom UI

Show all comments

Hello everyone! ,

 I've added new values to "Case category" Lookup, but when i choose one of them when setting up "List of Mailboxes for case registration" it doesn't send auto email response or any email in stage transition like "Service request" or "Incident" which already exists. 

 

so to sum up there is a problem with sending auto email in case i choose the new categories that i added to the lookup. (auto case registration works perfectly)

 

so does anyone is familiar with this problem so he/she can help me to solve it? 

 

and in case of manual registration, the emails is being generated as a drafts in the conversation tab, is there a way to not make it as draft and send it automatically like case registration by email?

 

thank you for your time.

 

Like 0

Like

2 comments

Hello!

Regarding notifications for new categories:
You need to configure the necessary rules in the lookup: ‘Case notification rule’.
 

If you have any issues with draft emails, please contact our support team at support@creatio.com

Best regards,
Anton

Anton Starikov,

Much appreciated 

Show all comments

Hello everyone,

 

I need to write a formula that subtracts Current date and time from Registartion date/time and the result is more that 4 hours (Current date/time - Registration date/time > 4 hours)

 

it's pretty urgent so i'll really appreciate if anyone knows the solution and provided it.

 

thanks in advance.

Like 1

Like

2 comments

([#System variable.Current Time and Date#] - [#RegistrationDateHere#]).TotalHours > 4

 

Ryan

Much appreciated Ryan, Thanks!

Show all comments