Question

Hi Everyone,



I am having this error when I am trying to create a new folder in my Custom Application on the lists page.

 

42703: column "UsrNotes" of relation "FolderTree" does not exist

Like 0

Like

5 comments

Anyone?

Hello,



Could you provide us with a few more details so that we can analyze them? Describe how exactly you are trying to create the folder you need, if you can send us a screenshot of the error itself.

Malika,

Hi, I am not sure about the details. I don't know why it is giving this error when I am trying to create a folder. As you can see I created a new folder with Test name and it gave me this error.

Bump

Bump

Show all comments

we have a detail (Activity) with three editing pages (investigation, corrective actions, preventive actions) for which we must connect the click event of each detail so that the menu is filtered to obtain a specific page for each,

I implemented the code below but still not getting the result.

 

define("ClaSchema821f5cb2Detail", [], function() {

    return {

        entitySchemaName: "Activity",

        details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,

        diff: /**SCHEMA_DIFF*/[

            {

        "operation": "merge",

                    "name": "AddTypedRecordButton",

                    "parentName": "Claims1PageClaSchema821f5cb2Detail2b214db7Container",

                    "propertyName": "items",

                    "values": {

                        "controlConfig": {

                            "menu": {

                                "items": {

                                    "bindTo": "EnabledEditPages",

                                    "bindConfig": {

                                        "converter": function(editPages) {

                                            return editPages;

                                            /*if (editPages.getCount() >= 1) {

                                                return editPages;

                                            } else {

                                                return null;

                                            }*/

                                        }

                                    }

                                }

                            }

                        }

                    }

                },

            {

        "operation": "merge",

                    "name": "AddTypedRecordButton",

                    "parentName": "Claims1PageClaSchema821f5cb2Detail682ca645Container",

                    "propertyName": "items",

                    "values": {

                        "controlConfig": {

                            "menu": {

                                "items": {

                                    "bindTo": "EnabledEditPages2",

                                    "bindConfig": {

                                        "converter": function(editPages) {

                                            return editPages;

                                            /*if (editPages.getCount() >= 1) {

                                                return editPages;

                                            } else {

                                                return null;

                                            }*/

                                        }

                                    }

                                }

                            }

                        }

                    }

                },

            {

        "operation": "merge",

                    "name": "AddTypedRecordButton",

                    "parentName": "Claims1PageClaSchema821f5cb2Detail8ef4781dContainer",

                    "propertyName": "items",

                    "values": {

                        "controlConfig": {

                            "menu": {

                                "items": {

                                    "bindTo": "EnabledEditPages3",

                                    "bindConfig": {

                                        "converter": function(editPages) {

                                            return editPages;

                                            /*if (editPages.getCount() >= 1) {

                                                return editPages;

                                            } else {

                                                return null;

                                            }*/

                                        }

                                    }

                                }

                            }

                        }

                    }

                },

       

        ]/**SCHEMA_DIFF*/,

        methods: {

            

             initEditPages: function() {

                  console.log("initEditPagesinitEditPagesinitEditPagesinitEditPages");

                            var enabledEditPages = new this.Terrasoft.Collection();

                            var enabledEditPages2 = new this.Terrasoft.Collection();

                            var enabledEditPages3 = new this.Terrasoft.Collection();

                 

                            this.callParent(arguments);

                 

                            var editPages = this.getEditPages();

                              

                            var items = editPages.getItems();

                 

                              var item = items.filter(function(item){return item.get("SchemaName") == 'ClaActivityPageV21';});

                              enabledEditPages.add(item);

                            this.set("EnabledEditPages", enabledEditPages);

                            

                             var item2 = items.filter(function(item){return item.get("SchemaName") == 'ClaActivityPageV23';});

                              enabledEditPages2.add(item2);

                            this.set("EnabledEditPages2", enabledEditPages2);

                 

                             var item3 = items.filter(function(item){return item.get("SchemaName") == 'ClaActivityPageV24';});

                              enabledEditPages3.add(item3);

                            this.set("EnabledEditPages3", enabledEditPages3);

                 

                         

                           

            },

            

        }

    };

});

 

Like 0

Like

3 comments

Hello,

In the Detail schemas for each detail, you should write something like this:

define("UsrSchema26073b05Detail", [], function() {
	return {
		entitySchemaName: "Activity",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[
			 {
        "operation": "merge",
                    "name": "AddTypedRecordButton",
                    "values": {
                        "click": {"bindTo": "openSpecificPage"},
                    }
                },
		]/**SCHEMA_DIFF*/,
		methods: {
			openSpecificPage: function() {
				if (!this.get("EditPages")) {
					this.initEditPages();
				}
				var pages = this.get("EditPages");
				var pageId = pages.collection.items.find((x) => x.values.Caption === "Call").values.Id;
				this.addRecord(pageId);
 
		},
		}
	};
});

Just switch the Caption of the needed page (or use another parameter to distinguish pages) to the correct one in each schema.

Dmytro Vovchenko,

Can we do the same in freedon UI. Thanks in advance

Show all comments

Hi,

 

I want to have 2 approvals with my custom application. If both are accepted then it moves to the next stage and if both are rejected then to the Denied stage but if one of them is rejected and one is approved then we have a separate stage as Re-consideration. How can I include this thrid stage in the business process?

Like 0

Like

7 comments

Hello,



Could you explain your business process in more detail, and what outcome do you see for the 3 stage option?

 

This information is necessary to understand your business process and the outcome you want to get from it. 

Malika writes:

Hello,

Could you explain your business process in more detail, and what outcome do you see for the 3 stage option?

 

This information is necessary to understand your business process and the outcome you want to get from it. 

Hi Malika, there are 2 approvals in the process and 3 outcomes. If both approvals are accepted. We want it to move to next stage "Approved", If both rejects "Rejected" and if one approves it but one rejects it then "Reconsider" stage. I have done the first two and they are simple. But I am confused with third one. How do i structure it in my business process?

Anyone?

Bump

Hi!

 

To meet this business task, it will be necessary to layer several gateways. You probably already have the "Approved" conditional flow formula as such: 

