Hello everyone!

 

I'm wondering is there any chance to add a filter component to entity page?

And configure filter to dynamic entity schema, which is selected via combobox

 

 

Thank you

Like 0

Like

4 comments

Hello,



If I understand your business task correct, you can set up the filter for the list component itself:

@Bogdan

 

Thank you for you reply

But unfortunately we need to dynamically set up filter.

 

Case:

1. User opens our card (like setting entity)

2. User configures a filter to search for records to apply some logic (like conditions to execute some server-side logic)

Joseph D,

 

Thank you for clarifying. We don't have such ready examples of implementing your business task. 



It could be achieved only through additional development.

Bogdan,

 

Thank you.

Is there any development tips? :)

Show all comments
Question

 

Hello, previously in the CRM, there was a feature for voice input of text into multi-line text fields.

I can't seem to find this functionality in the Freedom UI. Has such functionality been retained, and if not, is there an alternative solution?

File attachments
Like 2

Like

3 comments

Good afternoon!



This option is not currently available in Freedom UI. We have already created a request for the R&D team to add this functionality and hope to see it in the next update.



Best regards,

Anton

Hi Anton,

Thanks for the update. Hope to see it in version 8.1.3 too :) Hopefully we are arriving close to the end of catching up in Freedom UI functionalities that were availble in Classic ui.

Anton Starikov,

Hope to see this feature soon. We are updating customers to Freedom and this feature was appreciated.

Do you have any timeline?

Show all comments

Hello community,

We have created a business process that opens the call edit card on an outbound call. If the phone number is associated with multiple organizations, the card opens faster than the manager selects the required organization on the CTI panel. When we select a Counterparty on the CTI, it changes the field in the call card, but these changes are not reflected in real-time in the card that was already opened by the business process. The Enable live data update checkbox for the call object is set. If other actions are performed through the BP, the changes are displayed in real time.

I would appreciate any help if someone has encountered a similar case.

Like 0

Like

1 comments

Dear Vitalii,

The thing is, the business process will only update data in real-time for the page it has already opened (data that was current at the time of opening).

In your case, you need to ensure that the card opens after selecting the necessary organization. To do this, you need to separate the conditional execution flows of the business process for phone numbers associated with one organization and for phone numbers associated with multiple organizations.

Then add an option for selecting the required organization for the corresponding flow.

Best regards,

Andrii

Show all comments

Hi Expert ,

    I am trying to use Creatio api with basic authentication . I am following below links :

    https://documenter.getpostman.com/view/10204500/SztHX5Qb#46f97170-d66d-…;

    

    NotWorking in PostMan : As per documention it's not working  in postman. Stored BPMCSRF value from Response Header Cookie of Token Request and call get api with BPMCSRF / ForceUseSession  headers key with it's value .Removed cookies from get request. Send the the get request it's giving a html response without any error details.

    

    Working in PostMan : In PostMan Send Token request then send get request (https://steuler.creatio.com/0/odata/Product?$top=1) without set any Header keys it's working fine. In this scenario i can see token request response header cookie values are sending bydefault by Postman in the get request.

    NotWorking in Consol Application : As per 2nd scenario i am trying to send a Get api request with token generate Response header cookies values but it's showing html error without any error details

    NotWorking in Consol Application : As per documentation Stored BPMCSRF value from Response Header Cookie of Token Request and call get api with BPMCSRF / ForceUseSession  headers key with it's value .But showing html error without any error details.

    i have attached my screen shots for reference.From my side any configuraration need to be changed Creation envionment for that my scenario  Can you give me any proper documents which i can follow and will be worked ?

    below is my console application code :

                // Create HttpClient

                using (HttpClient httpClient = new HttpClient())

                {

                    // Create HttpRequestMessage

                    HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, @"https://steuler.creatio.com/0/odata/Product?$top=1");

                    // Set request headers

                    request.Headers.Add("Accept", "application/json");

                    request.Headers.Add("ForceUseSession", "true");

                    request.Headers.Add("BPMCSRF", "YtuvyS.WPYmW5BChY5anK.");

                    // Send the request

                    HttpResponseMessage response =  httpClient.SendAsync(request).ConfigureAwait(false).GetAwaiter().GetResult();

                    // Check response status

                    if (response.IsSuccessStatusCode)

                    {

                        string responseData =  response.Content.ReadAsStringAsync().ConfigureAwait(false).GetAwaiter().GetResult();

                    }

                 }

 

