Hi everyone,

 

We have 3 different objects that sends data to one single object(which is referred to as a report for us). When we are deleting something from one of our 3 objects, the data isn't getting deleted from the report and it asks for permission due to which we are unable to delete data through a process. How do I bypass this? So that any data deleted from one of the 3 objects also automatically deletes data from our report object. Thanks!

Like 0

Like

1 comments

Good day,

Unfortunately, we don't have enough initial information to understand the cause of this error. Please provide a screenshot of the error.

 

Despite the error, is a record from one of these 3 objects deleted?

 

You also mention that you suspect a permission issue. This may indicate that the user doesn't have sufficient rights for records or operations with one of these objects.



https://academy.creatio.com/docs/user/setup_and_administration/user_and…



Please check if the user has permissions for deletion or editing of the object from which you are trying to delete, and also within the "report" object.

Show all comments

У мене є невеличке недорозуміння пов'язане з обніном інофрмації самого creatio і сторонніми сервісами. Наразі мені потрібно зробити вивантаження даних про лідів  та партнерів в іншу бд, для цього я вирішив використати odata. Зараз я тестую запити через postman і виникає питання, яким методом відбувається авторизація через постмен оскільки при тестуванні самої url адреси в браузері мені надається інформація і помилок не виникає, а коли в postman ввести той самий url скидається типу розмітки, як я розумію на логінацію. Підскажіть можливо вже існуючі сервіси або якісь методи якими можна передати на сторонній сервіс інформацію з creatio, а також на рахунок методів авторизації які є доступними, і якщо там використовуються токени - то де саме їх можна отримати

p.s. сервіс реалізовується на пайтоні

Like 0

Like

2 comments
Best reply

Доброго дня,

якщо ви робите запит в postman відразу на odata скоріше за все вам приходить відповідь що ви не авторизовані. Спочатку треба виконати request  на аутентифікацію як описано тут https://academy.terrasoft.ua/docs/developer/integratsiya_i_vneshnij_api…

запит як описаний тут, наприклад https://academy.terrasoft.ua/docs/developer/integratsiya_i_vneshnij_api…

і отримані cookie BPMLOADER додати в headers наступних запитів, як описано в прикладах тут https://documenter.getpostman.com/view/10204500/SztHX5Qb?version=latest

 

Доброго дня,

якщо ви робите запит в postman відразу на odata скоріше за все вам приходить відповідь що ви не авторизовані. Спочатку треба виконати request  на аутентифікацію як описано тут https://academy.terrasoft.ua/docs/developer/integratsiya_i_vneshnij_api…

запит як описаний тут, наприклад https://academy.terrasoft.ua/docs/developer/integratsiya_i_vneshnij_api…

і отримані cookie BPMLOADER додати в headers наступних запитів, як описано в прикладах тут https://documenter.getpostman.com/view/10204500/SztHX5Qb?version=latest

 

Анастасия Шумейко,

Величезне дякую, дуже сильно допомогли, до цього я не вставляв усі куки

Show all comments

Hello Community, 

 

Is it possible to change the default filter column when using Search Filter? 

 

I wanted to filter a list page by text in a specific column all the time. But in Search Filter, It changes to Everything on reloading the page. 

How can we set default column for a search filter. 

 

Any suggestions are really helpful.

 

Thanks

Gargeyi.G

 

 

Like 0

Like

1 comments

Hello,

 

Your business task can be only achieved with the help of a separate development process. 

You can use 'entity schema query' filters in particular. Here is the guide on this topic

https://academy.creatio.com/docs/developer/front_end_development/data_o…

You can also use this community post with the example of such logic https://community.creatio.com/questions/default-filter-section

Show all comments

Hi all, 

 

Just something to look out for. I recently upgraded our instance to 8.0.10 and have number of user concerns relating to existing filters now not functioning. 

 

After investigating, it appears that where I have filters with inactive parameters, the system is treating it as active. 

 

So for example in the filter below, Creatio is filtering the list by both Balance due date and total outstanding. 

 

You may want to check your filters. Has anyone else had the same issue? 

 

Like 0

Like

3 comments

Thanks for pointing this out. I've not noticed this yet, but I'm sure we've just not realized it yet.

Hello Harry,

 

Would you please submit a case at support@creatio.com and provide all the details regarding this issue, so that we can check it on our end?

 

Best regards,

Yuliya

Hi Yuliya, 

 

I have reported this to Creatio Support. 

 

It's not just an issue with existing filters, all new filters have the same bug. 

 

I have to say these small things do not give confidence. Many of our business critical lists have these filters in place and not displaying the right data to the user means they could miss something that is critical. 



For example, one of our lists shows airport transfers that are happening on a given day. Luckily we did not have a filter on this list, but if we did, there would be stranded clients waiting to be picked up at the airport! 



Also, I know it has been requested elsewhere, but it would be useful for Creatio to supply bugfixes with their updates. 

 

Thanks

Harry

Show all comments

I have an error, when i save the formula, the validator won't let me save the changes. An error is written: "Formula value error: Parameter "NumberStyles" not found". I have added the necessary System.Globalization using for compilation.

How can I solve the validation problem without changing the business process code?

 

Like 0

Like

4 comments
Best reply

The problem has solved by disabling 'UseProcessFormulaServerValidation' feature

Hello!



Could you please provide us with connected namespace details to the process?

Alona Dolya,

 Hi! I'm using two namespaces System.Globalization and Terrasoft.Configuration.Disbursement, which has only three public classes and doesn't include name "NumberStyles".

I have observed the same problem on Demo site. System.Globalization had been added into namespaces of the process

The problem has solved by disabling 'UseProcessFormulaServerValidation' feature

Show all comments

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