[#ApprovalUserTask1.Result parameter#]==[#Positive#]&&[#ApprovalUserTask2.Result parameter#]==[#Positive#]

 

As for "Rejected", the formula will have identical logic operator "&&" meaning 'and':

 

 [#ApprovalUserTask1.Result parameter#]==[#Negative#]&&[#ApprovalUserTask2.Result parameter#]==[#Negative#]

 

The "Reconsider" flow can have the logic so that either ApprovalUserTask1 or ApprovalUserTask1 has a Positive result parameter. It can be accomplished with a use of the "||" operator meaning "or":

 

[#ApprovalUserTask1.Result parameter#]==[#Positive#]||[#ApprovalUserTask2.Result parameter#]==[#Positive#]

 

As a result, you have 3 possible outcomes including the one for 1 approval that is positive.

 

Alla Blinova writes:

Hi Alla,

Is this [#Positive#] a parameter? And I suppose you would take it as a ID Parameter? I am not sure how this parameter would help here.

If you can show me your parameter's that would be great help! I tried this with ID Parameters but that isn't working for me.

 

This is what I have thought of. Though it's not tested yet. But I have added Read Data to read the status of both approvals and then Condition flow that checks if the both approvals equals to Positive by comparing it with Approval Status Lookup values then it changes stage to Approved and if both are negative then Denied and if anyone of them is negative then it goes into Reconsideration stage. Does this looks fine to you?

Show all comments

After setup creatio on-site deployment, able to access the login page but by default Credentials Supervisor/Supervisor is not working. Facing Authorization failed. Please check the screenshot reference. Please help on this.

Like 0

Like

1 comments

Hello,

 

Please contact our support team directly at support@creatio.com for us to be able to check the issue properly and resolve it.

Show all comments

I have gone through the academy documentation I am unable to find anything that tells me how I can consume an OAuth service like we can used in Classic UI.

 

The sample code used in Classic UI.

Terrasoft.ServiceOAuthAuthenticatorEndpointHelper.getAuthorizationGrantUrl(
		this.get("UsrOAuthApplicationId").value,
		function(success, url) {
			if (success) {
				if (url) {
					window.open(url);
				}
			} else {
				this.showInformationDialog("Login Failed");
			}
			Ext.callback(callback, scope);
		}, this);
}

 

Can anybody tell how can I use the same functionality in Freedom UI?

 

Thanks in advance.

 

Like 0

Like

6 comments

Not sure if there's a Freedom UI specific way in the sdk (but I've not seen anything that looks like it yet). However, you should still be able to call Terrasoft.ServiceOAuthAuthenticatorEndpointHelper.getAuthorizationGrantUrl from a Freedom UI page for now. 

Ryan Farley,

 

I have tried this code but it's not working in Freedom UI. Can you please guide me some way around to call OAuth Web Service in Freedom UI Page.

 

handlers: /**SCHEMA_HANDLERS*/[
	{
		request: "usr.OAuthLoginButton",
		/* Implement the custom query handler. */
		handler: async (request, next) => {
			var oAuthAppId = await request.$context.LookupAttribute_u6rb81v;
			Terrasoft.ServiceOAuthAuthenticatorEndpointHelper.getAuthorizationGrantUrl(
				oAuthAppId.value,
				function(success, url) {
					console.log(url);
					if (success) {
						if (url) {
							window.open(url);
						}
					} else {
						this.showInformationDialog("Login Failed");
					}
					Ext.callback(callback, scope);
				}, this);
			return next?.handle(request);
		}
	}
]

 

Ryan Farley,

 

Can you please guide us on this?

Hello,

You can try calling your OAuth web service using an HTTPClient, here is an example of how to use it:

{
                request: "crt.HandleViewModelInitRequest",
                handler: async (request, next) => {
                    const httpClientService = new sdk.HttpClientService();
                    const endpoint =
                        "http://data.fixer.io/api/latest?access_key=578b5bcad95455a0a0fddddf83f1f269&symbols=USD";
                    const response = await httpClientService.get(endpoint);
                    request.$context.EurToUsd = 'EUR/USD: ' + response.body.rates.USD;
                    return next?.handle(request);
                },
            },

 

Dmytro Vovchenko,

 

We can't use this approach because the client secret is encrypted. If you tried to get the secret key from the table. We are restricted to use the build in OAuth Service in Freedom UI as it was working with Classic UI.

Syed Ali Hassan Shah,

I consulted the developers and it looks like currently there is no other way to call the OAuth service. Not all services from 

Terrasoft class transferred to a new UI and ServiceOAuthAuthenticatorEndpointHelper is one of them.

Show all comments

Hi Everyone,

 

we have custom applications in our environment and they all are built on Freedom UI. How do I create this dashboard button with each of the respective applications in freedom UI? I know this button is on Classic but is it possible to do same in freedom?

Like 0

Like

3 comments

Hello,



Could you please clarify which button you are referring to? Perhaps you can send a screenshot for a clear example.

Malika,

 

Hassan Tariq,

 

I would like to inform you that you can add the necessary dashboard icon in Freedom UI. In order to add the icon you need, please use the instructions by clicking here.

Show all comments

Hello Everyone,

 

I have recently installed Creatio MS Word Plugin. But it is not working. I have done everything. Tried repair/re-installing the plugin multiple times. Installed 32/64 both ones. But Word is not showing any creatio tab. How am I supposed to connect my word to creatio?

Like 0

Like

3 comments

Greetings,



Shared documentation that will help you: 



https://academy.creatio.com/docs/user/customization_tools/print_ready_r…



Regards, 

Orkhan

Orkhan,

Yes, I have followed the same documentation but it doesnt works. I have downloaded the plugin and .NET Framework. But it doesn't seems to work

I have the same issue, anyone else with this problem? And what is the solution? @Hassan, did you manage to solve it?

Show all comments

Hello,



I am updating a field of an entity in client side using ESQ:

Ext.create("Terrasoft.UpdateQuery", { rootSchemaName: entitySchemaName });.



I can't find any solid documentation and I am trying to know if it will really not trigger OnSaved events of that entity?



Is there any cheatcode/workaround I can use to trigger OnSaved via client side esq?



Thank you.

Like 0

Like

1 comments

Hello,

 

And have you tried to test if UpdateQuery trigger OnSaved? This should be easy: some simple logger added to the OnSaved handler. Also if you need to trigger some server logic after the update - you can direclty call some custom service (for example in the callback execution after the UpdateQuery).

Show all comments

Hi all,

 

I was following this documenation  and this video for setting up the oauth integration.

 

While doing changes in the appsettings.json, and testing it. I got an error "It was not possible to connect to the redis server(s). UnableToConnect on tscore-dev-30:6379/Interactive, Initializing". In that file, "RedisConnection": "tscore-dev-30" is already set by default.

 

I also tried to update it with the redis connectionstring which was used in the main application but it is giving me an error while setting up the default response in creatio.

 

Please help in this regard.

Like 0

Like

1 comments

Hello,



Since we have received a case from you: SR-01225980, the answer will be provided there. 

Show all comments

It's possible to query TOP 10 to this code?

File attachments
Like 0

Like

1 comments

Hello,

 

You need to add esq.RowCount = 10; to select top 10 records only.

Show all comments