Thanks and Regards

Surajit Kundu

Like 0

Like

2 comments

I don't see in your code the call to authenticate. I assume that you're previously calling /ServiceModel/AuthService.svc/Login somewhere to get the BPMCSRF value? See https://documenter.getpostman.com/view/10204500/SztHX5Qb#46f97170-d66d-…

Note, the BPMCSRF value doesn't last forever, so it does need to be a recently obtained value. 

This article shows the complete steps for executing requests via Postman which might help: https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…

Ryan

Ryan Farley,

Hi 

      Thanks for your reply . Below is my token generation code from where i have taken cookies value for my 2nd request .Before i have not attached that token generation part as these is working fine. In postman it's working fine using Cookies based authentication.In my Console application i am sending all the Cookies (BPMLOADER, .ASPXAUTH, BPMCSRF, and UserName) as a Header Key and value in further requests to Creatio services that use cookie-based authentication but it's showing Html Error ?

 static async Task<Dictionary<string, string>> TokenGenerateDictionary()

        {

            var headerCookies = new Dictionary<string, string>();                 

                using (var client = new HttpClient())

                {

                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    using (var request = new HttpRequestMessage(HttpMethod.Post, @"https://steuler.creatio.com/ServiceModel/AuthService.svc/Login"))

                    {

                        request.Content = new StringContent($"{{\"UserName\":\"ram\",\"UserPassword\":\"abcd\"}}", Encoding.UTF8, "application/json");

                        var response = client.SendAsync(request).Result;

                        var responseString = await response.Content.ReadAsStringAsync();

                        JObject responseJson = JObject.Parse(responseString);

                        int code = (int)responseJson["Code"];

                        if (code == 0 && response.IsSuccessStatusCode)

                        {

                            foreach (string setCookieHeader in response.Headers.GetValues("set-cookie"))

                            {

                                 string[] cookies = setCookieHeader.Split(';');

                                if (cookies.Length > 0)

                                {

                                    string[] keyValue = cookies[0].Trim().Split('=');

                                    if (keyValue.Length == 2)

                                    {

                                        string key = keyValue[0];

                                        string value = keyValue[1];

                                        if (!headerCookies.Keys.Contains(key))

                                            headerCookies.Add(key, value);

                                    }

                                }

                            }

                         }

                    }

                }

            return headerCookies;

        }



Request Get Operation send cookies in Header Key :

         var tokenHeaderCookiesData = TokenGenerateDictionary().ConfigureAwait(false).GetAwaiter().GetResult(); 

         string requestUri = @"https://steuler.creatio.com/0/odata/Product?$top=1";

         using (HttpClient httpClient = new HttpClient())

                {

                    HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, requestUri);

                    foreach (string key in tokenHeaderCookiesData.Keys)

                    {

                        //BPMLOADER, .ASPXAUTH, BPMCSRF, and UserName

                        if (key== "BPMLOADER" || key == ".ASPXAUTH" || key == "BPMCSRF" || key == "UserName")

                           request.Headers.Add(key, tokenHeaderCookiesData[key]);

                    }

                    HttpResponseMessage response =  httpClient.SendAsync(request).ConfigureAwait(false).GetAwaiter().GetResult();

                    string responseData =  response.Content.ReadAsStringAsync().ConfigureAwait(false).GetAwaiter().GetResult();

                }

   



Html Error Response with status OK:



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" culture="en-US">

