Hi all,

 

I have been working on one of the API which is taking Base64 data as payload.

So, I have read the data(Base64) from attachment in business process, but I am unable to pass it to the Web Service which I have created.

 

This base64 data cannot be stored in string field. Please help if there is any work around.

Like 0

Like

1 comments

Good day,

 

If you are working with data in a business process you could try converting data with the use of a script task.

Since you can use C# for scripts in processes you could try to build a conversion script from the information in these posts:

 

How do I decode a base64 encoded string?

How do I encode and decode a base64 string?

 

And also a very similar question on our Community here.

 

Hope it helps!

Show all comments

Hi community,

Is it possible to use a wildcard when using global search?

Can I search for the account called creatio using cre* in the command line?

Like 0

Like

3 comments

Hello Stefano,

 

As of now it's not possible to use a wildcard when using global search.

However the "Search by partial match" option is available for most of the GS templates:

https://academy.creatio.com/docs/user/on_site_deployment/containerized_…

 

If the template should be changes for your cloud-based site, you can create a corresponding request for the support team.

 

Best regards,

Anastasiia

 

Anastasiia Zhuravel,

Can this change affect the duplicate search results?

Hi,

 

There will be no negative impact on the search functionality, just it's parameters will be different, all of the search templates features are provided in a corresponding table of the shared above article.

 

Best regards,

Anastasiia

Show all comments

Hi everyone,

I was trying to remove edit and delete access rights from feed messages. I tried this by modifying the object permission for this object "SocialMessages". However after some investigation I reached to the point that feed is not dependent on object permissions but is something that can be modified in client-modules (front-end). I would like to know if there is a way how to remove/disable the edit and delete button.

Thanks in advance :)

Like 0

Like

5 comments
Best reply

Luis Kateshi,

 

they can be overriden it depends on the approach it's done. For example try creating a module in configurations with the UsrSocialFeedUtilities name and the following code:

define("UsrSocialFeedUtilities", ["terrasoft", "SocialFeedUtilities"], function(Terrasoft) {
    Ext.override(Terrasoft.SocialFeedUtilities, {
        getPostCommentEditVisible: function() {
                    return false;
                },
        getPostCommentDeleteVisible: function() {
            return false;
        }
    });
    return {}; 
});

and then create a repalcing view model for the SocialFeed module with the following code (where we add the created UsrSocialFeedUtilities module as a dependency):

define("SocialFeed", ["UsrSocialFeedUtilities"],
	function() {
		return {
			properties: {},
			mixins: {},
			messages: {},
			attributes: {},
			methods: {},
			diff: []
		};
 });

refresh the page in the UI and check what happens. I am sure the edit and delete buttons will be hidden.

Hi Luis,

 

Indeed this can be done by overriding the logic of the getPostCommentEditVisible and getPostCommentDeleteVisible methods from the SocialFeedUtilities module. So you need to override these methods.

Hi Oleg,

Thanks for your reply. I already tried to do this but as I see it is not possible to create a replacing client-module for "SocialFeedUtilities". And the methods u mentioned (getPostCommentEditVisible and getPostCommentDeleteVisible) seem to be private and I don't think they can be overriden. 

 

/**

         * ########## ######### ###### ############## #########/###########.

         * @private

         */

        getPostCommentEditVisible: function() {

            return this.getPostCommentEditDeleteVisible();

        },

Luis Kateshi,

 

they can be overriden it depends on the approach it's done. For example try creating a module in configurations with the UsrSocialFeedUtilities name and the following code:

define("UsrSocialFeedUtilities", ["terrasoft", "SocialFeedUtilities"], function(Terrasoft) {
    Ext.override(Terrasoft.SocialFeedUtilities, {
        getPostCommentEditVisible: function() {
                    return false;
                },
        getPostCommentDeleteVisible: function() {
            return false;
        }
    });
    return {}; 
});

and then create a repalcing view model for the SocialFeed module with the following code (where we add the created UsrSocialFeedUtilities module as a dependency):

define("SocialFeed", ["UsrSocialFeedUtilities"],
	function() {
		return {
			properties: {},
			mixins: {},
			messages: {},
			attributes: {},
			methods: {},
			diff: []
		};
 });

refresh the page in the UI and check what happens. I am sure the edit and delete buttons will be hidden.

Thank you Oleg, it worked, I appreciate your help :)

Hi Oleg Drobina, can remove/disable the edit and delete button in feed message in a specific section like an opportunity only?

Show all comments

