Hello team,

 

I have written a script using SEQUENCE & TRIGGERS for PostGres to auto increment the record number. This was a decision taken to avoid writing multiple codes through JS and Server side because we get inputs from a lot of sources - 3rd party integration, manual entry & business process.

 

While our trigger works well, we noticed that using odata, the response returned does not have the auto numbered value, whereas the auto numbering is indeed getting stored in the data base.

 

The question is, does Odata response for POST requests get triggered after all DB triggers are completed or does it happen just before a record is inserted into the DB?



PS: I tried triggers using BEFORE update and it did not work

Like 0

Like

1 comments

Hello,

This question needs to be analyzed mo deeply, but, based on your information, the POST request isn't affected by all the DB triggers and therefore happens before the insert.

Also, a small note, if you have autonumbering both on the JS and Server side than a new number will be generated no matter what is the source of the object (data, business process, etc).

Show all comments

Is there any way to restrict number of file to be attached in the attachment detail tab.

I need a situation like user have to attach only one file in the section wizard and not more than that

Like 0

Like

2 comments

Hello,

 

Your business task requires additional development, as of now it cannot be achieved with basic tools only. 

 

We've registered a query for our responsible R&D team to implement the described functionality in the upcoming versions of a system.



Best regards,

Anastasiia

Kavya,

 

To achieve your business task follow the below approach,

Create a replacing module for "FileDetailV2" and add the below code,

define("FileDetailV2", [], function() {
	return {
		mixins: {},
		attributes: {},
		methods: {
			onFileSelect: function(files) {
				var fileSchemaName = this.entitySchemaName;
				if(files.length > 1 && fileSchemaName == "UsrCustomObjectFile"){ //Your file object name goes here
					this.showInformationDialog("More than 1 files are not allowed.");
					return;
				}else{
					this.callParent(arguments);
				}
			},
			upload: function(config, callback) {
				var fileSchemaName = this.entitySchemaName;
				if(fileSchemaName == "UsrCustomObjectFile"){ //Your file object name goes here
					this.CustomAttachmentCountValidation(config);
				}else{
					this.callParent(arguments);
				}
			},
			CustomAttachmentCountValidation: function(config, callback){
				var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
					rootSchemaName: this.entitySchemaName 
				});
				esq.filters.addItem(esq.createColumnFilterWithParameter(
					Terrasoft.ComparisonType.EQUAL, "UsrConnectedColumn", this.get("MasterRecordId")));	//Master entity Connected column
				esq.getEntityCollection(function (result) {
					if (result.success && result.collection.getCount() > 0) {
						this.showInformationDialog("More than 1 files are not allowed.");
					}else {
						this.Terrasoft.ConfigurationFileApi.upload(config, callback);
					}
				}, this);
			},
		}
	};
});

Let me know if this helps in achieving your objective.

 

Warm Regards,

Sourav Kumar Samal

Show all comments

Has anyone successfully implemented the MiContact Center connector for Creatio?

 

We have it working for click to dial but there is no inbound calling functionality working.

 

Can anyone provide details on how it should work and what functions it has?

Like 1

Like

1 comments

Hi community, 

 

I am looking to place a custom script (widget) to display on all pages. Does anyone know the best way to do this? 



I have adjusted system setting to activate google tag manager, but not having any luck displaying the widget. 





Thanks!

Harry

Like 0

Like

4 comments

Greetings,



Your can implement such behavior by following our guide on the Academy page: https://academy.creatio.com/docs/developer/interface_elements/dashboard…

Hi Mykhailo, I was referring to a chat "widget" or in this exact instance a widget that the team can use to report bugs in Creatio (implementation) or request features. 

Hi Harry,

 