<head><meta http-equiv="X-UA-Compatible" content="IE=Edge" /><meta name="fontiran.com:license" content="LAXSN" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>

    Creatio

</title>

    <style>

        .font-preload {

            position: absolute;

            opacity: 0;

        }

        .font-preload-open-sans {

            font-family: "Bpmonline Open Sans";

        }

        .font-preload-open-sans-light {

            font-family: "Bpmonline Open Sans Light";

        }

        .font-preload-open-sans-bold {

            font-family: "Bpmonline Open Sans Bold";

        }

    </style>

<script type="text/javascript" src="https://steuler.creatio.com//core/8dc3ccad339641a4ecd1ecb0b57f017d/Terr…"></script>

<script type="text/javascript" src="https://steuler.creatio.com/api/ClientScript/GenerateLoginScripts"></script>

<script type="text/javascript" src="https://steuler.creatio.com//core/057665f97324038f6c7c326b6734de6b/requ…" data-main="https://steuler.creatio.com//core/0fbfa51b1de27f89696f0f8d31da5f16/Terr…" async></script>

<script type="text/javascript"></script>

</head>

<body>

    <div class="font-preload">

        <span class="font-preload-open-sans">_</span>

        <span class="font-preload-open-sans-light">_</span>

        <span class="font-preload-open-sans-bold">_</span>

    </div>

    <form name="IndexForm" method="post" action="./NuiLogin.aspx?ReturnUrl=%2f0%2fodata%2fProduct%3f%24top%3d1&amp;%24top=1" id="IndexForm">

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="+mvmSAOrSFVSNU1VvvnnAv5lt45aMHGRIkN033uMqlv/X2Fn2421RrzZayJqLBBTzwEnVTCtLeOrFnkbGP1c32c1p4dJwgJeute2MMWvNkRY1wHA" />

<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="0BFA92C5" />

    </form>

</body>

</html>

 

Thanks 

Surajit Kundu

Show all comments

Dear colleagues,

 

I need to trigger a process to search for all pending approvals in a Freedom UI section, but I have not found a Visa object connected to Freedom pages. How can I approve all pending approvals connected to a specific object in a FreedomUI section via a process?

Like 0

Like

1 comments

Found, it is a single object for all entities: Approval, in the column "Reference schema name" must indicate the name of the object of the section where the Approval belongs and in the column "Entity identifier" the id of the object....

Show all comments

Hi 

 

Somebody know where can we change the message and graphics Creatio displays in a list page (Freedom & Classic pages) where no data? and the same in Next Steps?

 

Thanks

Julio

Like 1

Like

5 comments
Best reply

Julio.Falcon_Nodos,

I like to get rid of the graphic and also the "Nothing to show here!" text so I use the following: 

#next-steps-no-data-animation, 
.next-steps-no-data-main-label {
    display: none;
}

This changes it from this: 

To this: 

Ryan

I'd prefer not to have the graphics in these areas. I've been removing them with CSS, I believe that is the only option.

Ryan

Ryan Farley,

Thanks Ryan, which CSS need to modify to list pages and Next steps?

Julio.Falcon_Nodos,

I like to get rid of the graphic and also the "Nothing to show here!" text so I use the following: 

#next-steps-no-data-animation, 
.next-steps-no-data-main-label {
    display: none;
}

This changes it from this: 

To this: 

Ryan

Thanks!, I owe you a beer in Miami! :-)

Ryan Farley,

Dear Ryan, and to ListPages, when there no data? regarding Freedom pages?

Show all comments

Hi,

I have created a button in ActivitySectionV2.
This button appears on all entries in this section.

But when you click on this button, nothing happens.
Please let me know how to fix the error.

Code:

define("ActivitySectionV2", ["ProcessModuleUtilities"], function (ProcessModuleUtilities) {
  return {
    entitySchemaName: "Activity",
    details: /**SCHEMA_DETAILS*/ {} /**SCHEMA_DETAILS*/,
    diff: /**SCHEMA_DIFF*/ [{
      "operation": "insert",
      "parentName": "DataGrid",
      "propertyName": "activeRowActions",
      "name": "runProcessButtonOpenOpportunity",
      "values": {
        "className": "Terrasoft.Button",
        /*"itemType": Terrasoft.ViewItemType.BUTTON,*/
        "caption": "Відкрити угоду",
       "click": {
          bindTo: "runProcessButtonOpenOpportunity"
        },
        "style": Terrasoft.controls.ButtonEnums.style.GREEN
      }
    }] /**SCHEMA_DIFF*/,
    methods: {
      runProcessButtonOpenOpportunity: function () {
        var activeRowId = this.get("Id");
        var args = {
          sysProcessName: "UsrProcessOpenOpportunityInActivity",
          parameters: {
            OppID: activeRowId
          }
        };
        ProcessModuleUtilities.executeProcess(args);
      }
    },
    rules: {}
  };
});

Error:

Like 0

Like

1 comments

Hello,
If you want to add a button to an action menu for the active row, the regular approach will result in the error you received.
Here you can find an example of how to configure such a button properly.

Show all comments

How to create a new custom package in Creatio ?

I am working on the Analyst Certification

Like 0

Like

9 comments

Before creating the package set the prefix for new schemas and the package in System settings and reload the browser cache.

From the Application Hub select '+ New application', and select the Custom template.

There are a few things you need to do after creating a new package:

Set the current package system setting to the new package so that changes are saved to the new package.

See also Useful changes to make in any new development system for Creatio (formerly bpm’online) | Customer FX

Set your password in System users.

Set time zone and culture information in your profile.

 

 

 

Thanks, I will go through the steps and let you know.

 

Hello,

 

We recommend you take a look at the article below:

https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…

 

There you will find the whole process of creating the custom package.

Whoahh!! Many thanks!

 

Gareth Osler,

Before creating the package set the prefix for new schemas and the package in System settings and reload the browser cache. I do not see it in "System Settings"...

Hello Gareth, I cannot find this "System setting-prefix for new schemas"

André Thouin,

In system settings search for:

Prefix for schemas and packages name

SchemaNamePrefix

André Thouin,

Thanks @gareth

Thanks @mariia

Show all comments

I have a validator function with the "async" flag set to true.  It is working however the error message is not showing when the record is saved and the validation fails.

		viewModelConfigDiff: /**SCHEMA_VIEW_MODEL_CONFIG_DIFF*/[
			{
				"operation": "merge",
				"path": [
					"attributes"
				],
				"values": {
					"UsrCaptainReportsTo": {
						"modelConfig": {
							"path": "UsrYachtsDS.UsrCaptainReportsTo"
						},
						"validators": {
							"CaptainReportsTo": {
								"type": "usr.CaptainReportsTo",
								"params": {
									"message": "'Captain reports to' must be an affiliate in the yacht's affiliates list."
								}
							}
						}
					},
		validators: /**SCHEMA_VALIDATORS*/{
			"usr.CaptainReportsTo": {
				"validator": function (config) {
					return async function (control) {
						var validated;
						validated = false;
						//debugger;
						return validated ? null : { "usr.CaptainReportsTo": { message: config.message } };
					};
				},
				"params": [
					{
						"name": "message"
					}
				],
				"async": true
			}
		}/**SCHEMA_VALIDATORS*/

 

Like 0

Like

1 comments

Hello,

 

We've reproduced the issue in 8.1.3 and the only possible way to use the validator now is to use it synchronously (using "async": false). Our R&D team has created a task to fix this bug in future application releases and took it in progress. Thank you for reporting this issue to us and helping us in making the app better!

Show all comments

Hello,

Is there a way to design radio buttons in a detail columns in freedom UI?

I wanted to implement a functionality  such that user can only select option from two columns (exists, not exists)

Any suggestions are really helpful.

 

Thanks

Gargeyi

Like 0

Like

1 comments