Im trying to replicate this feature the Accounts tab has in its Addresses detail which i'm trying to replicate on a similar detail on a custom section.

Like 1

Like

4 comments
Best reply

hi Oliver Crowe,



This is found in the "BaseAddressDetailV2" schema and the corresponding method for this functionality is getEditPages().

 

The below function can be modified/overridden in your corresponding address detail (Account Address or Contact Address).

Account Address - AccountAddressDetailV2

Contact Address - ContactAddressDetailV2

			/**
			 * @inheritdoc Terrasoft.BaseSchemaViewModel#getEditPages
			 * @overridden
			 */
			getEditPages: function() {
				var menuItems = this.Ext.create("Terrasoft.BaseViewModelCollection");
				var entityStructure = this.getEntityStructure(this.entitySchemaName);
				if (entityStructure) {
					var editPage = entityStructure.pages[0];
					var addressTypes = this.get("AddressTypes");
					addressTypes.each(function(addressType) {
						var id = addressType.get("Id");
						var caption = addressType.get("Name");
						var schemaName = editPage.cardSchema;
						var item = this.getButtonMenuItem({
							Caption: caption,
							Click: {bindTo: "addRecord"},
							Tag: id,
							SchemaName: schemaName
						});
						menuItems.add(id, item);
					}, this);
				}
				return menuItems;
			},

"Address Type" is a lookup that has the values appearing as "Actual, Legal, Shipping". Also you can customize values in this lookup as well.

 

 

 

BR,

Bhoobalan Palanivelu.

Greetings,



Could you kindly describe the feature in a bit more detail? What exact function are you trying to achieve with this detail? 

Mykhailo Zeleniuk,

 

Can you see the picture in my post? When you go to enter a new record to the detail it pops up with options from the Address Type field and automatically fills that in with the selected type.

hi Oliver Crowe,



This is found in the "BaseAddressDetailV2" schema and the corresponding method for this functionality is getEditPages().

 

The below function can be modified/overridden in your corresponding address detail (Account Address or Contact Address).

Account Address - AccountAddressDetailV2

Contact Address - ContactAddressDetailV2

			/**
			 * @inheritdoc Terrasoft.BaseSchemaViewModel#getEditPages
			 * @overridden
			 */
			getEditPages: function() {
				var menuItems = this.Ext.create("Terrasoft.BaseViewModelCollection");
				var entityStructure = this.getEntityStructure(this.entitySchemaName);
				if (entityStructure) {
					var editPage = entityStructure.pages[0];
					var addressTypes = this.get("AddressTypes");
					addressTypes.each(function(addressType) {
						var id = addressType.get("Id");
						var caption = addressType.get("Name");
						var schemaName = editPage.cardSchema;
						var item = this.getButtonMenuItem({
							Caption: caption,
							Click: {bindTo: "addRecord"},
							Tag: id,
							SchemaName: schemaName
						});
						menuItems.add(id, item);
					}, this);
				}
				return menuItems;
			},

"Address Type" is a lookup that has the values appearing as "Actual, Legal, Shipping". Also you can customize values in this lookup as well.

 

 

 

BR,

Bhoobalan Palanivelu.

Bhoobalan Palanivelu,

how exactly do you access address types? I m trying to implement this on EmploymentType, but I cannot access the values in employment type. 

Show all comments

Hi Community,

 

In creatio charts, is there a way to shorten amount/count in y axis, suppose if it is one million instead of 1000000 we will show 1M for one hyndred thousand instead of 100000 we will show 100K. The display is not looking good for managers having all these zeros

 

 

Thanks

Like 3

Like

2 comments

Hello Fulgen, 

 

As of now such changes cannot be achieved with a help of basic system tools. We've registered a query for our responsible R&D team to consider implementing such functionality in the upcoming versions of the Application.

 

Best regards,

Anastasiia

Yes  +1 as high priority when presenting dashboards to management, it bothers ALL our clients, in terms of how they show numbers need a big revamp - we should be able to provide a fixed axis height or index, be able to show the numbers like here below in K or M, like 10M rather than 10000000. In terms of numbering presentation, dashboards in Creatio are really lagging behind a lot of equivalent software in graphs...

Show all comments

Hi Creatio,

 

I am trying to filter a specific contact by using ESQ by having multiple roles as filters. How can I able to achieve that on ESQ when I want to filter on Roles?

 

Here is my code:

var esq1 = Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName: "SysUserInRole"
});
esq1.addColumn("SysRole.Name", "Role");
esq1.addColumn("SysUser.Contact.Id", "ContactId");
esq1.filters.add("RoleFilter1", esq1.createColumnFilterWithParameter(
	this.Terrasoft.ComparisonType.EQUAL, "SysRole.Name", "Role1"));
esq1.filters.add("RoleFilter2", esq1.createColumnFilterWithParameter(
	this.Terrasoft.ComparisonType.EQUAL, "SysRole.Name", "Role2"));
esq1.getEntityCollection(function(result) {
if (!result.success) {
	// For example, error processing/logging.
	this.showInformationDialog("Data query error");
	return;
}
var hasAQM = result.success && !result.collection.isEmpty();
 
if(hasAQM){
	this.set("HomartOpportunityAuthQuoteManager", result.collection.getByIndex(0).$ContactId)
}
 
}, this);

Thanks,

 

Like 0

Like

1 comments

Hello,

In your code you didn't set a logical operator for a filter:

esq1.filters.logicalOperation = Terrasoft.LogicalOperatorType.OR;

By default it's AND, due to that the system tries to find values that simultaneously have two roles in one record, but it's impossible.

For example, you have a user that has "Role 1" and "Role 2".

In the SysUserInRole table, this user will have two records, one with an identical SysUser value but a different SysRole. AND operation will not work in this situation. You need to use OR and in the result collection check the values that have the same SysUser.

Show all comments

Hi Community,

 

I am trying to add a lookup column based on contact object, but unable to find the contact object. 

I have added the following package dependency,

 

I have also tried the same from Freedom UI designer, but unable to add. Is there something I am missing?

 

Regards,

Sourav

 

Like 0

Like

4 comments
Best reply

Hi Community,

 

Aparently the issue occured because the Contact section is not part of OOB creatio solution anymore (at least for Studio version). It is part of "Customer 360" marketplace app. So after installing the "Customer 360" maketplace add on the issue resolved.

 

Regards

Hi All,

 

Any comment on this ?

 

Regards,

Sourav

Hello!

Unfortunately, we did not manage to reproduce the problem on our end according to the steps above.

Please contact our support team (support@creatio.com). Please provide us with more details on how we can reproduce the issue.



Best regards,

Alona Dolya

Alona Dolya,

 

I could easily reproduce the issue just by creating a new Freedom UI section, and then trying to add a contact related column as shown below.

 

 

I am using Creatio Studio v8.0.6.3325

 

Regards,

Sourav

 

 

Hi Community,

 

Aparently the issue occured because the Contact section is not part of OOB creatio solution anymore (at least for Studio version). It is part of "Customer 360" marketplace app. So after installing the "Customer 360" maketplace add on the issue resolved.

 

Regards

Show all comments

Hi Community,

 

I was trying to filter a contact lookup to only display contacts with a specific role. I follow the example code here: https://academy.creatio.com/documents/technic-sdk/7-13/using-filtration-lookup-fields-examples but it has an error of undefined EntitySchema.

 

Can you help me to fix this? Thanks

 

Like 0

Like

2 comments

Hi,

 

I was trying to create Assemble Package and created one c# file which has dependencies on NewtonsoftJSON dll. When I tried to publish it says it required dll (attached reference). If we import the DLL into the current package it is working as expected but as per my understanding, we need to add the Assembly package dependencies on [Package name].csproj file.

 

I could see below code already presents there,



        

            False

        

        

            False

        

    

 

which means should we need to create any folder with Assemblies or we manually need to import all the package dependencies through import?

 

Thanks,

Altaf Hussian M

 

Like 0

Like

1 comments

Hi Altaf Hussian,



If it’s a regular package you can use the Newtonsoft.Json core library, but for the assembly package, the required DLL must be added to the package explicitly.



The Assembly package is like an external cs project.

If you want to use an external library like Newtonsoft.Json.dll in your project - you have to specify it as a reference for your project (using) by adding that dll to the package.



The same can be achieved by using the Terrasoft core class without adding any explicit dll reference into the package as below,

Example of the code:

using CommonJson = Terrasoft.Common.Json;
string orderItemsInput = CommonJson.Json.Serialize("YourObject");
string orderItemsInput = Terrasoft.Common.Json.Json.Serialize("yourObject");



Terrasoft.Common.Json

Serialize Polymorphism

 

 

BR,

Bhoobalan Palanivelu.

Show all comments

Hi community,

How can I  change the min password length for a user from 9 to 6?

And where can I find information about special symbols for passwords?

Like 0

Like

1 comments