You need to add additional button to the ContextHelpSchema (for example like it's done for the askSupportMenuItem in the schema diff):

{
				"operation": "insert",
				"name": "askSupportMenuItem",
				"parentName": "HelpButton",
				"propertyName": "menu",
				"values": {
					"caption": {"bindTo": "Resources.Strings.AskSupport"},
					"markerValue": {"bindTo": "Resources.Strings.AskSupport"},
					"itemType": this.Terrasoft.ViewItemType.MENU_ITEM,
					"click": {"bindTo": "callMailTo"},
					"tag": "support",
					"imageConfig": resources.localizableImages.Support
				}
			},

and in your custom button you can either use already implemented callMailTo method (so your users could report bugs or features via email) or create your own method (to open some URL or oepn some page). As a result this button will be available on any page and your business task will be achieved.

Hi Oscar, 



Thank you for the input. 



I am actually just simply looking to allow an external script to be run, so my widget can appear at the bottom right of the screen. I am using https://gleap.io , but this is similar to any third party chat app. 



Is there anything stopping this from working as it seems like Google is picking up the G-tag. 

 

Thanks

Show all comments

Hello Community,

How to write the auto-numbering of field using Stored procedure SQL

 

Thanks In Advance

 

Like 0

Like

5 comments

Hello,

 

Please note that autonumbering became available starting from Creatio version 8.0.5, you can find more info in this Creatio article and this:

 

It is now possible to number new records in Freedom UI automatically quicker and easier using the [ Autonumber ] field. You can set the number prefix and change the quantity of digits in the number. Creatio populates the field both when you add a record manually and when a business process or integration add it.

 

Mira Dmitruk,

Yes but i need this for the 8.0.0 version

Honey,

 

In such case this article should provide the needed instructions.

Mira Dmitruk,

Thanks but the requirement is with stored procedure 

Mira Dmitruk,

Hello, We have a cloud instance where we need to run auto increment based after insertion. Do we have any examples ?

Show all comments

Hi,



Not sure if I missed it, or if it is not implemented yet. Where can I find the equivalent of "field filter values" in standard UI business rules  (image below) for a Freedom UI Form page ?



Like 0

Like

3 comments

It doesn't exist yet in the page editor. However, you can set it up manually, although it's a bit tedious. If you refer to this thread https://community.creatio.com/questions/filtering-lookup-freedom-ui-hel…;

Oleg outlines how to set it up like a business rule. I also outline how to handle the lookups request to load it's data source and then create the filter t that time (which makes it easier to refer to other values in the page that you want to use in the filter). 

Ryan

Ryan Farley,

 

Hi,



just read the 8.0.7 release notes ""Advanced business rule conditions. It is now possible to set up more advanced business rules using system settings and system variables in business rule conditions. For example, you can set up a rule that displays the [ Results ] field if the current user is the record owner.""



Do you think it covers this functionality ?

 

Damian

 

Is this already available in latest version of freedom UI?

 

Show all comments

Dear mates,

In one of our dashboard block, i want to display the sum of the opportunity value.

It works fine, but the currency is $

How can i change it to € ?

Thank you !

Nicolas

Like 0

Like

1 comments

Hello Community,

I have data-binded the organizational and functional roles, while importing it to another instance it shows an error.

 



Thanks in Advance

Yasaswini I

Like 0

Like

4 comments

Hello!



Every time when we want to import data with changes in SysAdminUnit we should do the following:



1. disable trigger TRSysAdminUnitRoot

2. install the package with data

3. enable trigger TRSysAdminUnitRoot



Kind regards,

Vladimir

Vladimir Sokolov,

Thank You

Vladimir Sokolov,

Hello Vladimir,

 

Where I can found this trigger?

Can someone in Creatio please improve this? Deploying certain Org Roles is essential, it makes very little sense for this to not be possible. It really causes a lot of problems. The error I get in the deployment logs before following Vladimir's suggestion is the following (as I couldn't see any pages mentioning it when searching before):

P0001: Cannot add root administering unit. Invalid unit type specified.

 

I can confirm that disabling the trigger worked for deploying for me in Postgres envs, but it's concerning this kind of workaround is needed. In our case, we used the following SQL Script set to run before package installation:

ALTER TABLE "SysAdminUnit" DISABLE TRIGGER "TRSysAdminUnitRoot";

And then the following SQL script set to run after schema data installation:

ALTER TABLE "SysAdminUnit" ENABLE TRIGGER "TRSysAdminUnitRoot";
Show all comments

Hi,

I'm new in Creatio. I'm testing the integrations capabilities and I feel uncomfortable with Oauth. I want my user to log into the web service every time they acess my Creatio app. I want the protocol to retrieve their permissions/scopes in order to ensure they can access the data. In Creatio, all is performed on behalf of the user specified in the "Shared User" field. I don't want my users to use those credentials. Is there a way to bypass this ?

 

Like 0

Like

3 comments

Hello!

 

OAuth (Open Authorization) is a trusted, widely used standard protocol for authentication and authorization. It allows users to grant access to their resources on one website or application to a third-party application without disclosing their credentials, such as username and password. This approach enhances security and reduces the risk of credential theft. 

 

According to the basic logic of OAuth, the connection is created only once and only for one user. You can create another connection for the new user, however, there is no alternative way to bypass the logic as you described.

 

Hope the information was useful.

Hi,

 

Thank you for your answer. In that case, I am very curious about how you refresh the token given by the third party application. Essentially, what happens when the token expires ?

Thibault Cros,

To get a refresh_token, it will be necessary to add settings for "Auth code request URL" as it is described here: https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps/#how-do-i-get-a-new-access-token--if-my-access-token-expires-or-is-revoked-

 

We will be glad to help with any other questions.

Show all comments

Hello team, 

While compiling i get the following error

2023-02-28 00:25:54,747 [75] ERROR IIS APPPOOL\test_site Build BuildInternal - An error occured while running dotnet cli

System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified

   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)

   at Terrasoft.Core.Compilation.ProjectBuilder.BuildInternal(String projectFilePath, String tempPath, BuildCommandParameters parameters).

 

I have already tried the suggestion in this thread : https://community.creatio.com/questions/buildcompile-error

and still keep getting the same error

Sasori

Like 0

Like

3 comments

Sasori Oshigaki



Can you please share the complete error captured in log file?

Hi Bhoobalan Palanivelu,

The one mentioned is the complete error in the BuildLog file

Regards

Make sure the IIS AppPool user has full write access to CreatioWebroot\Terrasoft.WebApp\Configuration

Ryan

Show all comments